[an error occurred while processing this directive]
|
Во первых - Вы спрашивали про ОДНОПОРТОВОЕ, а не одноклочное. Теперь вдруг на одноклочность перешли.
про потерю в Fmax на пальцах. Допустим (абсолютно условно) Fmax у самого блока памяти 10 мгц. Входные данные приходят на 8 мгц, идущих с одного источника, например PLL'ки ISDN-приемника, забираются на F 9.12345 мгц, идущих с DSP, ну вот так случилось. На ОДНОПОРТОВОМ такая конфигурация не получится, так как надо шарить порт между записями и чтениями, а для этого нужен клок как минимум 18,5 мгц. Не проходим по быстродействию. На ОДНОКЛОЧНОМ - тоже не получится, так как клоки ни грамма не синхронны друг с другом, а опять же выбрать третий, сторонний, клок не складется из-за того-же требования F>=(max(F1,F2)*2). А на двухпортовом двухклочном - легко. Один клок на одну сторону, второй клок - на вторую.
А вот про момент появления первого слова - так это надо в любом FIFO контролировать. Читать из пустого FIFO дело изначально гнилое :) :) :) Главное, правильным empty пользоваться, там их как раз две штуки - одна для WR-стороны, вторая - для RD.
E-mail: info@telesys.ru