[an error occurred while processing this directive]
Ответ: Можно такое сделать вот как ...
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Ace-X 18 ноября 2002 г. 23:28
В ответ на: FIFO на блочной памяти с числом слов (2**n), а не (2**n-1), поделитесь примером реализации отправлено zs 18 ноября 2002 г. 18:37

Надо добавить триггер, по состоянию которого вы сможете определить грубо говоря с какой стороны два указателя сходятся в одну точку, или другими словами, какая операция была произведена последней: если запись, то равенство указателей свидетельствует о полном FIFO, если чтение - то FIFO пустое. На одном триггере такой вариант можно реализовать для синхронного FIFO, которое тактируется по одному CLK. Для асинхронного FIFO можно испоьзовать схемку вот из этой статьи:
http://www.xilinx.com/xcell/xl37/xcell37_54.pdf
Только по-хорошему, смысл использовать все 2^n ячеек имеет только тогда, когда у вас FIFO очень маленькое, скажем 8 слов. Для обычных размеров FIFO это одно дополнительное слово не играет ни малейшего значения. В идеале FIFO должно быть практически всегда в состоянии "наполовину пусто", даже Xilinx в CoreGen использует для FIFO 2^n-1 слов ;-)

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru