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

Download Report

Transcript Презентация 3

FPGA (Field Programmable
Gate Arrays) программируемые
пользователем вентильные
матрицы
1
Области применения и возможности
FPGA реализуются с уровнем интеграции, близкой к максимальному. Это
является достоинством МС. Это обеспечивает их максимальные
функциональные возможности.
Области применения FPGA:
- отработка прототипов блоков и систем при их проектировании, даже если их
конечная реализация рассчитана на другие средства;
-создание конечной продукции для изделий не слишком большой тиражности
быстрыми и эффективными способами.
Возможности:
1) Построение реконфигурируемых систем: одна и та же аппаратная часть может выполнять
различные преобразования после соответствующей перестройки.
2) Задачи логической эмуляции: система из микросхем программируемой логики легко создается и
модифицируется, может работать с реальными сигналами и частотами.
3) Построение динамически реконфигурируемых систем: в динамически реконфигурируемых
системах уже имеется (хранится) набор предварительно загруженных настроек, быстро сменяющих
друг друга соответственно требованиям реализуемого алгоритма.
4) FPGA-процессоры: FPGA-процессоры могут давать хорошие результаты при параллельной
обработке данных, где большое число переменных преобразуется сходным образом.
2
Программируемые элементы FPGA
Для FPGA характерны следующие виды
программируемых
ключей,
состояния
которых задают конфигурацию схеме,
формируемой на кристалле:
- перемычки типа antifuse;
- ключевые транзисторы, управляемые
триггерами;
- флэш-ключи.
Рис. 1 Программируемые перемычки antifuse
Программирующий
импульс
напряжения
пробивает
перемычку из
поликремниядиэлектрика и создает в ней проводящий
канал.
Главным
элементом
ключа служит
пара
транзисторов с
общим
плавающим
затвором.
Рис. 3 Схема флэш-ключа
Рис. 2 Схема ключа, управляемого триггером
памяти конфигурации
При программировании на линию выборки подается
высокий потенциал, и транзистор Т1 включается. С линии
записи-чтения подается сигнал, устанавливающий триггер
в состояние логической "1", что замкнет ключ, или "0", что
разомкнет ключ. В рабочем режиме транзистор Т1 заперт и
триггер сохраняет неизменное состояние.
3
Базовая архитектура FPGA
Во внутренней области FPGA базовой
архитектуры по строкам и столбцам
размещаются
идентичные
функциональные
блоки
ФБ
(КЛБ,
конфигурируемые логические блоки),
между
которыми
проходят
трассы
межсоединений.
В состав ФБ входят:
функциональный
(логический)
преобразователь (ФП);
- триггер (регистр RG);
- мультиплексоры (MUXs), играющие
роль средств конфигурирования ФБ.
При
конфигурировании
FPGA
функциональные
(логические)
блоки
настраиваются
на
выполнение
требуемых
операций,
а
система
соединений - на требуемые связи между
элементами и блоками.
Рис. 4 Фрагмент базовой архитектуры
4
Усложненная архитектура FPGA
В
схемах
FPGA
с
усложненной
архитектурой помимо уже перечисленных
блоков применяются и дополнительные,
к которым относятся:
- ресурсы памяти;
- умножители;
- схемы управления синхросигналами
(PLL, DLL);
- блоки ЦОС (цифровой обработки
сигналов);
- блоки обработки аналоговых и аналогоцифровых данных.
На рис. 5:
ALM – адаптивные логические модули;
M9K – блок памяти емкостью 9 Кбит;
M144K – блок памяти емкостью 144 Кбит
PLL (Phase Locked Loop) – система
фазовой автоподстройки частоты;
DLL (Delay Lock Loop) – система
автоподстройки задержки.
Рис. 5 Структура FPGA усложненной архитектуры
5
Логические блоки
В качестве КЛБ или просто ЛБ
используются:
-SLC (Simple Logic Cells) – простые
логические вентили;
- логические
модули
на
основе
мультиплексоров;
- LUT-блоки
(Look0Up
Table)
–
программируемые ЗУ. Это наиболее
распространенная
разновидность
логического преобразователя.
Одной из характеристик ЛБ является их
«зернистость», определяющая размер и
функциональность ЛБ:
1) Мелкозернистость ЛБ ведет к гибкости
их
использования,
возможностям
реализовать воспроизводимые функции
разными способами, получая разные
варианты в координатах "площадь
кристалла - быстродействие". В то же
время
она
усложняет
систему
межсоединений в связи с большим
числом программируемых точек связи.
2) Среднезернистые ЛБ. Пример ЛБ фирмы
Actel, состоящий из трех мультиплексоров и и
элемента ИЛИ-НЕ:
Рис. 6 Реализация логической функции с помощью
мультиплексорного ЛБ
Подключая ко входам определенные сочетания
переменных и констант, можно получить в
целом 702 различных варианта.
6
Логические блоки
3) Крупнозернистые ЛБ. В FPGA с триггерной
памятью конфигурации обычно применяют
крупнозернистые блоки, в которых реализуются
более сложные функции. Это ведет к
упрощению
программируемой
части
межсоединений,
но
затрудняет
полное
использование логических элементов блоков,
что может привести к излишним затратам
площади
кристалла
и
снижению
быстродействия.
На рис. 7:
Логические
преобразования
выполняются
тремя LUT-блоками. Преобразователи G и F –
программируемые ЗУ с организацией 161,
способные
воспроизводить
функции
4
переменных;
Преобразователь H с организацией 81 служит
для образования «функции от функций»;
Линии DIN и SR используются либо для
передачи в триггер непосредственно входных
данных и сигнала установки/сброса (Set/Reset),
либо как входы преобразователя H.
Рис. 7 Логический блок семейства Spartan (Xilinx)
7
Логические блоки
Воспроизведение функций многих переменных
Для получения функций с числом аргументов,
превышающим
возможности
отдельных
функциональных блоков, используются цепочки
каскадирования. При этом блоки ФП соседних
элементов параллельно во времени вычисляют
частичные функции, а цепи каскадирования
образуют последовательную цепочку для их
объединения.
Рис. 8 Способ воспроизведения функций многих
переменных методом каскадирования. Δ, # объединяющие элементы
Функции многих переменных можно получить и
другим способом, применяя обратные связи.
При этом сначала вырабатывается некоторая
функция ограниченного числа аргументов (в
данном случае четырех), затем она вводится в
качестве одного из входов в другой ЛЭ и т. д. В
результате вычисляется "функция от функций" c
числом аргументов, превышающим 4.
Рис. 9 Способ воспроизведения функций многих
переменных методом обратных связей
8
Логические блоки
Логический элемент FPGA
семейства Cyclone (Altera)
представлен на рис. 10.
Арифметический
режим
логического элемента (
рис. 9.9, б) применяется
при
построении
сумматоров,
счетчиков,
компараторов.
Регистр может конфигурироваться как D, T, JK
или RS и имеет входы данных, тактирования,
разрешения тактирования и сброса (сигналы
управления регистром являются общими для
всего логического блока). Сигналы от LUT-блока
могут
поступать
на
выходы
как
комбинационные (с обходом регистра) или
регистровые.
Рис. 10 Схема логического элемента в
арифметическом режиме
9
Логические блоки
Пример включения ЛБ в матрицу
межсоединений показан на рис. 11.
В логический блок входят 16
логических элементов и локальные
межсоединения. Блок имеет общие
для логических элементов сигналы
управления, в нем организуются цепь
переноса
и
цепь
регистров.
Локальные
межсоединения
коммутируют логические элементы в
пределах блока, получая сигналы как
от выходов логических элементов
блока, так и от трассировочных
столбцов и строк. Для связей с
соседними
схемами
(логикой,
памятью,
умножителями)
предусмотрены прямые связи.
Рис. 11 Логический блок и его межсоединения
10
Системы межсоединений
Линии связей в FPGA обычно
сегментированы, т. e. составлены из
отдельных проводящих сегментов
(участков, не содержащих ключей).
Сегменты соединяются друг с другом
программируемым элементом связи
(ключом).
Целесообразна
иерархическая
система связей
с несколькими
типами межсоединений для передач
на разные расстояния. Поэтому в
системе
межсоединений
применяются сегменты различной
длины.
Цели построения системы связей максимальная
коммутируемость
блоков при минимальном количестве
ключей, а также, по возможности,
предсказуемость
задержек,
облегчающая проектирование.
Иерархическая система межсоединений FPGA фирмы Xilinx
Рис. 12 Связи общего назначения с линиями одинарной длины
Система связей включает в себя:
- связи
общего
назначения
(General-Purpose
Interconnects);
- длинные линии (Long Lines);
- прямые связи (Direct Interconnects);
- линии тактирования (Clock Lines).
11
Системы межсоединений
Иерархическая система межсоединений FPGA фирмы Xilinx
Для ускорения и упрощения дальних передач
приняты специальные меры. Для передач на
большие расстояния с малой задержкой или для
передач на разные приемники с малым
расфазированием сигналов служат
длинные
линии. Могут применяться несколько типов
длинных линий: горизонтальные и вертикальные
(по несколько на каждую строку и столбец
логических блоков), линии для тактирования
блоков
ввода/вывода
(вдоль
блоков
ввода/вывода), так называемые глобальные линии
с выходами на определенные БВВ и т. д. Для
связей с соседними логическими блоками ЛБ
часто применяются локальные прямые связи.
Рис. 13 Трассировочные ресурсы FPGA Xilinx
Кроме системы коммутации для логических блоков
некоторые
FPGA
могут
иметь
дополнительные
трассировочные ресурсы VersaRing, расположенные в
виде кольца между матрицей КЛБ и блоками
ввода/вывода. Эти ресурсы позволяют с помощью
конфигурирования изменять назначение вводов/выводов
микросхемы и облегчают тем самым модификацию
проекта, реализованного на FPGA, без влияния на
разводку печатных плат, на которых монтируются
микросхемы.
12
Системы межсоединений
Двухуровневая система соединений FPGA фирмы Altera
В основе лежит стремление обеспечить
предсказуемость задержек сигналов в системе
коммутации и их идентичность. Эти факторы
существенно облегчают проектирование для
сложных схем высокого быстродействия.
Двухуровневая коммутация порождает два уровня
иерархии логических преобразователей (рис. 14).
Наименьшая единица логических ресурсов логический элемент
ЛЭ (LE, Logic Element).
Группа логических элементов совместно со
средствами локальных межсоединений образует
логический блок ЛБ (LAB, Logic Array Block).
Логические блоки содержат логические элементы
и связи для их внутриблочной коммутации
(локальную
программируемую
матрицу
соединений).
Межблочная
коммутация
реализуется строками и столбцами соединений
второго уровня.
Рис. 14 Структура двухуровневых межсоединений
13
Системы межсоединений
Двухуровневая система соединений FPGA фирмы Altera
В логический блок входят n логических
элементов LE1…LEn, схема передачи им
сигналов управления (мультиплексор 3) и
локальная программируемая матрица
соединений ЛПМС.
Остальные элементы относятся к
системе
межблочной
коммутации,
которая
обеспечивается
горизонтальными
и
вертикальными
трассами (строками и столбцами), т. е.
группами линий фиксированной, но
разной длины, как проходящих вдоль
всех логических блоков строки или
столбца, так и распространяющихся на
меньшие расстояния.
Рис. 15 Средства двухуровневых межсоединений
14
Блоки ввода-вывода
Блок ввода-вывода семейства 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 Схема блока ввода-вывода
15
СПАСИБО ЗА ВНИМАНИЕ