CPLD (Complex Programmable Logic Device) — один из типов современных
ПЛИС. Общая структура CPLD показана на рис. 1. Разновидность CPLD - ПЛИС типа
EPLD (EPROM technology based complex Programmable Logic Devices).
Внешние выводы схемы C
1 могут быть как входами, так и выходами в зависимости от поступающих от функциональных блоков (ФБ) сигналов по шинам C
5. Если C
1 — входы, то через блок ввода-вывода входные сигналы попадают на входы C
2 коммутирующей матрицы и могут быть скоммутированы на входы C
3 ФБ. Структура ФБ представлена на рис. 2.
На выходах C
7 матрицы И образуются термы —
элементарные конъюнкции сигналов C
3. Сборка термов позволяет создать в каждой макроячейке ту или иную
дизъюнктивную нормальную форму той или иной части переменных C
3, выделенной в распределителе термов. Образовавшиеся сигналы могут быть переданы как на выход схемы по
шинам C
5, так и на входы коммутирующей матрицы по C
4. Последнее означает, что с помощью CPLD можно осуществлять
факторизацию и формировать скобочные формы
логических функций.
Программирование схемы CPLD осуществляется, во-первых, созданием соединений между входами и выходами коммутирующей матрицы, во-вторых, программированием распределителя термов. Входами коммутирующей матрицы являются C2 и C4, а выходами C3.
Сигналы C6 используются для общего сброса, подачи синхросигналов, управления выводами I/O (вход или выход).