Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Altera TSE - проблемы с приёмом
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
MIX@
Здравствуйте, гуру TSE sm.gif

Суть проблемы: при генерации TSE c помощью Megawizard и Qsys получаются разные временные диаграммы на интерфейсе приёма (receive avalon-st). Настройки блоков идентичны. Версия квартуса 11.1 без сервис паков.
Разница видна на 9-ом такте, где мой блок снимает сигнал готовности.
В случае TSE_Megawizard - сигнал валидности данных (rx_wren) снимается через 2 (!!!) такта после снятия rx_rdy. Соответственно, в этот период данные тоже продолжают течь - меняется шина rx_data.
В случае TSE_Qsys - rx_wren вообще не снимается, но данные при этом перестают течь в аккурат через такт после снятия rx_rdy.

Диаграммы получил с помощью SignalTap II.

Собственно, вопроса два:
1) Почему наблюдается разница в поведении одного и того же блока, сгенерированного разными способами?
2) Кто-нибудь в курсе латентности снятия сигнала rx_wren после снятия сигнала rx_rdy? В доках сказано, что rx_rdy анализируется на следующий такт после установки и всё. И что при этом происходит - загадка. А на
приведённых в мануале временных диаграммах, демонстрирующих работу приёмного интерфейса сигнал готовности поднят постоянно.

Временная диаграмма работы TSE_Megawizard
Нажмите для просмотра прикрепленного файла

Временная диаграмма работы TSE_Qsys
Нажмите для просмотра прикрепленного файла
MIX@
Вопросы прояснились после обращения в альтеровский саппорт.

1) Результаты получаются разными, т.к. QSys автоматом вставляет Avalon-St Timing Adapter
2) Латентность сигнала rx_wren относительно rx_rdy составляет 2 такта при использовании TSE c внутренним буфером и 0 при использовании без буфера.

Вообщем, руками вставил Timing Adapter - получил латентность в 1 такт, что мне и требовалось sm.gif
Есть правда некоторые непонятные мне вещи (например, QSys считает что у TSE латентность rx_rdy всегда 0, независимо от наличия в нём буферов, а если посмотреть сгенерированный Timing Adapter в RTL-вьювере, то FIFO создаётся только для сигнала rx_rdy, но не для данных), но на функциональности они не сказываются.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.