Содержание
-
Проектирование цифровых устройств на языке VHDL
Основы программируемой логики 1
-
Применение ПЛИС
2
-
Цифровое устройство – дискретные микросхемы
Большое число различных компонентов Сложные печатные платы Плохая взаимозаменяемость Проблемы обеспечения нестандартных функций 3 I/O I/O I/O CPU Flash SDRAM DSP
-
Цифровое устройство – ПЛИС
Совмещение различных компонент в одной МС Упрощение устройства Возможность введения новых функций без изменения конструкции Снижение стоимости и энергопотребления 4 Flash SDRAM FPGA DSP I/O I/O I/O CPU
-
Некоторые сферы применения
Бытовая техника Обработка сигналов Цифровое телевидение Промышленность САР / САУ Измерительное оборудование Телекоммуникации Коммутационное оборудование Безопасность Защищенные системы связи Специальные электронные устройства 5
-
История развития программируемой логики
6
-
Дискретная TTL-логика
Примитивы реализованы в отдельных микросхемах: NAND, OR, … мультиплексоры, дешифраторы, сумматоры… триггеры, регистры, … Конструкция устройства определяется ценой и доступной номенклатурой элементов 7
-
Дискретная TTL-логика (разработка)
8 Произвольная логическая функция Логическая функция в заданном базисе Схемотехническая реализация Перевод в базис имеющихся элементов Минимальная логическая функция Минимизация логической функции Разработка схемы устройства
-
9 не используются
-
Реализация логических функций
Логические функции… Могут быть выражены в базисе И-ИЛИ-НЕ Различные функции задаются соединением элементов Для хранения результата используются триггеры Что если… Логический базис фиксирован Все логические элементы совмещены на одном устройстве Соединения задаются пользователем 10
-
Программируемые логические матрицы (ПЛМ)
Ячейка ПЛМ Programmable Array Logic (PAL) Наиболее простая реализация логических функций Логические элементы и триггеры фиксированы Соединения задаются пользователем 11 может подаваться на вход других ячеек соединения задаются пользователем и формируют «монтажное И» может не использоваться
-
Технология программирования
FAMOS (Floating-gate Avalanche injection MOS transistor) FLOTOX (Floating-gate Tunnel Oxide transistor) 12 При программировании транзисторыс плавающим затвором переводятся в непроводящее состояние
-
Технология программирования – FAMOS
Запись напряжением Стирание ультрафиолетом (EPROM) 13 до программирования – обычный транзистор после программирования 0 1 1 0 0 или 1 1
-
Технология программирования – FLOTOX
Запись напряжением Стирание обратным напряжением (EEPROM) 14 до программирования – транзистор всегда открыт после программирования 0 1 0 1 всегда открыт 0 или 1 1
-
Преимущества программируемой логики
Снижение числа микросхем Ниже стоимость и энергопотребление Меньше занимаемая площадь Повышение безопасности Труднее восстановить схему Простота внесения изменений Совместимость по выводам микросхем Многократное программирование (в том числе внутрисхемное) Наличие средств автоматизированного проектирования 15
-
Основы программируемой логики
16
-
От PAL к PLD
PLD (Programmable Logic Device) – соединение нескольких программируемых логических матриц в одном устройстве 17 различное число аргументов настраиваемые макроячейки
-
Настраиваемая макроячейка
18 двунаправленный режим комбинационный или регистровый выход реализация обратной связи
-
От PLD к CPLD
CPLD (Complex PLD) – соединение нескольких PLD в одном устройстве 19 Настраиваемые связи Логический блок Блок ввода/вывода Блок ввода/вывода Логический блок Логический блок Логический блок Логический блок Логический блок Логический блок Логический блок
-
Логический блок CPLD
Обычно называется LAB (Logic Array Block) Содержит несколько макроячеек (от 4 до 20) Связи программируются (как в PLD) Обратные связи позволяют вычислять конъюнкции только один раз для всех макроячеек 20 обратные связи
-
Настраиваемые связи
Programmable Interconnect Array (PIили PIA) Принцип аналогичен ПЛМ Глобальные связи позволяют соединить любой сигнал с любым другим: Между логическими блоками (LAB) Между логическими блоками и выводами микросхемы Программирование по технологии EPROM / EEPROM / Flash 21
-
Блоки ввода-вывода
Обеспечивают интерфейс с внешним миром Соединены с логическими блоками через PIA (в PLD – напрямую) Различные режимы ввода-вывода Pull-up или pull-down Несколько стандартов Направление: входной, выходной или двунаправленный (через тристабильные буферы) 22
-
Внутрисхемное программирование
In-System Programming (ISP) Напряжение программирования вырабатывается CPLD Управляющий интерфейс указывает, куда прикладывается напряжение Простой 4-проводной последовательный интерфейс JTAG Позволяет работать с несколькими устройствами Может использоваться также для самотестирования 23 данные проходят по цепочке устройств
-
Преимущества CPLD
Низкая стоимость Большая логическая емкость Программируемые внутренние связи Готовы к работе сразу после подачи питания Энергонезависимая конфигурация Возможность многократного программирования 24
-
Что такое FPGA?
25
-
Увеличение емкости CPLD
При увеличении логической емкости CPLD сложность соединений растет экспоненциально А если упорядочить блоки LAB в массив и соединять только соседние? 26 PI LAB LAB LAB LAB PI LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB экспоненциальный рост сложности линейный рост сложности
-
Field Programmable Gate Array (FPGA)
LAB упорядочены в двумерную матрицу Связи располагаются между столбцами и строками матрицы Линии связей могут распространяться на всю FPGA или ее часть 27 LAB Связи по столбцам Связи по строкам Локальные соединения внутри сегмента
-
FPGA LE
LAB состоят из логических элементов (Logical Element, LE) В CPLD – из программируемой матрицы соединений Основные блоки LE: Логическая таблица (Look-Up Table, LUT) Блок переноса (Carry Logic) Настраиваемый регистр 28 LUT (4 входа) Carry Logic Reg
-
FPGA LE (Altera Cyclone)
29 Логическая таблица Блок переноса Выходной регистр
-
Логическая таблица (LUT)
Заменяет программируемую матрицу соединений в LAB CPLD Реализует произвольную функцию Обычно не более 4 входов Входы LUT выбирают значения мультиплексоров 30 D C B A Входы LUT Значение функции Программируемые логические уровни (EEPROM или SRAM)
-
Блок переноса и настраиваемый регистр
Блок переноса Позволяет каскадировать LE Не задействует LUT и регистр при построении каскада Настраиваемый регистр Режим работы: D-, T-, JK-или RS-триггер Входы асинхронной установки и сброса Подача выхода на вход LUT (обратная связь) Обход регистра или LUT 31
-
Маршрутизация сигналов
Любой LE может обмениваться информацией с любым другим LE Локальные соединения Соединяют LE внутри LAB Могут также соединять соседние LAB в FPGA Связи по столбцам и строкам Состоят из сегментов фиксированной длины Охватывают несколько LAB или всю FPGA 32
-
Блоки ввода/вывода
Также называются элементами ввода/вывода (I/O elements) Подключены напрямую к связям по срокам и столбцам Обеспечивают настраиваемый ввод/вывод Направление (вход / выход / двунаправленный) Стандарт (LVTTL, LVCMOS, PCI, …) Формирование дифференциального сигнала Выходной ток Pull-up / pull-down … 33
-
Другие особенности FPGA
Встроенные блоки памяти Упрощают создание структур памяти (RAM, ROM, …) Могут быть инициализированы при подаче питания Аппаратные умножители Используются в DSP Высокоскоростные операции умножения / сложения Высокоскоростные трансиверы Замена некоторых LAB специализированными блоками 34
-
Синхронизация
Особенности синхросигнала Очень чувствителен к временным параметрам Высокий коэффициент разветвления Маршрутизация синхросигнала Отдельные выводы микросхемы FPGA Отдельная сеть маршрутизации (clock routingnetwork) Глобальная сеть снабжает всю FPGA Региональные сети обслуживают отдельные области FPGA Специальные структуры для работы с синхросигналом Блоки фазовой автоподстройки частоты (PLL) Блоки управления синхросигналом 35
-
Структуры для работы с синхросигналом
Блок фазовой автоподстройки частоты (Phase-Locked Loop, PLL) Умножение и деление частоты Сдвиг фазы Настраиваемая скважность Переключение между несколькими входными синхросигналами Различные режимы компенсации задержек Блок управления синхросигналом (Clock Control Block, CCB) Является промежуточным звеном между источником синхросигнала (выводом МС, PLL или внутренней логикой) и глобальной сетью маршрутизации Позволяет динамически выбирать источник синхросигнала Обеспечивает отключение сети при необходимости 36
-
Программирование FPGA
Большинство FPGA используют SRAM для задания связей и программирования LUT 37 столбцы строки связи по строкам и столбцам
-
SRAM является энергозависимой Необходима инициализация после подачи питания Долговременное хранение конфигурации вне FPGA Режимы программирования: Активный: управляется FPGA после подачи питания Пассивный: управляется внешним устройством (CPLD, CPU, …) Возможно программирование по интерфейсу JTAG 38
-
Сравнение CPLD и FPGA
39
-
Аппаратные особенности
40
-
Отличительные черты
41
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.