Кодирование состояний автоматов, реализуемых на ПЛИС

Если реализацию КЧ выполнять на ПЛИС, то в этом случае систему булевых функций следует представить в виде кратчайшей дизъюнктивной нормальной форме (КДНФ), так как площадь кристалла для реализации матрицы в этом случае будет минимальна. Следует отметить, что особенности применяемых матриц иногда требуют использования единичного позиционного кодирования для кодирования ВС (одна единица в n возможных позициях).

Например, для автомата на рис. 5.15 коды состояний могут иметь вид:

К (а5) = 10000;

К (а4) = 01000;

К (а3) = 00100;

К (а2) = 00010;

К (а1) = 00001.

При создании проектов для FPGA следует помнить, что каждая логическая ячейка содержит два триггера. Это значит, что минимизация количества используемых триггеров не имеет значения. Вместо этого нужно попытаться сократить общее число используемых ячеек и соединений между ними. Для того чтобы проектировать более быстрые схемы, следует уменьшать число ячеек, необходимых для реализации каждого уравнения. Применение унарного кодирования часто помогает этому. Это будет проиллюстрировано в разделе 5.7. Следует напомнить, что в отличие от заказных схем, программируемые схемы имеют гораздо меньшее быстродействие. Поэтому при проектировании схем на базе программируемых кристаллов борьба за большее быстродействие является более актуальной, чем борьба за минимальные аппаратурные затраты.

Для реализации уравнения с меньшим числом переменных обычно используется небольшое число логических ячеек. Если, например, функция возбуждения триггеров содержит 4 переменных, для ее реализации понадобится ровно 1 LUT. Если содержит, например 6 переменных, необходимо будет 2 LUT, соединенных каскадно. Чем больше LUT в каскаде, тем больше задержка распространения сигнала и тем меньше быстродействие устройства.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: