Доброго дня уважаемым. Трабла возникла с реализацией 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-ми разрядный счетчик Грея сам по себе не синтезируется на нужную времянку
--------------------
однако..
|