В наиболее типичном варианте ПЛИС, выполненная по технологии FPGA, состоит из прямоугольной матрицы конфигурируемых логических блоков (Configurable Logic Blocks, CLB), окруженной блоками ввода-вывода (Input/Output Block, IOB). Между CLB располагаются программируемые трассировочные линии (рис. 1). Между матрицей CLB и блоками ввода-вывода имеются отдельные межсоединения, которые и обеспечивают подключение внешних сигналов.
Все части FPGA (конфигурируемые логические блоки, система межсоединений и блоки ввода/вывода) являются конфигурируемыми или реконфигурируемыми, причем средствами самих пользователей.
При конфигурировании FPGA логические блоки настраиваются на выполнение необходимых операций преобразования данных, а система межсоединений — на требуемые связи между логическими блоками. В результате во внутренней области FPGA реализуется схема нужной конфигурации. Расположенные по краям кристалла блоки ввода/вывода обеспечивают интерфейс FPGA с внешней средой. Блоки ввода/вывода современных FPGA можно программировать на выполнение требований множества стандартов передачи данных (число таких стандартов может доходить до 20).
Рис. 2. Структура CLB ПЛИС семейства Spartan
Конфигурирование — это процесс загрузки битовой последовательности, полученной с помощью программного обеспечения проектирования, во внутреннюю энергозависимую конфигурационную память кристалла FPGA. При выключении питания конфигурация в ПЛИС FPGA разрушается. Поэтому при включении питания необходим процесс программирования (инициализации, конфигурирования) кристалла FPGA — загрузка данных конфигурации. Для отладки спроектированной схемы используют специальный кабель для загрузки конфигурационных данных. Этот кабель соединяет персональный компьютер с микросхемой FPGA. В конечном устройстве отлаженные данные конфигурации хранятся в ПЗУ, которое непосредственно подключается к ПЛИС FPGA, и после включения питания они автоматически загружаются в ПЛИС. Процесс конфигурирования может производиться неограниченное число раз.
ПЕРЕСТРАИВАЕМЫЙ ЛОГИЧЕСКИЙ БЛОК
Основным элементом ПЛИС FPGA фирмы Xilinx является конфигурируемый логический блок (CLB). На рис. 2 показана упрощенная внутренняя структура логического блока ПЛИС семейства Spartan.
В состав CLB входят:
· три таблицы преобразования LUT (Look-Up Table), которые используются как генераторы логических функций;
· два триггера;
· две группы А и В программируемых мультиплексоров, играющих роль средств конфигурирования CLB.