Слайд 1Микропроцессорная техника в приборах, системах и комплексах
Лекция 6
Программируемые логические интегральные
схемы (ПЛИС)
Ушаков Андрей Николаевич, старший преподаватель кафедры 303
Слайд 2Предпосылки появления ПЛИС (1)
Основными компонентами цифрового вычислительного устройства (ЦВУ) являются
процессор, память и периферий-ные устройства.
Процессор и память являются стандартными элементами,
изготавли-ваемыми не для конкретного устройства (системы) по специальному заказу,
а серийными изделиями.
Наряду со стандартными БИС в системе присутствуют и нестандартные части, специфичные для данной разработки.
Слайд 3Предпосылки появления ПЛИС (2)
Выполнение нестандартной части в виде заказной БИС
(ASIC – Application-Specific Integrated Circuit) связано
с большой стоимостью и
большим временем проектирования. Стоимость подготовки производства новых ASIC имеет устойчивую тенденцию к росту,
и проектировать их имеет смысл только в том случае,
если планируются большие объемы производства.
Это противоречие нашло разрешение в виде разработки БИС с программируемой и репрограммируемой структурой, объединяемых общим названием «программируемые логические интегральные схемы» (ПЛИС).
Под программируемостью здесь и ниже следует понимать возможность программирования микросхемы пользователем.
Слайд 4Логическая ёмкость ПЛИС
Общепринятой оценкой логической ёмкости ПЛИС является число эквивалентных
вентилей, определяемое как среднее число вентилей «2И-НЕ», необходимых для реализации
эквивалентного проекта на ПЛИС
и базовом матричном кристалле (БМК).
Эта оценка весьма условна, поскольку ПЛИС не содержат вентилей «2И-НЕ»
в чистом виде, однако для проведения сравнительного анализа различных архитектур она вполне пригодна.
Слайд 5Преимущества ПЛИС
Таким образом, ПЛИС представляют собой стандартные БИС/СБИС, предназначенные
для
решения специализированных задач путём программирования пользователем.
ПЛИС являются стандартной продукцией электронной
промышленности со всеми вытекающими из этого положительными следствиями:
массовое производство,
снижение стоимости микросхем,
снижение сроков разработки и
сокращение сроков выхода на рынок продукции
на их основе.
Слайд 6Классификация ПЛИС
Основные классификационные признаки ПЛИС:
уровень интеграции и связанная с ним
логическая сложность;
архитектура (тип функциональных блоков, характер системы межсоединений);
число допустимых циклов
программирования;
тип памяти конфигурации («теневой» памяти);
степень зависимости задержек сигналов от путей
их распространения;
системные свойства;
схемотехнология (КМОП, ТТЛШ и др.);
однородность или гибридность (признак наличия
или отсутствия в микросхеме областей с различными
по методам проектирования схемами, такими как ПЛИС, БМК, схемы на стандартных ячейках).
Слайд 7Классификация ПЛИС по архитектуре
В классификации по архитектуре ПЛИС разделены
на
4 основных класса:
SPLD;
CPLD;
FPGA;
ПЛИС комбинированной архитектуры.
Слайд 8Классификация ПЛИС по уровню интеграции (1)
Классификация по уровню интеграции отражает
тенденцию бурного роста уровня интеграции ПЛИС и выделение из них
класса «системы на кристалле».
В силу связи между уровнем интеграции и архитектурой, классификация
не является строгой, и в ней имеется некоторое смешение двух признаков.
Слайд 9Классификация ПЛИС по уровню интеграции (2)
Слайд 10Классификация ПЛИС по уровню интеграции (3)
ПЛИС с широким диапазоном изменения
уровня интеграции (от простых до содер-жащих сотни тысяч вентилей) отнесены
к «досистемным» в том смысле, что для них не рассматривались вопросы создания целых систем на одном кристалле.
Класс систем на кристалле (SOС) делится на подклассы однородных и блочных.
В однородных SOC различные блоки системы реализуются одними и теми же аппаратными средствами, благодаря программируемости этих средств.
Слайд 11Классификация ПЛИС по уровню интеграции (4)
Блочные SOC имеют аппаратные ядра,
т. е. специали-зированные области кристалла, выделенные
для определённых функций. В
этих областях создаются блоки неизменной структуры, спроектированные по методологии ASIC (как области типа БМК или схем со стандартными ячейками), оптимизированные для заданной функции
и не имеющие средств её программирования.
Реализация функций специализированными аппаратными ядрами требует значительно меньшей площади кристалла в сравнении с реализациями на единых программируемых средствах и улучшает другие характеристики схемы, в первую очередь, быстродействие блоков, но уменьшает универ-сальность ПЛИС.
Слайд 12Классификация ПЛИС по кратности программирования (1)
Слайд 13Архитектура SPLD
SPLD (Simple Programmable Logic Devices) – простые программируемые логические
устройства.
По архитектуре эти ПЛИС делятся на 2 подкласса:
программируемые логические матрицы
ПЛМ (PLA, Programmable Logic Arrays)
программируемая матричная логика ПМЛ (PAL, Programmable Arrays Logic, или GAL, Generic Array Logic).
Оба эти подкласса микросхем реализуют ДНФ переключательных функций.
Основными блоками SPLD являются две матрицы:
матрица элементов И;
матрица элементов ИЛИ,
включённые последовательно.
Слайд 14Архитектура ПЛМ (1)
Первые ПЛМ появились в 1980-х годах.
Основой ПЛМ является
последовательность программируемых матриц элементов «И» и «ИЛИ»,
а также блоки
входных и выходных буферных каскадов (БВх и БВых).
Слайд 16Архитектура ПЛМ (3)
Основные параметры ПЛМ:
Число входов m;
Число термов
l;
Число выходов n;
Матрица И – конъюнкторы.
Матрица ИЛИ – дизъюнкторы.
Число
формируемых термов равно числу конъюнк-торов (эл-ты И). Число дизъюнкторов (эл-ты ИЛИ) равно числу вырабатываемых функций n.
ПЛМ реализует ДНФ воспроизводимых функций (двухуровневую логику). Какие именно термы будут выработаны и какие комбинации этих термов составят выходные функции, определяется программиро-ванием ПЛМ.
Слайд 17Архитектура ПЛМ. Пример. (1)
Реализуем следующую систему функций:
Слайд 19Архитектура ПМЛ
Недостаток архитектуры ПЛМ – слабое использование ресурсов программируемой матрицы
ИЛИ, поэтому дальнейшее развитие получили микросхемы, построенные по архитектуре ПМЛ
(PAL, GAL).
ПМЛ имеют программируемую матрицу элементов И и фиксиро-ванную матрицу элементов ИЛИ.
Слайд 20Базовые матричные кристаллы (1)
Базовый матричный кристалл (БМК) представляет собой универсальное
устройство для реализации в интегральном исполнении различных цифровых и цифро-аналоговых
схем.
БМК являются предшественниками FPGA и имеют с ними ряд родственных черт.
Функционирование БМК приспосабливается к требова-ниям заказчика на заключительных этапах производства,
а полуфабрикаты производятся в массовом количестве без ориентации на конкретного заказчика. Это обходится значительно дешевле и требует меньше времени
на проектирование. Такие БИС называют полузаказными.
Развитие БМК привело к появлению их разновидностей: канальные, бесканальные и блочные архитектуры.
Слайд 21Базовые матричные кристаллы (2)
Достоинства БМК:
значительно более высокая надёжность в сравнении
с ПЛИС
и микропроцессорами в условиях воздействия спецфакторов;
применение БИС на
основе БМК гарантирует значительное сокращение сроков разработки аппаратуры, снижение трудоемкости проектных работ;
в ряде случаев БМК позволяет реализовать как цифровые,
так и линейные схемы;
БМК имеют малую мощность потребления, обеспечивают возможность построения аппаратуры с малыми весовыми
и габаритными характеристиками;
важное преимущество БМК относится к области квалификационных испытаний. Проведённые при освоении производства БМК квалификационные испытания распространяются на все микросхемы, изготовленные на основе этого БМК.
Слайд 22Канальные БМК
Канальные БМК представляют собой совокупность регулярно расположенных на кристалле
базовых ячеек (БЯ), между которыми имеются свободные
для создания соединений
каналы.
Каналы – вертикальные и горизонтальные. Могут быть только вертикальные каналы.
Канальные БМК имеют низкую плотность упаковки, т.к. площадь тратится на межсоединения.
Слайд 23Бесканальные БМК
Бесканальные БМК не имеют фиксированных каналов. Любая область может
быть использована как для создания логической схемы, так и для
создания межсоединений. Характерны для КМОП-схемотехники.
Важной характеристикой БМК является
число слоёв межсоединений (2–6).
В случае двухслойной трассировки
на нижнем уровне соединяются
элементы внутри БЯ и связи
по вертикальным каналам. Второй
слой даёт разводку горизонтальных
трасс и линий питания, земли,
синхронизации.
В 4-х слойном кристалле: 1-й слой – связи внутри БЯ; 2-й – вертикальные трассы; 3-й – горизонтальные трассы; 4-й слой – обслуживающие соединения.
Слайд 24Блочные БМК
Блочные БМК упрощают построение комбинированных устройств, содержащих
как блоки
обработки данных, так и память
и другие специализированные блоки.
Слайд 25ПЛИС типа CPLD (1)
ПЛИС с архитектурой CPLD – продолжение линии
ПМЛ.
CPLD состоят из центральной коммутационной матрицы, множества функциональных блоков (именуемых
также макроячейками, макро-элементами) и блоков ввода-вывода
на периферии кристалла.
Центральная коммутационная матрица – программируемая матрица соединений (ПМС).
Функциональные блоки (ФБ) по архитектуре подобны PLD.
В CPLD используется непрерывная
или одномерно непрерывная система связей, причём все связи идентичны, что даёт хорошую предсказуемость задержек сигналов.
Слайд 27ПЛИС типа FPGA
Устройство FPGA сходно с БМК.
Внутри размещается множество регулярно
расположенных идентичных конфигурируемых логических блоков (КЛБ), между которыми проходят трассировочные
каналы, а на периферии кристалла расположены блоки ввода/вывода (БВВ или IOB – Input/Output Bloсk).
В качестве КЛБ используют различные структуры:
1. Транзисторные пары, элементы И-НЕ, ИЛИ-НЕ и т.п.
2. Логические модули на основе мультиплексоров.
3. Логические модули на основе программируемых ПЗУ, являющихся блоками табличного типа LUTs (Look-Up Tables). Набор аргументов является адресом той ячейки, в которой хранятся значения функции).
Важной характеристикой КЛБ является их зернистость – т.е. насколько «мелкими» будут те части, из которых можно собрать нужные схемы.
Слайд 30ПЛИС типа FPGA (4)
Область применения FPGA: реализация алгоритмов ЦОС (цифровой
обработки сигналов), основными операциями
в которых являются: перемножение, умножение на
константу, суммирование, задержки сигналов.
Слайд 31Проектирование ПЛИС. Постановка задачи
Основные трудности при развитии идеи ПЛИС как
идеи свободного проектирования и изготовления разработчиком произвольного цифрового устройства заключались
в невозможности использования простого инженерного подхода и необходимости создания новых математических методов синтеза цифровых структур в некотором элементном базисе на основе описания целевой логической функции.
Требовалось во взаимосвязи решить следующие задачи:
определить элементный базис ПЛИС – достаточно развитый, чтобы реализовать необходимые функции целевых устройств, и достаточно простой, чтобы время расчётов на инструментальном компьютере при синтезе не было чрезмерным;
разработать математические методы синтеза устройств
(в выбранном базисе), декомпозиции, компиляции, межэлементной трассировки, функционального моделирования и временного анализа;
создать интегрированную систему проектирования цифровых устройств на ПЛИС.
Слайд 32Развитие способов конфигурирования ПЛИС
Программирование ПЛИС первого поколения – микросхем типа
PLA (программируемые логические матрицы – ПЛМ) осуществлялось в кодах через
заполнение таблицы истинности.
Позже появились микросхемы типа PAL и стали применяться языки программирования ассемблерного типа, как например PALASM.
В настоящее время БИС программируемой логики имеют степень интеграции до нескольких миллионов эквивалентных вентилей, быстродействие (ввода-вывода) до 500 МГц и более.
В качестве средств описания проектов применяются:
языки высокого уровня типа HDL (Hardware Description Language), например, AlteraHDL (AHDL), VHDL, Verilog HDL и
автоматизированные средства схемного ввода.
Слайд 33Языки описания аппаратуры
Языки описания аппаратуры (Hardware Description Language) служат для
формального описания дискретных устройств вычислительной техники и могут быть использованы
на всех этапах разработки цифровых электронных систем.
Наиболее распространённые языки описания аппаратуры:
AHDL (Altera HDL) – язык описания аппаратуры, предназначенный для ПЛИС фирмы Altera; поддерживается
в САПР этой фирмы.
VHDL (Very-High-Speed Hardware Description Language) – универсальный стандартный язык описания аппаратуры; поддерживается САПР различных производителей.
Verilog – универсальный стандартный язык описания аппаратуры; поддерживается САПР различных производителей.
Слайд 34Этапы проектирования систем
на базе ПЛИС
Проектирование дискретных управляющих и вычислительных
систем
и устройств обычно разбивается следующие крупные этапы:
алгоритмический;
логический;
схемотехнический;
топологический.
На начальном —
алгоритмическом — этапе проектирования осуществляется моделирование исходного формального задания
на проектирование системы, написанного на языке высокого уровня, верификация и переход от исходного описания к функциональному описанию. Формальное задание на проектирование часто называют проектом.
На следующем этапе логического проектирования проект детализируется – решаются задачи синтеза логических схем в заданных технологических базисах, проводится моделирование схем
на логическом (0, 1) уровне, строятся тесты.
Слайд 35Этапы проектирования систем
на базе ПЛИС (2)
Последующие этапы проектирования определяются
элементным базисом: если устройство реализуется в виде отдельной БИС (большой
интегральной схемы) или СБИС (сверхбольшой интегральной схемы), то реша-ются задачи схемотехнического и топологи-ческого проектирования кристаллов, если же устройство реализуется на стандартных, уже выпускаемых промышленностью микросхемах, то дополнительно решаются задачи проектирования печатных плат и т. д.
Слайд 37Особенности проектирования
Использование ПЛИС, выполненных в виде СБИС, требует решения специфических
задач «трансляции» исходных алгоритмических описаний (описаний логических схем) в технологический
формат файла программирования микросхемы либо формат файла описания конфигурации ПЛИС.
Если цифровая система не может быть реализована на одной ПЛИС,
то приходится решать задачу разбиения (декомпозиции) проекта
на сеть взаимосвязанных ПЛИС.
Начальные этапы алгоритмического и логического проектирования являются определяющими. Именно на данных этапах определяются основные характеристики систем и устройств:
сложность,
быстродействие,
тестопригодность.