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

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

Отправлено lutik 31 октября 2005 г. 13:11

Доброго дня уважаемым.
Трабла возникла с реализацией Asynchronous FIFO, такого рода:
особенностью является то, что жить будет оно в xc2s100-5 с высокой для ентого чипа частотой - 108MHz по записи и не особо высокой - 25MHz по чтению.
Флаги Пуст/Полон выставляю по следующим условиям
empty <= '1' when (rptr = wptr) else '0';
full <= '1' when ( (wptr - rptr) >= (DEPTH -2) ) else '0';
и далее перевожу их в каждый клок домен отдельно.
empty - в домен чтения, full - в домен записи.

в симуляции все нормально, но синтезатор, ЗАРАЗА, убивает всю времянку со стороны записи. Оно и понятно - сумматор и сравнение в комдинаторике дело не быстрое.

Може кто присоветует другие алгоритмы формирования флагов или ваще как-то по другому fifo это сделать а то замучился совсем.

PS. варианты со счетчиками в коде Грея не предлагать - спартан медленный и 8-ми разрядный счетчик Грея сам по себе не синтезируется на нужную времянку



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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

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

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


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

E-mail: info@telesys.ru