CPLD (Complex Programmable Logic Device) - сложные программируемые логические устройства 1
Структура CPLD 2 ФБ – функциональный блок МЯ – макроячейка ПМС (PIA – Programmable Interconnect Array) – программируемая матрица соединений БВВ – блок ввода-вывода GCK (Global Clock) – глобальный сигнал тактирования GSR (Global Set/Reset) – глобальный сигнал сброса/установки GTS (Global Tri-State) – глобальный сигнал управления третьим состоянием Рис. 1 Архитектура CPLD Число ФБ в составе CPLD изменяется в зависимости от ее сложности. Каждый ФБ получает m сигналов от ПМС, а n его выходов подключены как к ПМС, так и к блокам ввода/вывода БВВ (Input/Output Block, IOB), связанным с внешними двунаправленными выводами.
3 Рис. 1 Архитектура CPLD Структура CPLD Рис. 2 Архитектура МС семейства XC9500
Функциональные блоки CPLD 4 Рис. 3 Обобщенная структура функционального блока CPLD Функциональные блоки CPLD подобны ПМЛ (PAL) и содержат: - многовходовую программируемую матрицу элементов И (М И ), вырабатывающую конъюнктивные термы из поступающих на ее входы переменных x1…xm; - матрицы распределения термов МРТ; - группу из N макро ячеек, между которыми с помощью МРТ распределяются выработанные матрицей М И термы. Рис. 4 Схема функционального блока МС семейства XC9500
Структура CPLD 5 Рис. 5 Логические расширители двух типов Последовательные (разделяемые, общие) логические расширители создаются подачей инвертированного значения терма из МРТ данного канала обратно на один из входов матрицы Ми. Переданный в матрицу Ми терм становится доступным для использования во всех каналах данного ФБ. Параллельный расширитель позволяет передавать термы одного канала другому. Возможность приема в свой канал термов от соседнего канала обычно означает и возможность приема через него и термов от более далеких каналов с образованием цепочки для сбора термов от нескольких каналов (например, в пределах функционального блока). Термы от МРТ поступают в МЯ. Логические расширители
Структура CPLD 6 Рис. 6 Структура макро ячейки Макроячейка содержит элемент ИЛИ, программируемые мультиплексоры, триггер (или триггеры) и формирует выходные сигналы в нескольких вариантах. PTSet, PTClock, PTReset – сигналы установки, синхронизации и сброса триггеров. PTOE – программируемый терм управления третьим состоянием буфера БВВ. Мультиплексор MUX5 программируется для передачи на выход МЯ либо непосредственно значения функции F ( комбинационный выход), либо состояния триггера (регистровый выход). Тактирование триггера определяется программированием мультиплексора MUX4, при этом возможно использование глобального синхросигнала (GCK) или сигнала, порождаемого термом PTClock. Асинхронные установка и сброс триггера производятся либо глобальным сигналом (GSR), либо термами PTSet и PTReset, что определяется программированием мультиплексоров MUX2 и MUX3. Макроячейки
7 Рис. 7 Макроячейка МС семейства XC9500 Макроячейки Структура CPLD
8 Рис. 8 Схема управления работой триггера в МЯ семействаXC9500 Макроячейки
Структура CPLD 9 Распределитель термов Рис. 9 Примеры распределения термов
Система коммутации CPLD 10 Рис. 10 Схема программируемой матрицы соединений В CPLD используется система одномерно непрерывных связей, реализуемая в виде программируемой матрицы соединений ПМС. В этом случае все связи идентичны по конфигурации, что дает хорошую предсказуемость задержек сигналов - важное достоинство, облегчающее проектирование и изготовление схем высокого быстродействия. В ПМС выходы функциональных блоков ФБ подключаются к вертикальным непрерывным (не сегментированным) линиям, причем каждому выходу соответствует своя линия. Входы ФБ связаны с горизонтальными линиями, пересекающими все вертикальные линии. На пересечениях горизонтальных и вертикальных линий имеются программируемые точки связи. Замкнув одну из этих точек, можно подключить вход к соответствующему выходу. Таким образом любой вход ФБ может быть подключен к любому выходу, а каждый из выходов может быть подключен ко многим входам, чем обеспечивается полная коммутируемость блоков.
Система коммутации CPLD 11 Рис. 11 Быстродействующая ПМС микросхем семейства XC9500
Блоки ввода/вывода CPLD 12 Рис. 12 Блок ввода/ вывода микросхем семейства XC9500 Входной буфер может работать с сигналами, имеющими стандартные КМОП- или ТТЛ -уровни от элементов с напряжением питания 5 В, либо 3,3 В. Входные буферы используют отдельное внутреннее питание – напряжение питания ядра (V CCINT = 5В ) для обеспечения стабильности пороговых уровней входных сигналов. Выходные буферы МС семейства XC9500 обеспечивают ток до 24 мА. Наличие отдельной шины питания выходных цепей (V CCIO ) обеспечивает возможность работы с выходными уровнями сигналов 5,0 В или 3,3 В для всех выходов одновременно.
Блоки ввода/вывода CPLD 13 Рис. 13 Использование микросхем семейства XC9500 в схемах со смешанным питанием На рис. 13 проиллюстрирована возможность использования МС семейства XC9500 для работы в устройствах со смешанным (5 В /3,3 В ) питанием и сопряжением с КМОП – и ТТЛ - схемами.
Разновидности и области применения CPLD 14 Одним из семейств ПЛИС CPLD является серия XC9500 и ее разновидности XC9500, XC9500XL и XC9500XV с напряжением питания ядра 5, 3.3 и 2.5В соответственно. Параметрами ПЛИС является количество макро ячеек, количество триггеров и количество эквивалентных логических вентилей. Общей характеристикой ПЛИС XC9500/XL/XV является то, что устройства с меньшим напряжением питания обладают более высоким быстродействием и большей функциональностью распределителей термов. Другим семейством ПЛИС CPLD является семейство CoolRunner. Это семейство отличается пониженным энергопотреблением (статический ток не превышает 100 мкА). Функциональные возможности и порядок проектирования в целом подобны ПЛИС серии XC9500. Однако технические решения имеют существенные отличия. Прежде всего функциональные блоки ПЛИС CoolRunner содержат матрицу ПЛМ в отличие от ПМЛ- матрицы в XC9500, что позволяет оптимизировать использование ресурсов кристалла при реализации сложных проектов. Однако данное отличие прозрачно для разработчика и не делает необходимым его специальный учет при проектировании цифровых устройств. В семейство CoolRunner входят серия XPLA3 с напряжением питания ядра 3,3 В и семейство CoolRunner-II с напряжением питания ядра 1,8 В. Отличием семейства CoolRunner-II является поддержка большого числа электрических стандартов ввода/вывода. Устройства CPLD относятся к устройствам начального уровня и предназначены для реализации устройств небольшого логического объема. Достоинства: простота структуры и большое количество трассировочных ресурсов дает свободу в размещении проекта на кристалле; хорошая предсказуемость временных характеристик. Недостатки: CPLD мало пригодны для проектирования устройств, насыщенных триггерами.
СПАСИБО ЗА ВНИМАНИЕ