FPGA (Field Programmable Gate Arrays) - программируемые пользователем вентильные матрицы 1.

Презентация:



Advertisements
Похожие презентации
CPLD (Complex Programmable Logic Device) - сложные программируемые логические устройства 1.
Advertisements

Л е к ц и я 8 ПЛИС семейства VIRTEX. HDL&FPGA технологии проектирования КС2 Архитектура Virtex.
Тема урока: ТРИГГЕР. или не не Разнообразие современных компьютеров очень велико. Но их структуры основаны на общих логических принципах, позволяющих.
Учебный курс Введение в цифровую электронику Лекция 2 Базовые элементы цифровой электроники кандидат технических наук, доцент Новиков Юрий Витальевич.
МИКРОСХЕМЫ С ПРОГРАММИРУЕМОЙ СТРУКТУРОЙ 1. Начальные сведения о ПЛИС 2 ПЛИС (Programmable Logic Devices) представляют собой новую электронную компонентную.
Московский Государственный Университет Приборостроения и Информатики Основы программируемой логики.
Семинар 1 Архитектура интегральных схем с программируемой структурой (ПЛИС) Список литературы: Угрюмов Е. П. Цифровая схемотехника: Учеб. Пособие для вузов.
4. Средние интегральные схемы. Если каждая из малых интегральных схем (МИС) выполняют одну простейшую операцию, то каждая из средних интегральных схем.
Интерфейсы цифроаналоговых преобразователей. Цифровые интерфейсы выполняют функцию связи управляющих входов ключей ЦАП с источниками цифровых сигналов.
Программируемые логические устройства Классические ПЛМ.
Триггеры и суммоторы Устройства АЛУ. Основные устройства АЛУ АЛУ – арифметическо-логическое устройство, входит в состав процессора Выполняет арифметические.
Компьютерные технологии ЭЛЕМЕНТНАЯ БАЗА ЭВМ Элементы Элементы для обработки единичных электрических сигналов, соответствующих битам информации Узлы Узлы.
Вычислительные системы, сети и телекоммуникации ЭЛЕМЕНТНАЯ БАЗА ЭВМ Элементы Элементы для обработки единичных электрических сигналов, соответствующих битам.
Учебный курс Введение в цифровую электронику Лекция 3 Цифровые устройства с внутренней памятью кандидат технических наук, доцент Новиков Юрий Витальевич.
Элементная база ЭВМ Вычислительные системы, сети и телекоммуникации © МЦИТ ГУАП 2008 Элементы для обработки единичных электрических сигналов, соответствующих.
Лекция 11. ПЛИС ч. 1 Схемотехника ЭВМ ч.2 НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИСТЕТ Мальчуков Андрей Николаевич Томск –
Irina Логические элементы компьютера Логические схемы, триггеры, сумматоры.
АРХИТЕКТУРА КОМПЬЮТЕРА При рассмотрении компьютерных устройств принято различать их архитектуру и структуру. Архитектурой компьютера называется его описание.
Тема 8 Мультиплексоры и демультиплексоры. Универсальные логические модули на основе мультиплексоров. Компараторы.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 11 Микрокоманды и микрооперации профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович.
Транксрипт:

FPGA (Field Programmable Gate Arrays) - программируемые пользователем вентильные матрицы 1

Области применения и возможности 2 Возможности: 1) Построение реконфигурируемых систем: одна и та же аппаратная часть может выполнять различные преобразования после соответствующей перестройки. 2) Задачи логической эмуляции: система из микросхем программируемой логики легко создается и модифицируется, может работать с реальными сигналами и частотами. 3) Построение динамически реконфигурируемых систем: в динамически реконфигурируемых системах уже имеется (хранится) набор предварительно загруженных настроек, быстро сменяющих друг друга соответственно требованиям реализуемого алгоритма. 4) FPGA-процессоры: FPGA-процессоры могут давать хорошие результаты при параллельной обработке данных, где большое число переменных преобразуется сходным образом. FPGA реализуются с уровнем интеграции, близкой к максимальному. Это является достоинством МС. Это обеспечивает их максимальные функциональные возможности. Области применения FPGA: - отработка прототипов блоков и систем при их проектировании, даже если их конечная реализация рассчитана на другие средства; -создание конечной продукции для изделий не слишком большой тиражности быстрыми и эффективными способами.

Программируемые элементы FPGA 3 Рис. 1 Программируемые перемычки antifuse Для FPGA характерны следующие виды программируемых ключей, состояния которых задают конфигурацию схеме, формируемой на кристалле: - перемычки типа antifuse; - ключевые транзисторы, управляемые триггерами; - флэш-ключи. Программирующий импульс напряжения пробивает перемычку из поликремния- диэлектрика и создает в ней проводящий канал. Рис. 2 Схема ключа, управляемого триггером памяти конфигурации При программировании на линию выборки подается высокий потенциал, и транзистор Т1 включается. С линии записи-чтения подается сигнал, устанавливающий триггер в состояние логической "1", что замкнет ключ, или "0", что разомкнет ключ. В рабочем режиме транзистор Т1 заперт и триггер сохраняет неизменное состояние. Рис. 3 Схема флэш-ключа Главным элементом ключа служит пара транзисторов с общим плавающим затвором.

Базовая архитектура FPGA 4 Рис. 4 Фрагмент базовой архитектуры Во внутренней области FPGA базовой архитектуры по строкам и столбцам размещаются идентичные функциональные блоки ФБ (КЛБ, конфигурируемые логические блоки), между которыми проходят трассы межсоединений. В состав ФБ входят: - функциональный (логический) преобразователь (ФП); - триггер (регистр RG); - мультиплексоры (MUXs), играющие роль средств конфигурирования ФБ. При конфигурировании FPGA функциональные (логические) блоки настраиваются на выполнение требуемых операций, а система соединений - на требуемые связи между элементами и блоками.

Усложненная архитектура FPGA 5 Рис. 5 Структура FPGA усложненной архитектуры В схемах FPGA с усложненной архитектурой помимо уже перечисленных блоков применяются и дополнительные, к которым относятся: - ресурсы памяти; - умножители; - схемы управления синхросигналами (PLL, DLL); - блоки ЦОС (цифровой обработки сигналов); - блоки обработки аналоговых и аналого- цифровых данных. На рис. 5: ALM – адаптивные логические модули; M9K – блок памяти емкостью 9 Кбит; M144K – блок памяти емкостью 144 Кбит PLL (Phase Locked Loop) – система фазовой автоподстройки частоты; DLL (Delay Lock Loop) – система автоподстройки задержки.

Логические блоки 6 Рис. 6 Реализация логической функции с помощью мультиплексорного ЛБ В качестве КЛБ или просто ЛБ используются: -SLC (Simple Logic Cells) – простые логические вентили; - логические модули на основе мультиплексоров; - LUT-блоки (Look0Up Table) – программируемые ЗУ. Это наиболее распространенная разновидность логического преобразователя. Одной из характеристик ЛБ является их «зернистость», определяющая размер и функциональность ЛБ: 1) Мелкозернистость ЛБ ведет к гибкости их использования, возможностям реализовать воспроизводимые функции разными способами, получая разные варианты в координатах "площадь кристалла - быстродействие". В то же время она усложняет систему межсоединений в связи с большим числом программируемых точек связи. 2) Среднезернистые ЛБ. Пример ЛБ фирмы Actel, состоящий из трех мультиплексоров и и элемента ИЛИ-НЕ: Подключая ко входам определенные сочетания переменных и констант, можно получить в целом 702 различных варианта.

Логические блоки 7 Рис. 7 Логический блок семейства Spartan (Xilinx) 3) Крупнозернистые ЛБ. В FPGA с триггерной памятью конфигурации обычно применяют крупнозернистые блоки, в которых реализуются более сложные функции. Это ведет к упрощению программируемой части межсоединений, но затрудняет полное использование логических элементов блоков, что может привести к излишним затратам площади кристалла и снижению быстродействия. На рис. 7: Логические преобразования выполняются тремя LUT-блоками. Преобразователи G и F – программируемые ЗУ с организацией 16 1, способные воспроизводить функции 4 переменных; Преобразователь H с организацией 8 1 служит для образования «функции от функций»; Линии DIN и SR используются либо для передачи в триггер непосредственно входных данных и сигнала установки/сброса (Set/Reset), либо как входы преобразователя H.

Логические блоки 8 Рис. 8 Способ воспроизведения функций многих переменных методом каскадирования. Δ, # - объединяющие элементы Для получения функций с числом аргументов, превышающим возможности отдельных функциональных блоков, используются цепочки каскадирования. При этом блоки ФП соседних элементов параллельно во времени вычисляют частичные функции, а цепи каскадирования образуют последовательную цепочку для их объединения. Воспроизведение функций многих переменных Функции многих переменных можно получить и другим способом, применяя обратные связи. При этом сначала вырабатывается некоторая функция ограниченного числа аргументов (в данном случае четырех), затем она вводится в качестве одного из входов в другой ЛЭ и т. д. В результате вычисляется "функция от функций" c числом аргументов, превышающим 4. Рис. 9 Способ воспроизведения функций многих переменных методом обратных связей

Логические блоки 9 Логический элемент FPGA семейства Cyclone (Altera) представлен на рис. 10. Арифметический режим логического элемента ( рис. 9.9, б) применяется при построении сумматоров, счетчиков, компараторов. Рис. 10 Схема логического элемента в арифметическом режиме Регистр может конфигурироваться как D, T, JK или RS и имеет входы данных, тактирования, разрешения тактирования и сброса (сигналы управления регистром являются общими для всего логического блока). Сигналы от LUT-блока могут поступать на выходы как комбинационные (с обходом регистра) или регистровые.

Логические блоки 10 Пример включения ЛБ в матрицу межсоединений показан на рис. 11. В логический блок входят 16 логических элементов и локальные межсоединения. Блок имеет общие для логических элементов сигналы управления, в нем организуются цепь переноса и цепь регистров. Локальные межсоединения коммутируют логические элементы в пределах блока, получая сигналы как от выходов логических элементов блока, так и от трассировочных столбцов и строк. Для связей с соседними схемами (логикой, памятью, умножителями) предусмотрены прямые связи. Рис. 11 Логический блок и его межсоединения

Системы межсоединений 11 Линии связей в FPGA обычно сегментированы, т. e. составлены из отдельных проводящих сегментов (участков, не содержащих ключей). Сегменты соединяются друг с другом программируемым элементом связи (ключом). Целесообразна иерархическая система связей с несколькими типами межсоединений для передач на разные расстояния. Поэтому в системе межсоединений применяются сегменты различной длины. Цели построения системы связей - максимальная коммутируемость блоков при минимальном количестве ключей, а также, по возможности, предсказуемость задержек, облегчающая проектирование. Рис. 12 Связи общего назначения с линиями одинарной длины Иерархическая система межсоединений FPGA фирмы Xilinx Система связей включает в себя: - связи общего назначения (General-Purpose Interconnects); - длинные линии (Long Lines); - прямые связи (Direct Interconnects); - линии тактирования (Clock Lines).

Системы межсоединений 12 Рис. 13 Трассировочные ресурсы FPGA Xilinx Иерархическая система межсоединений FPGA фирмы Xilinx Для ускорения и упрощения дальних передач приняты специальные меры. Для передач на большие расстояния с малой задержкой или для передач на разные приемники с малым расфазированием сигналов служат длинные линии. Могут применяться несколько типов длинных линий: горизонтальные и вертикальные (по несколько на каждую строку и столбец логических блоков), линии для тактирования блоков ввода/вывода (вдоль блоков ввода/вывода), так называемые глобальные линии с выходами на определенные БВВ и т. д. Для связей с соседними логическими блоками ЛБ часто применяются локальные прямые связи. Кроме системы коммутации для логических блоков некоторые FPGA могут иметь дополнительные трассировочные ресурсы VersaRing, расположенные в виде кольца между матрицей КЛБ и блоками ввода/вывода. Эти ресурсы позволяют с помощью конфигурирования изменять назначение вводов/выводов микросхемы и облегчают тем самым модификацию проекта, реализованного на FPGA, без влияния на разводку печатных плат, на которых монтируются микросхемы.

Системы межсоединений 13 Рис. 14 Структура двухуровневых межсоединений Двухуровневая система соединений FPGA фирмы Altera В основе лежит стремление обеспечить предсказуемость задержек сигналов в системе коммутации и их идентичность. Эти факторы существенно облегчают проектирование для сложных схем высокого быстродействия. Двухуровневая коммутация порождает два уровня иерархии логических преобразователей (рис. 14). Наименьшая единица логических ресурсов - логический элемент ЛЭ (LE, Logic Element). Группа логических элементов совместно со средствами локальных межсоединений образует логический блок ЛБ (LAB, Logic Array Block). Логические блоки содержат логические элементы и связи для их внутриблочной коммутации (локальную программируемую матрицу соединений). Межблочная коммутация реализуется строками и столбцами соединений второго уровня.

Системы межсоединений 14 Двухуровневая система соединений FPGA фирмы Altera В логический блок входят n логических элементов LE1…LEn, схема передачи им сигналов управления (мультиплексор 3) и локальная программируемая матрица соединений ЛПМС. Остальные элементы относятся к системе межблочной коммутации, которая обеспечивается горизонтальными и вертикальными трассами (строками и столбцами), т. е. группами линий фиксированной, но разной длины, как проходящих вдоль всех логических блоков строки или столбца, так и распространяющихся на меньшие расстояния. Рис. 15 Средства двухуровневых межсоединений

Блоки ввода-вывода 15 Блок ввода-вывода семейства Spartan (Xilinx) Режим вывода. Режим вывода обслуживается выходным буфером 1, триггером 1, мультиплексорами 1, 2, 5 и логической схемой ИЛИ. Сигналы T и GTS (Global Tri State) согласно логике ИЛИ управляют переводом буфера в третье состояние. Используется так называемый мягкий старт (Soft Start Up), снижающий помехи при конфигурировании схемы и ее переходе к рабочему режиму. Режим ввода. Тракт ввода содержит входной буфер 2, триггер 2, программируемые мультиплексоры 3, 4, 6, элемент задержки DEL и программируемые схемы (Pull-Up/Pull-Down) задания определенных потенциалов выводу, к которому не подключен информационный сигнал. Вводимый сигнал в зависимости от программирования мультиплексоров 3 и 4 поступает непосредственно в FPGA (по входным линиям I1 и I2) или же фиксируется триггером и с его выхода передается в эти линии. Триггеры могут конфигурироваться как тактируемые фронтом или как защелки. Рис. 16 Схема блока ввода-вывода

СПАСИБО ЗА ВНИМАНИЕ