реклама на сайте
подробности

 
 
> Переход с AXI в обычный параллельный интерфейс, Надо перейти с AXI в параллельный интерфейс для записи в BRAM
videoscan
сообщение Aug 27 2018, 09:30
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 57
Регистрация: 16-09-14
Из: Москва
Пользователь №: 82 826



Народ!

Вводные данные:
- проект на Xilinx UltraScale+ (боард VCU118);
- часть содержимого пишется на HLS, часть на VeryLog.

Имеется следующая проблема:
- в проекте реализована связь с SDRAM DDR4 с использованием интерфейса AXI (на самом деле пока не реализована, но IP такой функции в Vivado есть);
- после того, как мы получили данные с DDR4 нам нужно передать их в память BRAM с обычным внешним интерфейсом (адрес, данные, запись, клок);
- сразу скажу использовать в памяти, на которую надо передать данные, интерфейс AXI невозможно, по ряду причин.

Пролистал библиотеку IP с AXI - нужного перехода не нашел. Что делать? Есть ли какие мысли?
Как вообще данные, живущие в Xilinx на AXI переходят в обычные?
Одно решение вроде как есть - использовать в интерфейсе c DDR4 не AXI, а параллельный интерфейс, но в будущем в проект будет добавлен PCI-e, а он только на AXI и работает, так что эту проблему все равно решать надо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MegaVolt
сообщение Aug 27 2018, 18:10
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



А можно всё же узнать что за задача. Тогда будет проще предложить как её решать.
Go to the top of the page
 
+Quote Post
videoscan
сообщение Aug 29 2018, 07:22
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 57
Регистрация: 16-09-14
Из: Москва
Пользователь №: 82 826



Цитата(MegaVolt @ Aug 27 2018, 19:10) *
А можно всё же узнать что за задача. Тогда будет проще предложить как её решать.

Имеется 6 буферов памяти 256*256 слов по 2 байта. Каждый из этих буферов делится директивой ARRAY_PARTITION на 32 куска (с опцией cyclic).
В эту память нужно очень быстро принимать данные из DDR4.
Обработка данных производится на модуле, написанном на HLS.
Память организована с внешним интерфейсом ap_memory.
На уровне ощущений мне кажется, что использование AXI в интерфейсе памяти затормозит работу вычислителя (а это для нас критично). Однако мы попробовали.
При попытке организовать интерфейс этой памяти как AXI (директивами INTERFACE с опцией s_axi) Synthesis делается очень долго (реально я не дождался его конца, ждал 4 часа).
С использованием ap_memory Synthesis проекта делается за 2-5 минут.


Вот и получается, что нам нужно прочесть данные с DDR4 (они идут на AXI) и записать их в память (ap_memory).

Сообщение отредактировал videoscan - Aug 29 2018, 07:37
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Aug 29 2018, 08:07
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(videoscan @ Aug 29 2018, 10:22) *
Имеется 6 буферов памяти 256*256 слов по 2 байта. Каждый из этих буферов делится директивой ARRAY_PARTITION на 32 куска (с опцией cyclic).
В эту память нужно очень быстро принимать данные из DDR4.
Получается из HLS модуля торчит 6 * 32 ap_memoty интерфейсов 2Kx16 каждый
которые цепляются к одному из портов BRAM объявленых снаружи HLS?

Цитата(videoscan @ Aug 29 2018, 10:22) *
Вот и получается, что нам нужно прочесть данные с DDR4 (они идут на AXI) и записать их в память (ap_memory).
Цепляем wr_data всех вторых портов BRAM параллельно к выходу например AXI Data Mover (если не хочется свою реализацию AXI read делать). Все адреса BRAM параллельно на младшие биты счетчика, старшими битами этого счетчика выбираем wr_en требуемой BRAM, счетчик считает принятые слова на выходе Data Mover. FSM программируем Data Mover на чтение 128K байт - по окончанию запускаем Ваш HSL модуль. И всех делов то. sm.gif
А если еще сделать BRAM разной ширины по портам (со стороны DDR шире) то можно с экономить время на загрузку данных.

Удачи! Rob.

Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 23:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01401 секунд с 7
ELECTRONIX ©2004-2016