Программируемая пользователем вентильная матрица
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Altera_StratixIVGX_FPGA.jpg/300px-Altera_StratixIVGX_FPGA.jpg)
Программи́руемая по́льзователем ве́нтильная ма́трица (ППВМ,
Программируются путём изменения логики работы
История
В ранних
В 1997 году Адриан Томпсон объединил
).К 2018 году объём мирового рынка ППВМ составил около 5,7 млрд $, крупнейшие производители —
Архитектура
В ППВМ имеется три типа программируемых элементов:
- нескоммутированные программируемые логические блоки (ПЛБ);
- блоки ввода-вывода (БВВ);
- внутренние связи.
ПЛБ являются функциональными элементами для построения логики пользователя. БВВ обеспечивают связь между контактами корпуса и внутренними сигнальными линиями. Программируемые ресурсы внутренних связей обеспечивают управление путями соединения входов и выходов ПЛБ и блоков ввода-вывода (БВВ) на соответствующие сети[6]. Все каналы трассировки имеют одинаковую ширину (одинаковое количество проводников). Большинство блоков ввода-вывода (БВВ) вписываются либо в одну строку (по высоте), либо в один столбец (по ширине) массива вентилей.
Логический блок (ПЛБ) классической ППВМ состоит из
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Logic_block2.svg/300px-Logic_block2.svg.png)
Логический блок (ПЛБ) имеет таблицу истинности на четыре входа и вход синхронизации (clock). Выход блока только один — регистровая или нерегистровая выходная таблица истинности. Поскольку сигналы синхронизации в коммерческих ППВМ (а часто и другие сигналы, распараллеливающиеся на большое количество входов — high-fanout signals) трассируются особым образом специальными трассировочными цепями, управление этими сигналами делается отдельно.
Для приведённого примера архитектуры расположение контактов логического блока показано ниже.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Logic_block_pins.svg/300px-Logic_block_pins.svg.png)
Входы расположены на отдельных сторонах логического блока; выходной контакт может трассироваться в двух каналах: либо справа от блока, либо снизу. Выходные контакты каждого логического блока могут соединяться с трассировочными сегментами в смежных каналах. Аналогично, контактная площадка блока ввода-вывода (pad) может соединяться с трассировочным элементом в любом смежном канале. Например, верхняя контактная площадка чипа может соединяться с любым из W проводников (где W — ширина канала) в горизонтальном канале, расположенном непосредственно под ним.
Как правило, трассировка ППВМ несегментирована, то есть каждый сегмент проводника соединяет только один логический блок с переключательным блоком. Из-за огибания программируемых переключателей в переключательном блоке трассировка получается более длинной. Для увеличения скорости внутрисистемных соединений, в некоторых архитектурах ППВМ между логическими блоками используются более длинные трассировочные соединения.
В месте пересечения вертикальных и горизонтальных каналов создаются переключательные блоки. При такой архитектуре для каждого проводника, входящего в переключательный блок, существуют три программируемых переключателя, которые позволяют ему подключаться к трём другим проводникам в смежных сегментах канала. Модель или топология выключателей, используемая в этой архитектуре, является планарной или доменной топологией переключательных блоков. В этой топологии проводник трассы номер 1 подключается только к проводнику трассы номер 1 в смежных каналах, проводник трассы номер 2 подключается только к проводникам трассы номер 2 и так далее.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/bd/Switch_box.svg/300px-Switch_box.svg.png)
Современные семейства ППВМ расширяют перечисленные выше возможности и обладают встроенными функциями высокого уровня, благодаря наличию которых удаётся уменьшить площадь кристалла и ускорить выполнение типовых подзадач в сравнении с реализацией на основе примитивов. Примерами таких функций являются мультиплексоры, блоки цифровой обработки сигналов, встроенные процессоры, быстрая логика ввода-вывода и встроенная память.
ППВМ также широко применяются для систем проверки пригодности, в том числе в докремниевой и послекремниевой проверке пригодности, а также при разработке программ для встраиваемых систем. Это позволяет компаниям-производителям интегральных схем проверять работоспособность своих устройств до изготовления их на заводе, сокращая время выхода изделия на рынок.
Примечания
- ↑ History of FPGAs (англ.)
- ↑ Google Patent Search, «Re-programmable PLA».
- ↑ Google Patent Search, «Dynamic data re-programmable PLA».
- ↑ On the Origin of Circuits. Дата обращения: 4 мая 2012. Архивировано 27 апреля 2012 года.
- ↑ Doug Black. Xilinx Says Its New FPGA is World’s Largest . Enterprise AI (21 августа 2019). Дата обращения: 3 августа 2020. Архивировано 4 ноября 2020 года.
- ↑ Архитектура FPGA Архивная копия от 11 мая 2018 на Wayback Machine (англ.)
- xilinx.com(англ.)