Программи́руемая логи́ческая интегра́льная схе́ма (ПЛИС, , ) — электронный компонент (интегральная микросхема), используемый для создания конфигурируемых цифровых электронных схем. В отличие от обычных цифровых микросхем, логика работы ПЛИС не определяется при изготовлении, а задаётся посредством программирования (проектирования). Для программирования используются программатор и IDE (отладочная среда), позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры (Verilog, VHDL, AHDL и других). Альтернативой ПЛИС являются:
БМК — базовые матричные кристаллы, требующие заводского производственного процесса для программирования; ASIC — специализированные заказные большие интегральные схемы (БИС), которые при малосерийном и единичном производстве существенно дороже; специализированные компьютеры, процессоры (например, цифровой сигнальный процессор) или микроконтроллеры, которые из‑за программного способа реализации алгоритмов в работе медленнее ПЛИС; непрограммируемые цифровые устройства и системы, настроенные на решение заранее известных задач, построенные на принципах так называемой «жёсткой логики».
Некоторые производители для своих ПЛИС предлагают программные процессоры, которые можно модифицировать под конкретную задачу, а затем встроить в ПЛИС. Тем самым: обеспечивается увеличение свободного места на печатной плате (возможность уменьшения размеров платы); упрощается проектирование ПЛИС; увеличивается быстродействие ПЛИС.
Этапы проектирования
Задание принципиальной электрической схемы или программы на специальных языках описания аппаратуры (Verilog, VHDL, AHDL и других). Логический синтез с помощью программ-синтезаторов (получение списка электрических соединений (в виде текста) из абстрактной модели, записанной на языке описания аппаратуры). Проектирование печатной платы устройства с помощью системы автоматизированного проектирования (САПР) печатных плат (Altium Designer, P-CAD и других), на которой размещается микросхема ПЛИС и прочие электронные компоненты (резисторы, конденсаторы, генераторы, АЦП, разъёмы и другие). Создание файла конфигурации ПЛИС. Загрузка файла конфигурации в микросхему ПЛИС или в отдельную микросхему памяти. В результате загрузки микросхема ПЛИС обретает заданную функциональность.
Применение
ПЛИС широко используется для построения различных по сложности и по возможностям цифровых устройств, например: устройств с большим количеством портов ввода-вывода (бывают ПЛИС с более чем 1000 выводов («пинов»)); устройств, выполняющих цифровую обработку сигнала (ЦОС); цифровой видеоаудиоаппаратуры; устройств, выполняющих передачу данных на высокой скорости; устройств, выполняющих криптографические операции, систем защиты информации; устройств, предназначенных для проектирования и прототипирования интегральных схем специального назначения (ASIC); устройств, выполняющих роль мостов (коммутаторов) между системами с различной логикой и напряжением питания; реализаций нейрочипов; устройств, выполняющих моделирование квантовых вычислений; устройств, выполняющих обработку радиолокационной информации.
Типы ПЛИС
Ранние ПЛИС
В 1970 году компания «Texas Instruments» (далее «TI») разработала масочные (то есть, программируемые с помощью маски, ) интегральные схемы (далее ИС), основанные на ассоциативном ПЗУ (ROAM) фирмы «IBM». Эта микросхема называлась TMS2000 и программировалась чередованием металлических слоёв в процессе производства ИС. TMS2000 имела до 17 входов и 18 выходов с 8 JK-триггерами в качестве памяти. Для этих устройств компания «TI» ввела термин PLA — — программируемая логическая матрица.
PAL
PAL () — программируемый массив (матрица) логики. В СССР PLA и PLM не различались и обозначились как ПЛМ (программируемая логическая матрица). Разница между PLA и PLM состоит в доступности программирования внутренней структуры (матриц).
GAL
GAL () — это ПЛИС, имеющие программируемую матрицу «И» и фиксированную матрицу «ИЛИ».
CPLD
CPLD ( — сложные программируемые логические устройства) содержат относительно крупные программируемые логические блоки — макроячейки, соединённые с внешними выводами и внутренними шинами. Функциональность CPLD кодируется в энергонезависимой памяти, поэтому нет необходимости их перепрограммировать при включении. Может применяться для расширения числа входов/выходов рядом с большими кристаллами, или для предобработки сигналов (например, контроллер COM-порта, USB, VGA).
FPGA
FPGA () содержат блоки умножения-суммирования, которые широко применяются при обработке сигналов (DSP, ), а также логические элементы (как правило, на базе таблиц перекодировки — таблиц истинности) и их блоки коммутации. FPGA обычно используются для обработки сигналов, имеют больше логических элементов и более гибкую архитектуру, чем CPLD. Программа для FPGA хранится в распределённой памяти, которая может быть выполнена как на основе энергозависимых ячеек статического ОЗУ (подобные микросхемы производят, например, фирмы «Xilinx» и «Altera») — в этом случае программа не сохраняется при исчезновении электропитания микросхемы, так и на основе энергонезависимых ячеек flash-памяти или перемычек antifuse (такие микросхемы производят фирмы «Actel» и «Lattice Semiconductor») — в этих случаях программа сохраняется при исчезновении электропитания. Если программа хранится в энергозависимой памяти, то при каждом включении питания микросхемы необходимо заново конфигурировать её при помощи начального загрузчика, который может быть встроен и в саму FPGA. Альтернативой ПЛИС FPGA являются более медленные цифровые процессоры обработки сигналов. FPGA применяются также, как ускорители универсальных процессоров в суперкомпьютерах (например, компьютер «Cray XD1» компании «Cray», проект «RASC» компании «Silicon Graphics» («SGI»)).
Некоторые мировые производители ПЛИС
Achronix Actel Altera Atmel Lattice semiconductor Xilinx TSMC GoWin SemiconductorGOWIN Semiconductor выводит на рынок первую в отрасли ПЛИС с интегрированным приемопередатчиком Bluetooth . rlocman.ru, 14.11.2019.
См. также
Программируемая аналоговая интегральная схема Программируемая пользователем вентильная матрица Периферийное сканирование Система на кристалле
Примечания
Литература Угрюмов Е. П. Глава 7. Программируемые логические матрицы, программируемая матричная логика, базовые матричные кристаллы / Цифровая схемотехника. Учеб. пособие для вузов. Изд.2, БХВ-Петербург, 2004. С. 357.
Ссылки
Пример разработки в WinCupl на SPLD ATF16V8. Видеоуроки проектирования на ПЛИС Xilinx . Описания ПЛИС известных фирм. Соловьев В., Климович А. «Введение в проектирование комбинационных схем на ПЛИС ». «Проектирование ПЛИС в Altera Quartus II ». Платформы. Технология ПЛИС и её применение для создания нейрочипов . Стешенко В. Б. «Реализация на ПЛИС цифровых демодуляторов сигналов с частотной манипуляцией». Кафедра СМ5 МГТУ им. Н. Э. Баумана. Стешенко В. «Школа разработки аппаратуры цифровой обработки сигналов на ПЛИС». Основные производители современных ПЛИС-компьютеров и комплектующих к ним .
Категория:Вентильные матрицы