Программируемые логические устройства Классические ПЛМ
Способы достижения универсальности компонентов Программный. СБИС обрабатывают цифровые данные по заданной программе (микропроцессоры). Аппаратный. Состав и назначение СБИС определяется конечным приложением (программируемая логика).
Программируемые логические матрицы (ПЛМ) Основой ПЛМ служит последовательность программируемых матриц элементов И и ИЛИ. В их структуру входят также блоки входных и выходных буферных каскадов (БВх и БВых).
Программируемые логические матрицы (ПЛМ) Основными параметрами ПЛМ являются число входов m, число термов l и число выходов n. Терм – конъюнкция, связывающая m входных переменных, представленных в прямой или инверсной форме. Число формируемых термов равно числу конъюнкторов (числу выходов матрицы И). Термы подаются на входы дизъюнкторов (входы матрицы ИЛИ), формирующих n выходных функций. ПЛМ реализует дизъюнктивную нормальную форму (ДНФ).
Схемотехника ПЛМ Упрощенный вид биполярной ПЛМ Цепь выработки термов – диодная схема И Матрица ИЛИ формируется транзисторами, включенными по схеме эмиттерных повторителей
Схемотехника ПЛМ Воспроизведение скобочных форм переключательных функций – для этого в ПЛМ должны присутствовать обратные связи
Схемотехника ПЛМ Для формирования прямого или инверсного выходного сигнала используются сумматоры по модулю 2
Схемотехника ПЛМ Расширение возможностей ПЛМ с использованием элементов ввода/вывода с тремя состояниями
Схемотехника ПЛМ Добавление к комбинационной части триггеров позволяет создавать устройства с памятью
Обобщенная структура классической ПЛМ
Дальнейшее развитие ПЛМ Недостаток классических ПЛМ – фиксированная настройка выходных макро ячеек. Совершенствование архитектуры выходных макро ячеек привело к созданию универсальных ПЛМ.
Архитектура логической ячейки классической универсальной ПЛМ
Архитектура классической универсальной ПЛМ
Сложные программируемые логические интегральные схемы (CPLD) СПЛИС (CPLD ) являются дальнейшим развитием структур ПЛМ Архитектурно CPLD состоят из центральной коммутационной матрицы, множества функциональных логических блоков (универсальных ПЛМ) и блоков ввода/вывода на периферии кристалла. Ведущими производителями CPLD являются компании ALTERA, Xilinx, Atmel, Vantis, Cypress Semicond. и др.
Структура CPLD
Логическая ячейка CPLD
Блок ввода/вывода CPLD
Программируемая матрица соединений CPLD
Сравнительные характеристики семейств CPLD
Базовые матричные кристаллы (БМК) БМК относятся к полузаказным ИС. Это полуфабрикат, придание которому индивидуального характера происходит на заключительных стадиях производства СБИС. Основа БМК – совокупность регулярно расположенных на кристалле базовых ячеек (БЯ), между которыми могут располагаться свободные зоны для создания соединений (каналы). БЯ содержат группы нескоммутированных элементов (транзисторов, резисторов и др.). В периферийной области кристалла располагаются ячейки ввода/вывода.
Различные структуры БМК Базовая ячейка (1) и каналы связи (2) БМК. Канальная структура БМК (а, б). Бесканальная структура БМК (в). Изменяемая структура БМК (г) – с переменной длиной ячейки.
Терминология, относящаяся к БМК Базовая ячейка (БЯ) – набор схемных элементов, регулярно повторяющихся на определенной площади кристалла. Элементы могут быть нескоммутированными или частично скоммутированными. БЯ внутренней области называются матричными, периферийной области – периферийными.
Терминология, относящаяся к БМК Способы организации ячеек БМК: - Из элементов МБЯ может быть сформирован один логический элемент, а для реализации более сложных функций используются несколько ячеек; - Из элементов МБЯ может быть сформирован любой функциональный узел, а состав элементов ячейки определяется схемой самого сложного узла. Функциональная ячейка (ФЯ) – функционально законченная схема, реализуемая путем соединения элементов в пределах одной или нескольких БЯ.
Терминология, относящаяся к БМК Библиотека функциональных ячеек – совокупность ФЯ, используемых при проектировании БИС. Создается на этапе разработки БМК и предоставляет разработчику готовые схемотехнические решения. Эквивалентный вентиль (ЭВ) – группа элементов БМК, соответствующая возможности реализации логической функции вентиля (обычно – двухвходовый элемент И-НЕ или ИЛИ-НЕ). Используется для оценки логической емкости БМК. Каналы трассировки – пути размещения межсоединений в БМК.
Терминология, относящаяся к БМК Пример библиотеки функциональных ячеек БМК фирмы Actel
Терминология, относящаяся к БМК Внутренняя область кристалла (ВО) окружена периферийной областью (ПО), расположенной по краям БМК. В периферийной области расположены специальные ПБЯ, набор схемных элементов которых ориентирован на решение задач ввода/вывода сигналов, а также контактные площадки (КП).
Программируемые пользователем вентильные матрицы (FPGA) Топологически сходны с канальными БМК Во внутренней области размещается множество регулярно расположенных идентичных конфигурируемых логических блоков (КЛБ) Между КЛБ проходят трассировочные каналы На периферии кристалла расположены блоки ввода\вывода
Структура FPGA
Структура логического блока FPGA Свойства и возможности FPGA зависят в первую очередь от характера их КЛБ и системы межсоединений В качестве КЛБ могут использоваться: - транзисторные пары (SLC – Simple Logic Cells); - мультиплексоры; - программируемые ПЗУ (LUTs – Look-Up Tables)
Структура логического блока FPGA Пример логического блока на основе транзисторных пар Реализуемая функция:
Структура логического блока FPGA Пример логического блока на основе мультиплексоров Реализуемая логическая функция:
Структура логического блока FPGA на основе ПЗУ
Блок ввода/вывода FPGA
Система соединений FPGA
Структура переключательного блока (PSM) FPGA
Дополнительные блоки FPGA Встроенные блоки памяти (небольшого объема) – 16 х 1 или 32 х 1 бит
Дополнительные блоки FPGA Блок интерфейса граничного сканирования (JTAG) – для отладки и конфигурирования FPGA
Характеристики семейства FPGA Микросхемы FPGA построены по SRAM-технологии и требуют загрузки управляющей (конфигурационной) программы либо из внешнего ПЗУ, либо из другого устройства Широко используются при построении реконфигурируемых систем, при решении задач логической эмуляции, и пр.
Характеристики семейства FPGA
Системы на кристалле (SoC) Предпосылки появления «Систем на Кристалле» (System-on-Chip): - уменьшение топологических норм проектирования; - повышение уровня интеграции ПЛИС (несколько млн ЭВ); - повышение быстродействия ПЛИС (более 600 МГц). Возможность разместить на кристалле целую систему: - процессорная часть; - память; - интерфейсные схемы и др.
Системы на кристалле (SoC) Архитектурные особенности SoC: - наличие универсальных программируемых блоков, позволяющих реализовать любое устройство (generic); - наличие специализированных областей (аппаратных ядер), выделенных на кристалле для определенных функций (hardcores). Введение специализированных аппаратных ядер сокращает площадь кристалла при реализации сложных функций и увеличивает быстродействие.
Системы на кристалле (SoC) К специализированным ядрам относятся: - блоки ОЗУ с возможностью изменения организации памяти, выбора асинхронного и синхронного режима работы и др.; - умножители; - схемы интерфейса (JTAG, PCI и пр.); - схемы формирования тактовых сигналов (PLL, DLL).
Структура SoC
Логическая ячейка SoC
Режимы настройки логической ячейки
Арифметический режим работы
Организация регистровой цепочки
Объединение логических ячеек в логический блок
Блок памяти SoC
Конфигурационные возможности блока памяти
Устройство коррекции ошибок для блока памяти
Блок памяти в режиме сдвигового регистра
Арифметический блок SoC
Архитектурные особенности арифметического блока
Последовательная загрузка данных в арифметическом блоке
Формирование обратной связи в арифметическом блоке
Блок управления тактовыми сигналами SoC
Структура блока PLL SoC
Блок ввода\вывода SoC
Работа блока ввода\вывода с дифференциальным сигналом
Программируемые аналоговые интегральные схемы (ПАИС) Соотношение между сопротивлением (R) и зарядом (Q): - сопротивление это отношение напряжения (V) к току (I); - ток это скорость изменения заряда.
Конденсатор в ключевом режиме
Переключамый конденсатор как резистор Сопротивление обратно пропорционально емкости и частоте Отношение сопротивлений зависит только от отношения емкостей Резистор можно заменить конденсатором Особенности: - зависимость от частоты; - изменение фазы
Изменение фазы (знака сопротивления)
Настройка собственной частоты изменением частоты переключения
Дискретизация входного сигнала Входной и выходной сигналы обрабатываются в разные моменты времени Удобно для создания устройств дискретизации (напр. – АЦП)
Соотношение напряжений в схеме с переключаемыми конденсаторами
Переключаемые конденсаторы – базовый элемент ПАИС Они позволяют реализовывать: - изменение коэффициента усиления операционных усилителей; - регулировать скорость нарастания фронта сигнала; - выполнять фильтрацию аналогового сигнала; - создавать устройства дискретизации входного сигнала и т.д.
Простые ПАИС Схема простой ПАИС ispPAC10 фирмы Lattice Semi Позволяет создавать различные усилители, интеграторы, простые фильтры
Программируемый аналоговый блок (реализация фильтра)
Простые ПАИС (ispPAC20)
Простые ПАИС Специализированная ПАИС (ispPAC80) – предназначена для реализации ФНЧ 5-го порядка
Упрощенная схема ПАИС для реализации ФНЧ
Архитектура сложной конфигурируемой аналоговой матрицы фирмы Anadigm
Структура входной ячейки
Структура выходной ячейки
Структура конфигурируемого аналогового блока
Программируемые матрицы смешанной архитектуры В их состав обычно включают: - аппаратно реализованное процессорное ядро; - программируемые цифровые блоки; - программируемые аналоговые блоки; - специализированные блоки
Пример матрицы со смешанной архитектурой (PSoC5 фирмы Cypress)
Архитектура процессорного ядра
Встроенный блок ОЗУ
Блок интерфейса внешней памяти (EMIF)
Блок формирования тактовых частот
Сторожевой таймер
Структура блоков ввода/вывода
Массив программируемых цифровых блоков
Архитектура программируемого цифрового блока
Структура узла обработки данных
Пример настройки массива цифровых блоков
Встроенный контроллер шины CAN
Встроенный контроллер шины USB
Встроенный контроллер шины I2C
Встроенный блок конфигурируемого таймера
Массив программируемых аналоговых блоков
Сигма-дельта АЦП и АЦП последовательного приближения
Блок аналоговых компараторов
Режимы работы аналоговых ОУ
Программируемая аналоговая ячейка
Блок ЦАП
Интерфейс программирования и отладки JTAG