Проект делается в ISE12.1 на Virtex5.
Вообщем использую маленькое синхронное FIFO 16x 36bits. Т.е. в FIFO GENERATOR выбрано COMMON CLOCK и тип памяти: Distributed RAM.
Данное FIFO в проекте работает на нескольких тестовых тактовых частотах. Получается, таким образом, что из восьми тестовых частот - на 6 всё работает как часы, а на 2-х верхних - FIFO становится колом: получается, что оба флага FULL, EMPTY одновременно установлены в 1.
Из этой ситуации мне выйти пока не удаётся. В ChipScope - с точки зрения сигналов WR_EN, RD_EN - ситуация полностью идентична в нормальном и не нормальном состояниях. Различие только во флагах - FULL, EMPTY. Когда всё работает, то эти флаги одновременно равны 0, когда же FIFO становится колом они, как я уже выше говорил одновременно равны 1.
Верхние частоты - я не думаю, что уж такие высокие: Fclk = 250MHz Fwr_en, Frd_en= 125 MHz
XILINX в DataSheet для FIFO 64x16bits приводит тактовые частоты под 400MHz
Сейчас попробую перейти на тип памяти SHift Register - посмотрю, что будет.
Если у кого-то была такая ситуация с флагами - подскажите, пожалуйста, в чём может быть дело.
С Уважением, Игорь
|