ПЛИС

Программи́руемая логи́ческая интегра́льная схе́ма(ПЛИС,англ.programmablelogicdevice,PLD) — электронный компонент (интегральная микросхема), используемый для создания конфигурируемыхцифровыхэлектронных схем. В отличие от обычных цифровыхмикросхем, логика работы ПЛИС не определяется при изготовлении, а задаётся посредствомпрограммирования(проектирования). Для программирования используютсяпрограмматориIDE(отладочная среда), позволяющие задать желаемую структуру цифрового устройства в виде принципиальнойэлектрической схемыили программы на специальныхязыках описания аппаратуры(Verilog,VHDL,AHDLи других). Альтернативой ПЛИС являются:
Некоторые производители для своих ПЛИС предлагаютпрограммные процессоры, которые можно модифицировать под конкретную задачу, а затем встроить в ПЛИС. Тем самым:
ПЛИС широко используется для построения различных по сложности и по возможностям цифровых устройств, например:
В1970 годукомпания «Texas Instruments» (далее «TI») разработала масочные (то есть, программируемые с помощью маски,англ.mask-programmable)интегральные схемы(далее ИС), основанные наассоциативномПЗУ(ROAM) фирмы «IBM». Эта микросхема называлась TMS2000 и программировалась чередованием металлических слоёв в процессе производстваИС. TMS2000 имела до 17 входов и 18 выходов с 8JK-триггерамив качестве памяти. Для этих устройств компания «TI» ввела термин PLA —англ.programmable logic array— программируемая логическая матрица.
PAL (англ.programmable array logic) — программируемый массив (матрица) логики. ВСССРPLA и PLM не различались и обозначились как ПЛМ (программируемаялогическаяматрица). Разница между PLA и PLM состоит в доступности программирования внутренней структуры (матриц).
GAL (англ.generic array logic) — это ПЛИС, имеющие программируемую матрицу «И» и фиксированную матрицу «ИЛИ».
CPLD(англ.complex programmable logic device— сложные программируемые логические устройства) содержат относительно крупные программируемые логические блоки —макроячейки, соединённые с внешними выводами и внутренними шинами. Функциональность CPLD кодируется вэнергонезависимой памяти, поэтому нет необходимости их перепрограммировать при включении. Может применяться для расширения числа входов/выходов рядом с большими кристаллами, или для предобработки сигналов (например, контроллерCOM-порта,USB,VGA).
FPGA(англ.field-programmable gate array) содержат блоки умножения-суммирования, которые широко применяются приобработке сигналов(DSP,англ.digital signal processing), а также логические элементы (как правило, на базе таблиц перекодировки — таблиц истинности) и их блоки коммутации. FPGA обычно используются для обработки сигналов, имеют больше логических элементов и более гибкую архитектуру, чем CPLD. Программа для FPGA хранится в распределённой памяти, которая может быть выполнена как на основе энергозависимых ячеек статического ОЗУ (подобные микросхемы производят, например, фирмы «Xilinx» и «Altera») — в этом случае программа не сохраняется при исчезновении электропитания микросхемы, так и на основе энергонезависимых ячеек flash-памяти или перемычек antifuse (такие микросхемы производят фирмы «Actel» и «Lattice Semiconductor») — в этих случаях программа сохраняется при исчезновении электропитания. Если программа хранится вэнергозависимой памяти, то при каждом включении питания микросхемы необходимо заново конфигурировать её при помощи начального загрузчика, который может быть встроен и в саму FPGA. Альтернативой ПЛИС FPGA являются более медленные цифровые процессоры обработки сигналов. FPGA применяются также, как ускорителиуниверсальных процессоровв суперкомпьютерах (например, компьютер «Cray XD1» компании «Cray», проект «RASC» компании «Silicon Graphics» («SGI»)).