|
нужен совет по реализации Asynchronous FIFO |
|
|
|
 |
Ответов
|
Nov 8 2005, 01:50
|

Участник

Группа: Новичок
Сообщений: 17
Регистрация: 29-10-05
Пользователь №: 10 268

|
Принцип следующий (так у меня в проекте на Альтере сделано). Берется синхронная FIFO, т.е. с одним клоком и входами разрешения чтения RDEna и разрешения записи WREna. На клок фифо вешается высокая тактовая частота, скажем Fт. Тактовый сигнал чтения (пусть будет RDClk, частота Frd) заводишь на вход запуска одновибратора. Сам одновибратор тактируется по частоте Fт. В AHLD одновибратор строится буквально на двух триггерах DFF, который формирует одиночный импульс длительностью T = 1/Fт, по какому тебе угодно перепаду сигнала RDClock. Этот самый импульс и используешь как импульс разрешения чтения RDEna, тогда будет все читаться однократно. А теперь ОГРАНИЧЕНИЯ: После перепада сигнала RDClock удерживать его не менее Т, гарантированное чтение с выхода фифо производить не ранее чем через 2Т после перепада сигнала RDClock, следствие, 2Frd < Fт. Если же уделить внимание метастабильности, то добавьте еще один триггер: http://www.elvira.ru/_files/tektronix.pdf
--------------------
"Слабые места любого проекта любят собираться в группы" - Пятый закон проектирования. "Двусмысленность инвариантна" - Принцип неопределенности Хартца. Законы мерфи (с) А. БЛОХ.
|
|
|
|
|
Nov 8 2005, 05:18
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Coryphae @ Nov 7 2005, 20:50)  Принцип следующий (так у меня в проекте на Альтере сделано). Берется синхронная FIFO, т.е. с одним клоком и входами разрешения чтения RDEna и разрешения записи WREna. На клок фифо вешается высокая тактовая частота, скажем Fт. Тактовый сигнал чтения (пусть будет RDClk, частота Frd) заводишь на вход запуска одновибратора. Сам одновибратор тактируется по частоте Fт. В AHLD одновибратор строится буквально на двух триггерах DFF, который формирует одиночный импульс длительностью T = 1/Fт, по какому тебе угодно перепаду сигнала RDClock. Этот самый импульс и используешь как импульс разрешения чтения RDEna, тогда будет все читаться однократно. А теперь ОГРАНИЧЕНИЯ: После перепада сигнала RDClock удерживать его не менее Т, гарантированное чтение с выхода фифо производить не ранее чем через 2Т после перепада сигнала RDClock, следствие, 2Frd < 2Fт. Если же уделить внимание метастабильности, то добавьте еще один триггер: http://www.elvira.ru/_files/tektronix.pdfЧего только люди не придумают, лишь бы исползовать двухклоковой памяти зачем городить огород, двухпортовка уже есть праактически во всех ФПГА, остаеться только корректно обработать флаги и указатели. А алгоритм их обработки достаточно прост и прекрасно расписан в указаных документах.
--------------------
|
|
|
|
|
Nov 9 2005, 09:40
|

Участник

Группа: Новичок
Сообщений: 17
Регистрация: 29-10-05
Пользователь №: 10 268

|
Цитата(des00 @ Nov 8 2005, 08:48)  Чего только люди не придумают, лишь бы исползовать двухклоковой памяти зачем городить огород, двухпортовка уже есть праактически во всех ФПГА, остаеться только корректно обработать флаги и указатели. А алгоритм их обработки достаточно прост и прекрасно расписан в указаных документах. Ну тогда подскажите какие параметры нужно выставить на примере мегафункций lpm_fifo_dc или dcfifo по теме данной ветки, только тогда вашу критику можно считать конструктивной, и вы однозначно поможете и мне и автору ветки.
--------------------
"Слабые места любого проекта любят собираться в группы" - Пятый закон проектирования. "Двусмысленность инвариантна" - Принцип неопределенности Хартца. Законы мерфи (с) А. БЛОХ.
|
|
|
|
|
Nov 9 2005, 22:12
|

Участник

Группа: Новичок
Сообщений: 17
Регистрация: 29-10-05
Пользователь №: 10 268

|
2dess00 Я не против, если вы приведете ПРИМЕРЫ "двухпортовки" на основе FPGA любой другой фирмы, какой пердпочтете. Вот мне интересно для Alter`ы... Однако все ваши ОТВЕТЫ можно считать неинформативными в отстутствие каких либо конкретных примеров и ссылок(на ветки тогоже тот-же телесис). Надеясь на ОТВЕТ, с уважением, Е.
--------------------
"Слабые места любого проекта любят собираться в группы" - Пятый закон проектирования. "Двусмысленность инвариантна" - Принцип неопределенности Хартца. Законы мерфи (с) А. БЛОХ.
|
|
|
|
Сообщений в этой теме
lutik нужен совет по реализации Asynchronous FIFO Oct 31 2005, 10:40 iosifk Цитата(lutik @ Oct 31 2005, 13:40)Доброго дня... Oct 31 2005, 11:13 USTAS Сравнение двух указателей в FIFO можно осуществлят... Oct 31 2005, 14:16 lutik Цитата(USTAS @ Oct 31 2005, 17:16)Сравнение д... Oct 31 2005, 16:12 USTAS Для того, чтобы приведенный код работал,
НЕОБХОДИ... Nov 1 2005, 08:26 vetal примеры есть на opencores модули называются: gener... Nov 9 2005, 22:54 YUV Должен заметить, что не всегда получается так крас... Nov 10 2005, 10:13 lutik мужики!!!
читаем 2'е доки, указанн... Nov 11 2005, 08:57
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|