|
|
Что такое PLD, CPLD, FPGA?
PLD (Programmable
Logic Device) - программируемое логическое устройство. Все устройства
типа PLD имеют две логических матрицы - матрицу И, на которую подаются
прямые и инверсные значения входных сигналов, и матрицу ИЛИ, на которую
подаются сформированные в матрице И логические произведения входных
сигналов. Таким образом устройство типа PLD реализует логическию сумму
произведений. Устройства типа PLD в свою очередь делятся на PROM,
PLA и PAL/GAL в зависимости от того, структура какой из логических
матриц является фиксированной, а какой - программируемой.
PROM (Programmable Read Only Memory)
-логическая матрица И является фиксированной, а матрица ИЛИ - программируемой.
Поскольку все комбинации входных сигналов жестко зашиты в матрице
И, использование PROM наиболее эффективно для реализации устройств
с небольшим числом входов и большим числом логических произведений.
PLA (Programmable Logic Array) - обе
логические матрицы являются программируемыми, что делает их наиболее
гибкими из всех устройств типа PLD. Расплатой за это является снижение
быстродействия и повышение цены.
PAL / GAL (Programmable/Generic Array
Logic) - программируемой является логическая матрица И, а матрица
ИЛИ является фиксированной. Эти устройства сочетают гибкость, свойственную
PLA, с быстродействием, свойственным PROM.
CPLD (Complex Programmable Logic Device)
- сложное программируемое логическое устройство. Устройства типа CPLD
состоят не из одной, как в PLD, а из нескольких И/ИЛИ макроячеек,
связанных между собой программируемыми схемами коммутации. Примерами
устройств типа CPLD могут служить серии MACH компании AMD или MAX
компании Altera.
FPGA (Field Programmable Gate Array) -
программируемые в полевых условиях (на стадии эксплуатаии) матрицы
вентилей. Устройства типа FPGA состоят из большого числа относительно
небольших логических макроячеек, связанных между собой программируемыми
схемами коммутации. Структура логических макроячеек зависит от производителя,
например, у кристаллов от ACTEL основу макроячейки составляет схема
из мультиплексоров, а у кристаллов от Xilinx - ППЗУ. Программируемые
схемы коммутации позволяют соединить любые две произвольные макроячейки
на кристалле. При этом возникают задачи оптимального размещения макроячеек
и трассировки соединений между ними. Для решения этих задач используются
специальные программные средства, поставляемые изготовителями кристаллов.
В FPGA только после выполнения размещения и трассировки становится
возможной оценка быстродействия схемы. Расплатой за гибкость при использовании
FPGA также является коэффициент заполнения кристалла, который никогда
не достигает 100% (нормальным можно считать заполнение на 60-70%)
из-за невозможности развести схемы соединений.
|