sonycman 0 30 июня, 2017 Опубликовано 30 июня, 2017 · Жалоба Доброго времени суток! Использую 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? Это позволит понять, что слэйв на стороне моста принял данные, но вот записал ли он их?... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 30 июня, 2017 Опубликовано 30 июня, 2017 · Жалоба Было такое на Zynq, все работало нормально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 1 июля, 2017 Опубликовано 1 июля, 2017 · Жалоба Было такое на Zynq, все работало нормально. На цинке нет авалона, там сложный AXI. В нём, наверное, есть спец. линии, подобные response в авалоне. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
g700 0 1 июля, 2017 Опубликовано 1 июля, 2017 (изменено) · Жалоба Используйте сигналы response. Глубина буффера в самом sdram на запись 8 ( стр. 4-2 ). Так, что можно сделать так: пришел response спустя 8 тактов IRQ. https://www.altera.com/content/dam/altera-w...troller_hps.pdf Изменено 1 июля, 2017 пользователем g700 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 1 июля, 2017 Опубликовано 1 июля, 2017 · Жалоба Используйте сигналы 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. Буду пробовать! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 7 июля, 2017 Опубликовано 7 июля, 2017 · Жалоба Блин, почитал внимательнее доку по хардовому контроллеру DDR SDRAM - для шины Авалон нет поддержки подтверждения записи (write response). Получается, нужен AXI. Насколько я понял, в циклоне AXI-3. Попробую написать мастер для записи. Подумал тут - лучше воспользоваться портом ACP, чтобы сразу делать запись в кеш процессора. Будет быстрее, чем напрямую в sdram. Кто нибудь работал с ACP? Там кучу условий надо выполнить. Доступ к нему через мост FPGA->HPS, который AXI3, но что интересно - для доступа к ACP нужны сигналы AxUSER AXI4! Я не пойму, почему такая мешанина разных шин? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
starley 0 13 июля, 2017 Опубликовано 13 июля, 2017 · Жалоба Общепринятая практика для гарантированного завершения записей - выполнить чтение хотя бы одного слова из того устройства, куда была запись. Это заставит все промежуточные мосты завершить все застявшие в их буферах записи перед выполнением этого чтения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 21 июля, 2017 Опубликовано 21 июля, 2017 · Жалоба 2 sonycman Если ещё интересен ACP, гляньте XAPP1170 + cdma_acp_design.zip (AR#50826) - это для хилых, но принцип работы думаю будет понятен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 21 июля, 2017 Опубликовано 21 июля, 2017 · Жалоба 2 sonycman Если ещё интересен ACP, гляньте XAPP1170 + cdma_acp_design.zip (AR#50826) - это для хилых, но принцип работы думаю будет понятен. Спасибо, запустил уже обмен через ACP. Когда данных не много, пусть лежат себе в кэше, даже запись в SDRAM может не потребоваться. ЗЫ: не знаю, как у хилых, но у альтеры создание порта AXI не очень удобно - требуется, чтобы присутствовали практически все сигналы для всех каналов - и записи, и чтения. Было бы лучше, если бы система QSys не заставляла описывать не используемые каналы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться