Простые управляющие сигналы сумматора на Zynq SoC - Zedboard

Я новичок в Zedboard и работаю над переносом сложного аппаратного ускорителя, который сейчас работает на обычной плате FPGA. В любом случае, я хочу ходить, прежде чем смогу бегать, поэтому я сделал учебники по спидвею Zedboard и теперь играю с небольшими проектами. Мой первый из них - простой ускоритель сумматора:

-Отправить 2 числа на pl(программируемая логика), на reg a и b

- pl добавляет числа

- прерывание PS(CPU) сигнализирует о завершении вычислений.

-В ISR PS считывает результат из reg c

Для этого дизайна я использую 3 регистра (a,b,c) в соединении AXI, я создал шаблоны IP, используя CIP.

В принципе, как лучше всего отправить управляющий сигнал, чтобы включить добавление в PL. Итак, как я должен сообщить сумматору PL, что я загрузил два числа в регистры a и b и теперь хочу их добавить?

-Должен ли я создать межсоединение GPIO с 1-битным сигналом, добавить 4-й 1-битный регистр управления к IP? или есть более «стильный» способ сделать это с помощью сигналов BUS2IPdata?

-Или есть другой способ создать настраиваемые сигналы включения управления PS для PL?

Большое спасибо Сэм

Текущая идея:

-Создать переключатель в user_logic HDL на основе BUS2IPWrCE, поэтому, когда это утверждается для записи в reg B, я могу затем подать сигнал разрешения на мой сумматор? Или я столкнусь с некоторыми проблемами параллелизма, когда данные не будут полностью записаны сразу?


person Sam Palmer    schedule 04.10.2013    source источник
comment
Идите, прежде чем вы сможете бежать: это говорит о том, что используйте GPIO в качестве первого шага. Он отлично справится с несколькими переключателями, регистрами и индикаторами (дисплеем?). Позже вы можете разработать собственное периферийное устройство AXI, если вам нужно избежать дополнительного аппаратного уровня или если драйверы GPIO слишком медленные.   -  person user_1818839    schedule 05.10.2013


Ответы (2)


Поэтому для этого я создал AXI perph с помощью CIP, затем изменил used_logic и два новых порта, en и interrupt. Следуя этим инструкциям, я использовал эти внешние подключения. автор.asp?section_id=2142&doc_id=264841

Затем я подключил эти два внешних соединения к интерфейсам GPIO, чтобы обеспечить необходимую функциональность.

person Sam Palmer    schedule 05.10.2013

В ваших более крупных проектах будет сложно получить производительность, используя GPIO для управления планированием ваших ускорителей. Я предлагаю настроить FIFO командных блоков между программным и аппаратным обеспечением.

Например, ваше периферийное устройство может реализовать ведомое устройство AXI Stream для получения команд от программного обеспечения и ведущее устройство AXI Stream для отправки индикации результатов обратно в программное обеспечение.

Он может установить прерывание, чтобы указать, что в ответном FIFO есть значения.

Для повышения производительности настройте эти FIFO в DRAM и используйте мастера чтения/записи AXI в своем периферийном устройстве.

person Jamey Hicks    schedule 23.05.2014