Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
глава 7 готово.doc
Скачиваний:
19
Добавлен:
15.09.2019
Размер:
1.67 Mб
Скачать

7.4. Fpga-программируемые пользователем вентильные матрицы

7.4.1. Архитектура и блоки fpga

Программируемые пользователем вентильные матрицы (FPGA или ППВМ) топологи­чески сходны с канальными БМК. Их основой служит матрица регулярно расположенных по строкам и столбцам идентичных конфигурируемых логических блоков. Между строка­ми и столбцами логических блоков проходят трассировочные каналы, содержащие ресурсы межсоединений. При программировании логические блоки настраиваются на тре­буемые операции преобразования данных, а трассировочные ресурсы - на обеспечение нужных взаимных соединений логических блоков. В результате во внутренней области FPGA реализуется функциональная схема проектируемого устройства. В периферийной области кристалла, по его краям, размещены блоки ввода/вывода, обеспечивающие ин­терфейс FPGA с другими микросхемами, причем в современных FPGA схемы ввода/ вывода способны выполнять требования множества стандартов на сигналы передачи данных, число которых может доходить до 20.

Свойства и возможности FPGA зависят прежде всего от ключевых архитектур­ных факторов — типа логических блоков и системы межсоединений.

Важной характеристикой логических блоков (ЛБ) является зернистость (granularity). Зернистость характеризует уровень разбиения схемы блока на коммутируемые при про­граммировании части. Примерами наиболее мелкозернистых логических блоков могут служить цепочки транзисторов с р- и n-каналами, с помощью которых можно собирать логические схемы непосредственно из пар транзисторов по обычной методике реализа­ции КМОП-логики. Мелкозернистость придает гибкость использованию схемных элемен­тов кристалла, но усложняет систему межсоединений. Более крупнозернистые блоки используются в большинстве FPGA и имеют довольно разнообразный характер.

Типичными представителями логических блоков FPGA являются:

  • логические модули на основе мультиплексоров;

  • логические модули на основе программируемой памяти (блоки типа LUT- Look-Up Tables).

В некоторых FPGA применяют логические блоки, состоящие из нескольких малораз­мерных Известно, что мультиплексоры могут работать в режиме универсальных логических модулей, если на их адресные входы подавать аргументы переключательной функции, а на информационные -настроечные сигналы. При настройке константами 0 и 1 мульти­плексор размерности 2n - 1 воспроизводит функции п переменных, что иллюстрируется на рис. 7.11, а примером для функции двух переменных. Действительно, комбинация х1х0 = 00 определяет передачу на выход мультиплексора сигнала DO с нулевого инфор­мационного входа. Если на этом входе задано в качестве настроечного сигнала значение функции при нулевом аргументе F(0), то на выходе получим искомый результат. Комбинация х1х0 = 01 передает на выход сигнал D1, и если D1 = F(1), то получим необходимый результат и для этого набора аргументов и т. д. Таким образом можно получать с помощью мультиплек­сора любую функцию n аргументов.

В некоторых FPGA применяют логические блоки,состоящие из нескольких мультиплексоров (2-1,4-1), получая при этом программируемые логические блоки с широкими логическими возможностями.

Самые распространенные логические блоки FPGA - табличные (LUTs). Эти блоки называют часто табличными функциональными преобразователями. В них используют­ся программируемые запоминающие устройства. При этом набор аргументов служит ад­ресом, по которому записывается соответствующее значение функции, если память имеет одноразрядную организацию, или значения m функций, если разрядность хранимых слов равна т. Число аргументов воспроизводимых функций равно разрядности адреса памя­ти. Табличные функциональные преобразователи (рис. 7.11, б) воспроизводят любые функции данного числа аргументов.

Для систем межсоединений FPGA характерны сегментированные линии, составлен­ные из отдельных отрезков, соединяемых друг с другом программируемыми элемента­ми. Программируемые соединительные элементы могут быть размещены в так называе­мых переключательных блоках, конфигурируемых так, чтобы составить из сегментов не­обходимые цепи. Программируемые соединительные элементы (ключи) вносят в линии передач сигналов задержки, так как имеют паразитные параметры (сопротивление R и емкость С). Задержки, обусловленные постоянными времени ключей RC, доминируют над другими, так что число ключей в линии передачи сигнала практически определяет и задержку в линии связи.

Выбор длин сегментов - непростая задача, поскольку короткие сегменты затрудняют передачи сигналов на большие расстояния (появится большое число ключей в линии), а длинные сегменты неудобны для реализации коротких передач. Обычно применение однотипных сегментов не может дать удовлетворительных результатов, и система межсо­единений организуется как иерархическая. Так, например, в широко известных FPGA фир­мы «Xilinx» ресурсы межсоединений содержат основные связи (General Purpose Interconnects) с сегментами единичной длины, основные связи с сегментами двойной дли­ны, так называемые прямые связи для соединения логических блоков с ближайшими сосе­дями (Direct Connects) и длинные линии (Long Lines), пересекающие кристалл по всей его длине и ширине для передач сигналов на большие расстояния и с малыми задержками.

На рис. 7.12, а представлена структура FPGA с простейшей системой межсоединений, содержащей только основные связи с единичной длиной сегментов. Через ЛБ обозначены

конфигурируемые логические блоки (для краткости принято обозначение ЛБ, в котором конфигурируемость не обозначена, также обозначаются конфигурируемые логические блоки и в дальнейшем). В структуру входят также переключательные блоки ПБ и соединитель­ные блоки СБ. Соединительные блоки обеспечивают связи ПБ с трактами передач сигна­лов, проходящими через переключательные блоки.

В сущности, это совокупность пересечений линий ввода/вывода логических блоков с линиями, проходящими через переключательные блоки, с элементами программируемых соединений в точках пересечений. Схема ПБ раскрыта на рис. 7.12, б. Сигналы, поступаю­щие по какой-либо линии в ПБ, могут быть направлены далее по трем направлениям, что обеспечивается наличием в ПБ показанных зачерненными квадратами схем, представ­ленных на рис. 7.12, в. Иными словами, сигналы могут передаваться по горизонтальным или вертикальным линиям и переходить с одних на другие.

Ресурсы межсоединений в FPGA в полном виде показаны на рис. 7.13 на примере микросхемы ХС4000Е фирмы «Xilinx» . Здесь наряду с основными связями единичной длины (восемь линий в каждом из направлений) имеются основные связи с линиями двойной длины (четыре линии в каждом из направлений), шесть вертикальных и шесть горизонтальных длинных линий и четыре линии глобального, т. е. общего для всей мик­росхемы тактирования.

В сегментированных линиях межсоединений задержки сигналов зависят от путей их распространения, так как пути неидентичны и в них может оказаться разное число ключей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]