logo
Конспект лекций Комп схем и АК 2011

7.2 Логические блоки на мультиплексорах и таблицах соответствия

Существуют два основных способа реализации программируемых логических блоков, используемых для формирования среднемодульных устройств: на основе мультиплексоров (MUX – от multiplexer) и на основе таблиц соответствия (LUT –от lookup table).

В качестве примера реализации устройств на основе мультиплексоров рассмотрим 3-входовую функцию y=(a&b)+c, реализованную с помощью блока, содержащего только мультиплексоры (рис.7.2).

Рис.7.2. Логический блок на мультиплексорах

Устройство может быть запрограммировано таким образом, что на каждый его вход может подаваться логический 0 либо логическая 1, либо прямое, либо инвесное значение входного сигнала ( в нашем случае a, b или c), приходящего с другого блока или с входа микросхемы. Такой подход позволяет для каждого блока создавать огромнейшее количество вариантов конфигурирования для выполнения разнообразных функций ( х на входе центрального мультиплексора на рис.7.2 обозначает, что на вход можно подавать любой сигнал – 0 или 1).

Основная концепция таблиц соответствия проста. В таких микросхемах группа входных сигналов используется в качестве индекса ( указателя, или адреса ячейки) таблицы соответствия. Содержимое этой таблицы организовано таким образом, что ячейки, указываемые каждой входной комбинацией, содержат требуемое выходное значение. Для примера на рис.7.3 приведена схема на логических элементах и её таблица истинности для функции y=(a&b)+c

Рис.7.3. Требуемая функция и её таблица истинности

Для реализации этой функции надо загрузить 3-входовую таблицу соответствующими значениями. А теперь допустим, что таблица соответствий формируется из ячеек памяти статического ОЗУ ( она может также быть сформирована наращиваемыми перемычками, ЭСППЗУ- или Flash-ячейками памяти). Для выбора требуемой ячейки ОЗУ с помощью каскада передаточных вентилей используются входные сигналы, как показано на рис.7.4. При этом ячейки памяти статического ОЗУ для загрузки конфигурационных данных должны быть соединены в длинную цепочку, но эти цепи не показаны на рис.7.4 с целью его упрощения.

На схеме открытый, или активный, передаточный вентиль пропускает сигнал с входа на выход. Закрытый вентиль электрически отключает свой выход от проводника, к которому он подсоединён. Передаточные вентили, на обозначениях которых изображён небольшой “кружок”, активизируются при подаче на управляющий вход логического 0. И наоборот, вентили, на обозначениях которых нет кружка, активизируются при подаче на управляющий вход уровня логической 1. Основываясь на этом, легко проследить, как различные входные комбинации могут использоваться для выбора содержимого требуемой ячейки памяти.

Рис.7.4. Таблица соответствия на основе передаточных вентилей

Архитектуры на основе мультиплексоров, в отличие от блоков на основе таблиц соответствия, не обеспечивают работу высокоскоростных цепочек логического переноса. Поэтому большинство современных архитектур ПЛИС реализовывается на основе таблиц соответствия.