Как устроены ПЛИС?

Да и опоры для мебели я думаю заинтересует многих.
Существуют различные виды ПЛИС. Здесь мы подробно остановимся на Field Programmable Gate Array (FPGA) или Программируемых Пользователем Вентильных Матрицах (ППВМ).

ППВМ состоит из большого числа блоков нескольких типов. Больше всего в наличии логических [gates] и коммуникационных [routers] блоков. Логические блоки можно запрограммировать на реализацию той или иной логической функции. В них есть память для хранения таблицы истинности и хранения результата функции (если нужен синхронный режим работы). Число входных параметров различно для разных моделей ППВМ.

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

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

ППВМ существует не сама по себе, а является частью некоторой цифровой схемы. Она может управлять другими устройствами, передавать им данные и, наборот, получать команды и данные извне. Для реализации таких внешних связей в ППВМ предусмотрены блоки ввода/вывода. С одной стороны, они могут соединяться с другими блоками на ППВМ. С другой стороны, они подключаются к выводам микросхемы, которые обеспечивают доступ во внешний мир. Еще один аспект гибкости ППВМ заключается в том, что выводы можно настроить на различные электрические интерфейсы с различным кодированием двоичного сигнала: TTL, CMOS, LVCMOS, PCI и т. д.

Добавить комментарий