Перейти к содержанию
    

Pasha

Участник
  • Постов

    12
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. В даташите на микросхему есть пример подключения к трансформатору с импендансом 1:4, но нарисован трансформатор без общей точки на вторичной обмотке. А у Maba-007237-ETC410 общая точка есть. Возник вопрос 1:4 получается между выводами катушки. Или между каждым выводом и общей точкой получаем 1:4 ?
  2. Это вы, я так понимаю, линукс загружаете или работаете из под линукса? А на Виндоус что-то подобное есть? Забыл написать, что для Виндоуса. В проекте нет операционной системы. Просто хардвейр и софтвейр части и фсбл для загрузки. Все уже в boot.bin собрано и из проекта через сдк нормально прогружается.
  3. Плата arty z7-7020. Boot.bin создал. С sd работает, с qspi работает. Есть ли возможность загружать boot.bin без использования конкретного проекта, например на других ПК? Попытался открыть sdk без проекта железа. При выборе "Program Flesh" ругается на отсутствие спецификации железа. Есть ли варианты прошить не через sdk? Ведь фсбл, совтовая и железная части уже есть в boot.bin
  4. Очень странно. В тексте не проходило. А через интерфейс, вами подсказанный, асинхронные группы создались и прописались в xdc файл.
  5. Здравствуйте. Я новичек в этом деле. Пока удалось только пины назначить. Создал проект на arty Z7-20. Вылезли временные ошибки на этапе имплементации. Почитал тему ниже, статьи на фпга сусмем, предложенные там. Попробовал объявить клоки асинхроными. Сделал запись: create_clock -period 10.000 -name fclk_clk0 -waveform {0.000 5.000} [get_pins design_1/processign_system7_0/FCLK_CLK0] create_clock -period 50.000 -name fclk_clk1 -waveform {0.000 25.000} [get_pins design_1/processign_system7_0/FCLK_CLK1] set_clock_groups -name cdc_async -group [get_clocks clk_fpga_0] -group [get_clocks clk_fpga_1] –asynchronous Вивадо выдает следующее: [Vivado 12-4739] create_clock:No valid object(s) found for '-objects [get_pins design_1/processign_system7_0/FCLK_CLK0]'. [Vivado 12-4739] set_clock_groups:No valid object(s) found for '-group [get_clocks clk_fpga_0]'. [Vivado 12-4739] set_clock_groups:No valid object(s) found for '-group [get_clocks clk_fpga_1]'. Получается я использую не те имена или не те пути? Где найти правильные пути и имена?
  6. Похоже я неправильно понял работу AXI stream. Получается, если я буду успевать снимать m_axis_tvalid до следующего m_axis_tready, то спокойно смогу дождаться следующий отчёт и выставить m_axis_tvalid, а m_axis_tlast выставить только на последнем отчёте? А распихивать по адресам в DDR уже программист будет или это тоже аппаратно настраивается?
  7. По запросу с ПК. Нечасто, секунды, а то и через десяток секунд. По 1000 отчетов. И возможно будет вариант с кольцевым буфером, когда самый старый отчёт будет переписываться новым. Поэтому возможность задать адрес должна быть. AXI Data mover начал смотреть. Ещё пытаюсь разобраться со встроенным DMAC PL Peripheral request interface. Там, судя по управлению, можно отсылать по одному слову. Но непонятно как к нему шину AXI прикрутить и как между собой они согласовываются. Примеров его реализации тоже не нашел ни одного.
  8. Я наверное не правильно объясняю. Суть в том, что раз в 40 микросекунд в ПЛИС поступают последовательно данные 64 бита. Мне нужно отправить эти 64 бита в какой-то адрес памяти на PS и ждать 40 милисекунд следующие 64 бита, чтобы положить их в следующий адрес. А когда процессору будет нужно он их уже оттуда передаст в ПК. Как я понял, в случае axi-stream я сначала должен все данные собрать в ОЗУ ПЛИС, а потом целиком передать весь пакет. Но процессор итак из ОЗУ ПЛИС может забрать через свой master-axi. Суть в том, чтобы избавиться от ОЗУ в ПЛИС и работать с DDR напрямую.
  9. А если я прикручу мастер интерфейс axi-lite. Подключу его к интерконекту. А потом к интерфейсу slave axi-lite в процессорной системе. И буду посылать раз в несколько десятков милисекунд 2 слова по 32 байта в нужные мне адреса. А когда передам нужное количество просто дам прерывание. Так будет работать или обязательно нужен axi-dma, что бы он доступ к памяти обеспечивал?
  10. А можно сразу axi-lite со своего ip-ядра вывести. Потому что стрим впринципе не очень подходит. Мне адрес инкрементировать нужно. А по встроенному DMA Controller Peripheral request interface можете подсказать как работает. Там отдельный интерфейс ахи через интерконнект и отдельный на работу контроллера?
  11. А если без AXI? Нашел в PS на странице PS-PL Configuration вкладку DMA Controller > Peripheral request interface. Через него может работать? А то вручную организовывать AXI4stream master для меня та ещё задачка =)
  12. На данный момент принимаю в плис отчёты по 64бита и складываю их в ОЗУ внутри своего ip-ядра ПЛИС. Когда нужно процессор у меня их забирает через AXI, кладет в динамическую память, потом отправляет по юзернету. Поставили задачу отправлять отчёты сразу в динамическкю память из ip-ядра, не складируя в отдельной памяти ядра. Предположили, что через dma контролёр это можно организовать. Плата arty Z7-20. Возможна ли реализация? Если возможна, то выходной интерфейс своего ip-ядра тоже AXI нужно пилить?
×
×
  • Создать...