Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Zero latency FIFO for Altera Stratix IV
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
SamuraY
Здравствуйте уважаемые знатоки! sm.gif Делаю проект для Stratix IV. Понадобилась очередь с нулевой задержкой между входом и выходом. Чтобы данные на выходе появлялись в том же цикле, в котором производится запись. Причем на встроенной памяти (на триггерах будет сильно расточительно). У мегафункции scfifo в режиме showahead (который мне и нужен) задержка составляет 1 цикл с нерегистриуемым выходом и 2 цикла в противном случае. Однако для микросхем Xilinx, на сколько я понял, их генератор мегафункций может создавать очереди с нулевой задержкой. Нашел патент Xilinx в котором описан принцип работы таких очередей. Почему подобных решений нет для Altera не знаю. Возможно из-за прав на интеллектуальную собственность, возможно я просто плохо искал. Посмотрел патент и с ходу не разобрался в принципе работы устройства. Для начала решил обратиться сюда на форум. Если у кого нибудь есть исходники такой очереди, буду очень признателен за помощь. В противном случае придется разбирать патент и пробовать делать самому sm.gif
des00
без патентов пишется в ручную минут за 15ть sm.gif
bogaev_roman
Цитата(SamuraY @ May 31 2011, 23:25) *
Причем на встроенной памяти (на триггерах будет сильно расточительно).

Встроенная для stratix iv это M9K или M144K, а у них между записью и появлением значения на выходе минимум такт задержки (т.е. физически они сделаны так, что на адресном входе и входе данных стоит триггер - задержка один такт, так же стоит триггер на чтение, но его можно отключить и Вы это и сделали в режиме showahead), так что только на триггерах без задержки.
des00
Цитата(bogaev_roman @ Jun 1 2011, 00:28) *
так что только на триггерах без задержки.

можно и на ней сделать такое фифо. я делал для своего опенсорсного проекта, но не выложил, т.к. не успел все закончить
bogaev_roman
Цитата(des00 @ Jun 1 2011, 09:33) *
можно и на ней сделать такое фифо. я делал для своего опенсорсного проекта, но не выложил, т.к. не успел все закончить

Может опишете коротко суть, было бы интересно? Смотрю в chipplanner на реализацию M9K - все входы перед памятью заводятся на регистры (адреса, данные, разрешения), понятно, что чтение из памяти можно сформировать заранее, но запись то заранее сформироваь нельзя?
des00
Цитата(bogaev_roman @ Jun 1 2011, 00:40) *
Смотрю в chipplanner на реализацию M9K - все входы перед памятью заводятся на регистры (адреса, данные, разрешения), понятно, что чтение из памяти можно сформировать заранее, но запись то заранее сформироваь нельзя?

а кто сказал что такое фифо делается только на памяти ? байпасик добавляется + логика управления biggrin.gif
bogaev_roman
Цитата(des00 @ Jun 1 2011, 09:42) *
а кто сказал что такое фифо делается только на памяти ? байпасик добавляется + логика управления biggrin.gif

rolleyes.gif Ну я почему-то так и думал, то есть регистры все-таки используете в дополнение к памяти (ну помимо обвязки), а задержка на самой памяти все-таки один такт?
ЗЫ//Все-таки если будет время - выложите, если не сложно, Вашу реализацию, было бы интересно взглянуть.
des00
Цитата(bogaev_roman @ Jun 1 2011, 00:51) *
rolleyes.gif Ну я почему-то так и думал, то есть регистры все-таки используете в дополнение к памяти (ну помимо обвязки), а задержка на самой памяти все-таки один такт?

именно так
Цитата
ЗЫ//Все-таки если будет время - выложите, если не сложно, Вашу реализацию, было бы интересно взглянуть.

если не забуду. сейчас реверсю альтеровский кодер РС, вот думаю выложить рядом с бчх кодером для всех что ли
SamuraY
Спасибо всем за ответы! Я тоже изначально думал про байпасс, но не получилось реализовать логику управления, чтобы фифо работало корректно. Вы меня обнадежили sm.gif Продолжу работы в этом направлении!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.