Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
download-1402550944935.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
660.48 Кб
Скачать

2.2. Внутренняя структура плис.

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

Фирма Xilinx выпускает ПЛИС двух архитектур — CPLD (Complex Programmable Logic Devices) и FPGA (Field Programmable Gate Array).

Остановимся на архитектуре FPGA, т.к. она является более гибкой, и в конечном счете, предоставляет больше возможностей, хотя в данном пособии подробно рассмотреть их все не удастся.

Как же устроена архитектура FPGA?

Основу FPGA составляют CLB — configurable logic block, конфигурируемая логическая ячейка. Каждый CLB состоит из четырех так называемых Slice, см. рисунок 2.2.1.

Рис. 2.2.1.

Каждый Slice включает в себя:

  • 2 элемента комбинационной логики - look-up table (LUT)

  • 2 элемента последовательной логики (D-триггер/защелка)

  • Логика переноса

  • Несколько мультиплексоров для каскадирования LUT

На рисунке 2.2.2 представлена упрощенная структура Slice.

Рис. 2.2.2.

LUT представляет из себя элемент комбинационной логики с четырьмя входами и одним выходом, который может быть запрограммирован под выполнение любой логической функции четырех переменных, y = f(x1, x2, x3, x4).

D-триггеры обладают, как это им и положено тактовым входом (на рисунке 2.2.2 он обозначен в виде треугольника), data-входом («D»), входом разрешения работы («CE», chip enable), входом сброса («CLR»), входом установки начального значения («PRE») и выходом «Q». Также, элементы последовательностной логики могут быть запрограммированы не только как триггер, но и как защелка.

Логика переноса выполнена таким образом, что перенос распространяется по кристаллу снизу вверх.

Мультиплексоры используются для построения функций, более сложных, чем те, которые могут быть реализованы двумя LUT одного Slice. При помощи них можно каскадировать выходы LUT из различных Slice.

На рисунке 2.2.3 отражен принцип, по которому происходит описанное выше каскадирование LUT нескольких Slice при помощи мультиплексоров. Как это видно из рисунка, существует несколько типов мультиплексоров, каждый из которых обладает определенной функцией и названием (MUXF5, 6, 7, 8).

Рис. 2.2.3.

LUT можно запрограммировать на выполнение функции 16-разрядного сдвигового регистра, так называемого SRL16CE, см. рисунок 2.2.4.

Рис. 2.2.4.

Применение SRL16CE даёт возможность организовать задержку на 16 тактов без использования 16-ти триггеров, что позволяет более эффективно использовать ресурсы кристалла.

К каждому программируемому выводу кристалла FPGA подключен специальный блок IOB, реализующий переключение функции вывода — вход или выход. Структура IOB представлена на рисунке 2.2.5.

Рис. 2.2.5.

Однако, устройство FPGA не ограничивается одними CLB и IOB. Помимо них в кристалле имеется также специальная оперативная память, разделенная на блоки 18Кбит, из-за чего получила кодовое название «блочная память» (Block RAM, Block memory, BRAM).

Также, в FPGA есть встроенные скоростные умножители двух 18-разрядных операндов, выполняющие операцию умножения за 1 такт. Во многом благодаря этим умножителям FPGA и имеет возможность дать фору в скорости вычислений обычным процессорам и ЦСП.

И еще одна полезная функция есть в FPGA — по всему кристаллу идут специальные цепи для тактирующего сигнала, задержка распространения по которым составляет не более 1нс, что позволяет создавать высокоскоростные синхронные схемы, т.к. в сихронных схемах очень важно, чтобы тактовые импульсы приходили одновременно (читать «с наименьшей задержкой по времени») на все элементы.

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