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

Custom IP -> SDRAM Memory Write

Доброго времени суток!

 

Использую Cyclone V SoC.

Планирую в своей корке использовать простенький DMA для записи обработанных данных в память SDRAM процессора HPS.

 

Интерфейс у корки простой - Avalon MM, далее через мост FPGA->HPS.

Затем буду сигналить линию IRQ в качестве флага, что данные записаны в память.

 

Но вот как быть уверенным, что на момент поднятия IRQ данные на самом деле будут лежать в памяти?

 

Насколько я знаю, Qsys Interconnect генерирует промежуточное FIFO, затем Сlock Crossing Bridge и прочую необходимую логику.

То есть момент, когда Avalon MM со стороны FPGA->HPS моста принял данные, совсем не говорит о том, что они уже записаны в память.

Насколько я понимаю.

 

Как узнать, когда на самом деле данные будут записаны, чтобы процессор мог без проблем их прочитать?

 

Может быть, стоит задействовать сигналы response интерфейса Avalon MM?

Это позволит понять, что слэйв на стороне моста принял данные, но вот записал ли он их?...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Было такое на Zynq, все работало нормально.

На цинке нет авалона, там сложный AXI.

В нём, наверное, есть спец. линии, подобные response в авалоне.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Используйте сигналы response. Глубина буффера в самом sdram на запись 8 ( стр. 4-2 ). Так, что можно сделать так: пришел response спустя 8 тактов IRQ.

https://www.altera.com/content/dam/altera-w...troller_hps.pdf

Изменено пользователем g700

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Используйте сигналы response. Глубина буффера в самом sdram на запись 8 ( стр. 4-2 ). Так, что можно сделать так: пришел response спустя 8 тактов IRQ.

https://www.altera.com/content/dam/altera-w...troller_hps.pdf

Да, спасибо!

 

Данные пойдут через AvalonMM Master -> мост FPGA->HPS и дальше ->L3 Interconnect->32 bit AXI->SDRAM Controller.

То есть сигналы write response со стороны AXI должны быть автоматически согласованы Qsys Interconnect с сигналами response моего AvalonMM Master.

 

Буду пробовать!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Блин, почитал внимательнее доку по хардовому контроллеру DDR SDRAM - для шины Авалон нет поддержки подтверждения записи (write response).

Получается, нужен AXI.

 

Насколько я понял, в циклоне AXI-3.

Попробую написать мастер для записи.

 

Подумал тут - лучше воспользоваться портом ACP, чтобы сразу делать запись в кеш процессора.

Будет быстрее, чем напрямую в sdram.

 

Кто нибудь работал с ACP? Там кучу условий надо выполнить.

Доступ к нему через мост FPGA->HPS, который AXI3, но что интересно - для доступа к ACP нужны сигналы AxUSER AXI4!

 

Я не пойму, почему такая мешанина разных шин?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Общепринятая практика для гарантированного завершения записей - выполнить чтение хотя бы одного слова из того устройства, куда была запись. Это заставит все промежуточные мосты завершить все застявшие в их буферах записи перед выполнением этого чтения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 sonycman

Если ещё интересен ACP, гляньте XAPP1170 + cdma_acp_design.zip (AR#50826) - это для хилых, но принцип работы думаю будет понятен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 sonycman

Если ещё интересен ACP, гляньте XAPP1170 + cdma_acp_design.zip (AR#50826) - это для хилых, но принцип работы думаю будет понятен.

Спасибо, запустил уже обмен через ACP.

Когда данных не много, пусть лежат себе в кэше, даже запись в SDRAM может не потребоваться.

 

ЗЫ: не знаю, как у хилых, но у альтеры создание порта AXI не очень удобно - требуется, чтобы присутствовали практически все сигналы для всех каналов - и записи, и чтения.

Было бы лучше, если бы система QSys не заставляла описывать не используемые каналы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...