Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RPZ 20.05.2016.docx
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
609 Кб
Скачать
☆

3.3 Конфигурируемые логические блоки.

В документации, известного производителя ПЛИС, компании Альтера можно наткнуться на выражение Logic Array Block (LAB) – массив логики. У компании Xilinx в чипах ПЛИС имеются примерно похожие блоки - Configurable Logic Block (CLB). Конфигурируемый логический блок – это основной элемент в ПЛИС, в котором может быть произведена какая-либо простая логическая функция или исполнено хранение полученного значения вычисления в триггерах (регистрах).

Трудоемкость и структура создаваемого логического блока (CLB) определяет производитель.

В теории , конфигурируемый логический блок может являться, как пример, совершенно простым, как отдельный транзистор. Или же он может быть сложным, представляя из себя целый процессор - это крайние точки исполнения.

В первом варианте необходимо огромное количество программируемых связей, для того чтобы затем из раздельных транзисторов объединить нужную схему. Во другом случае связей может быть нужно не так много, но пропадает гибкость проектирования логической схемы.

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

Исходя из всего вышесказанного , выбор структуры конфигурируемого логического блока компанией производителем ПЛИС – это каждый раз поиск консенсуса по быстродействию, по площади кристалла, потреблению энергии и так далее.

Конфигурируемый логический блок может иметь структуру из одного или нескольких базовых логических элементов. В англоязычной документации - Basic Logic Element (BLE) или Logic Element  (LE). В ПЛИС по умолчанию применяются так называемые LUT-based логические базовые элементы. (Рис1)

Рис. 1. Пример базового логического элемента.

LUT (Look-Up Table),это таблица преобразования.На Рис.1 изображён четырехбитный LUT в связи с базовым логическим блоком. Здесь числу в четыре бита на входе логической функции устанавливается в соответствие однобитный число. Красные квадраты на обозначают собой программируемый элемент, регистр – это та память, где сохраняется прошивка для ПЛИС. Можно увидеть, что для получения 4-х битного LUT необходимо 16 конфигурационных регистра. Содержимое этих регистров и задает логическую функцию, заложенную внутри  логического базового элемента.  Дополнительный конфигурационный регистр (на Рис. 1 справа одиночный красный квадрат) определяет потребность выдачи базового логического элемента прямо на выход значение с LUT или требуется выдать фиксированный в D-триггере показатель с LUT. Фиксация и хранение данных в цифровых схемах необходима практически в каждом разрабатываемом проекте.

Исследуя Рис. 1 как пример логического базового традиционного элемента можно видеть, насколько неограничен ресурс заложенный внутрь современного кристалла ПЛИС (SRAM-based). Конфигурационные регистры (красные квадраты) напрямую не доступны для манипуляции в цифровом проекте. Они могут только служить для строения пользовательской функции. Для одного D-триггера в разрабатываемом проекте требуется более 16 (часто намного больше) D-триггеров для хранения конфигурации ПЛИС. Логический базовый элемент в разных видах ПЛИС может быть гораздо сложнее, чем изображено на Рис. 1. Далее есть примеры из документации на разные типы ПЛИС.

Рис. 2. Логический базовый элемент компании Альтера CPLD MAX II.

На этом рисунке можно подробно увидеть LUT и D-Триггер хранения вычислений. Ниже, на Рис. 3 показан базовый элемент Cyclone III.

Рис. 3. Логический базовый элемент компании Альтера ПЛИС Cyclone III.

В ПЛИС компании Альтера в одном LAB может содержаться 10-16 LE.

В микросхемах компании Xilinx Virtex-6 логический базовый элемент – это есть так называемый Slice, в одном CLB их находится всего два Slice. Однако один Slice – это достаточно сложное устройство:

Рис. 4. Логический базовый элемент компании Xilinx , Virtex-6 Slice.

В одном CLB Virtex-6 находится 8 LUT а так же16 D-Триггеров и еще некоторые элементы как видно на Рис.4

Другая сторона – ПЛИС компании Microsemi (ранее Actel). Как пример, в микросхемах серии 40MX логический базовый элемент имеет такой вид:

Рис. 5. Логический базовый элемент of Microsemi 40MX serie.

Этот элемент как показано на рис.5 имеет один выход и восемь входов. В нем не присутствует ни Look-Up Table, ни D-Триггера. Триггера, как и вся другая логика, образуются где это необходимо из таких блоков – Logic Module. В микросхемах Microsemi связь между базовыми логическими блоками обходится намного дешевле: серия 40MX может быть запрограммирована однократно. В ней межблочные связи «проплавляются» между соединяющими дорожками и больше не могут быть изменены. Не имеется регистров для временного хранения задаваемой «прошивки». Тут нет программируемых мультиплексоров, как в ПЛИС других типов. Это технология имеет название antifuse – для производства таких микросхем используется измененный сложный техпроцесс CMOS с дополнительными слоями для создания межблочных связей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]