Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы автоматизации Ямный,Яновский

.pdf
Скачиваний:
88
Добавлен:
29.02.2016
Размер:
1.36 Mб
Скачать

256), причем для каждой макроячейки возможен как синхронный режим работы, так и асинхронный.

При возрастании числа PAL-блоков сложно обеспечить необходимые соединения между ними без значительного увеличения размеров матрицы переключений. Поэтому в семействе МАСН5, образующем третье поколение MACH-устройств, реализована двухуровневая архитектура соединений. Матрица переключений образована одной глобальной шиной и несколькими локальными шинами. Все PAL-блоки объединены в сегменты по 4 PAL-блока в каждом. Локальные шины обеспечивают соединения между PAL-блоками одного сегмента, а глобальная шина – между всеми сегментами.

Многократные матричные таблицы – МАХ-устройства. Рассмот-

рим архитектуру этих устройств на примере ПЛИС семейства МАХ 5000 фирмы Altera. Она представляет собой совокупность блоков логических матриц (Logic Array Blocks LAB) или LAB-модулей, объединенных в одно устройство с помощью программируемой матрицы межсоединений (рис. 11.5). Каждый LAB-модуль имеет множество двунаправленных выводов. Блок управления вводом-выводом позволяет каждый двунаправленный вывод настраивать как вход, выход или оставлять двунаправленным выводом. Все LAB-модули пронизаны поступающими с входов ПЛИС сигналами синхронизации, сброса и установки в третье состояние каждой макроячейки.

Входы

Блок управления вводом/ выводом

Блок управления вводом/ выводом

LAB

LAB

Матрица межсоединений

Блок LAB управления вводом/ выводом

Блок LAB управления вводом/ выводом

Рис. 11.5. Обобщенная структура MAХ 5000

Каждый LAB-модуль состоит из программируемой матрицы И, матрицы макроячеек и расширителя промежуточных шин матрицы И (рис. 11.6). Матрица макроячеек реализует комбинационные функции, объединяя сформированные программируемой матрицей И произведения

141

по ИЛИ либо по исключающему ИЛИ. Предусмотрена настройка на комбинационный или регистровый выход. При этом образованный триггерами макроячеек регистр может эмулировать D-, T-, JK- или SR- триггеры.

Расширитель промежуточных шин обеспечивает возможность реализации функций ИЛИ от большого числа переменных. Он может быть также использован для построения дополнительных триггеров или входных регистров.

Входы

8-20

 

 

межсоединенийМатрица

16

ИМатрица

24

 

 

LAB A

Матрица макроячеек

Расширитель промежуточных шин

8-20

Блок управления вводом/выводом

4-16

Двунаправленные выводы

К другим LAB

Рис. 11.6. LAB-модуль МАХ 5000

В МАХ-устройствах задержка прохождения сигнала с любого входа на любой выход не является постоянной. Она зависит от выбранной конфигурации макроячеек и, естественно, от пути, по которому входной сигнал достигает выхода. Эта особенность, с одной стороны, усложняет разработку устройств, так как требует выполнения временного тестирования и анализа. С другой же стороны, она позволяет повысить быстродействие реализованного устройства по сравнению с его реализацией на МАСН-устройствах путем выбора оптимального пути прохождения входных сигналов.

FLEX-устройства. Разработанные фирмой Atmel CPLD, названные матрицами элементов гибкой логики (FLEX) или просто FLEX-устрой- ствами, представляют собой матрицу блоков логических элементов (LAB) или LAB-модулей. Каждый LAB-модуль состоит из восьми логических элементов, объединенных локальной программируемой матрицей межсоединений (рис. 11.7).

Логические блоки связаны между собой и с элементами ввода/вывода посредством глобальной программируемой матрицы соедине-

142

ний. Глобальная матрица соединений разделена на горизонтальные (строки) и вертикальные (столбцы) каналы межсоединений. Элементы

Горизонтальный

 

ЕAB-

 

 

 

канал (строка)

 

 

 

 

 

модуль

 

 

 

межсоединений

 

 

 

 

 

 

 

 

 

 

 

IOE

IOE

IOE

IOE

IOE

IOE

IOE

 

 

 

 

 

IOE

IOE

 

 

 

 

 

IOE

LAB-

 

 

 

 

 

Локальное

модуль

 

 

 

 

 

 

 

 

 

 

межсоединение

 

 

 

 

 

 

IOE

 

 

 

 

 

IOE

IOE

 

 

 

 

 

IOE

 

 

 

 

 

 

Логический

 

 

 

 

 

 

элемент

 

 

 

 

 

 

Вертикальный

 

 

 

 

 

 

канал (столбец)

 

 

 

 

 

 

межсоединений

Элементы вво-

 

 

 

 

 

 

да/вывода

IOE

IOE

IOE

IOE

IOE

IOE

 

Логическая

Вложенная

 

Логическая

 

матрица

матрица

 

матрица

 

Рис. 11.7. Обобщенная структура FLEX-устройства фирмы Altera

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

Локальная и глобальная матрицы соединений имеют непрерывную структуру – для каждого соединения выделяется непрерывный канал. Это позволяет значительно сократить число точек коммутации сигнала и легко предсказывать задержки формируемых сигналов.

Посредине горизонтальных каналов межсоединений располагаются блоки вложенной матрицы (ЕАВ-модули), представляющие собой быстродействующее ОЗУ с изменяемой конфигурацией. Кроме возможностей построения ОЗУ и эмулирования ПЗУ блоки вложенной матрицы позволяют реализовать сложные логические функции с очень высоким быстродействием. С их помощью эффективно реализуются арифметические

143

операции, тригонометрические функции, цифровые фильтры, алгоритмы корректировки ошибок и др.

Большие функциональные возможности FLEX-устройств позволяют применять их в таких областях, как цифровая обработка сигналов, передача данных, управление информационными каналами идр.

11.4. Программируемые пользователем вентильные матрицы

Рассмотрим архитектуру программируемых пользователем вентильных матриц FPGA на примере ПЛИС семейства Virtex фирмы Xilinx.

ПЛИС семейства Virtex производятся на основе статического ОЗУ, поэтому их функционирование определяется загружаемыми во внутренние ячейки памяти конфигурационными данными. Они могут загружаться в кристалл из внешнего ПЗУ под управлением самой ПЛИС или под управлением внешних устройств.

Конфигурационные данные создаются пользователем при помощи программного обеспечения, включающего в себя схемный и текстовый ввод проекта, моделирование, автоматическое и ручное размещение и трассировку, создание, загрузку и верификацию загрузочных данных.

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

Соединение между КЛБ осуществляется с помощью главных трассировочных матриц, представляющих собой матрицу программируемых двунаправленных переключателей, расположенных на пересечении горизонтальных и вертикальных каналов.

Интерфейс ввода/вывода создает дополнительные трассировочные ресурсы по периферии кристалла, улучшающие общую «трассируемость» устройства и возможности трассировки после закрепления электрических цепей к конкретным контактам.

Коды, записанные в ОЗУ, управляют настройкой логических элементов и коммутаторами трасс, осуществляющими межсоединения в схеме. Эти коды загружаются в ОЗУ после включения питания и могут перезагружаться в процессе работы, если необходимо изменить реализуемые микросхемой функции.

144

Блоки ввода/вывода (БВВ)

DLL

 

Блоки ввода/вывода (БВВ)

DLL

предназначены для согласования

 

внутренних и внешних уровней

 

 

 

Интерфейс ввода/вывода

 

 

логических

сигналов,

усиления

вводаБлоки/вывода (БВВ)

 

 

 

)БВВ(вывода/ввода Блоки

 

 

 

 

 

 

 

сигналов до необходимой нагру-

 

 

Блочнаяпамять

 

памятьБлочная

 

 

зочной

способности,

защиты

 

 

 

 

 

щие как динамические D-триг-

 

 

 

 

 

внутренних цепей FPGA от элек-

 

 

 

 

Матрица

 

 

 

 

трических повреждений и т. д.

 

 

 

 

КЛБ

 

 

 

 

БВВ содержит запоминаю-

 

 

 

 

 

 

 

 

щие элементы, функционирую-

 

 

 

 

 

 

 

 

 

геры

или

как стробируемые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D-триггеры. На каждый БВВ по-

 

 

 

 

 

 

 

 

 

дается входной сигнал синхро-

DLL

 

Блоки ввода/вывода (БВВ)

DLL

низации и независимые для каж-

 

 

 

 

 

 

 

 

 

 

Рис. 11.8. Архитектура ПЛИС Virtex

дого триггера сигналы разреше-

 

 

 

 

 

 

 

 

 

 

ния тактирования. Предусмотрена индивидуальная для каждого триггера асинхронная (синхронная) установка в единичное состояние и асинхронный (синхронный) сброс в нулевое состояние.

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

Конфигурируемые логические блоки (КЛБ) предназначены для реа-

лизации логических функций, задаваемых пользователем.

Каждый КЛБ содержит четыре логические ячейки, состоящие из функционального генератора, логики ускоренного переноса и запоминающего элемента. Кроме того, каждый КЛБ содержит логику, которая позволяет комбинировать ресурсы функциональных генераторов для реализации функций пяти или шести переменных.

Каждый функциональный генератор может быть также использован как ОЗУ размерностью 16x1 бит. Более того, из двух функциональных генераторов можно реализовать ОЗУ размерностью 16х2 бита или 32х1 бит. На функциональном генераторе может быть реализован 16 битовый сдвиговый регистр, который идеально подходит для захвата высокоскоростных или пакетных потоков данных. Этот режим может использо-

145

ваться также для запоминания данных в приложениях цифровой обработки сигналов.

Запоминающие элементы КЛБ могут конфигурироваться как динамические триггеры (чувствительные к фронту сигнала) D-типа либо как стробируемые триггеры D-типа. D-вход триггера может управляться либо от функционального генератора в рамках той же секции КЛБ, либо непосредственно от входов данной секции КЛБ, минуя функциональные генераторы.

Логика ускоренного переноса обеспечивает наилучшую реализацию на ПЛИС различных арифметических функций.

В FPGA семейства Virtex встроена особая блочная память большой емкости. Блоки памяти организованы в виде столбцов. Все устройства Virtex содержат два таких столбца, по одному вдоль каждой вертикальной кромки. Каждый блок памяти равен по высоте четырем КЛБ, таким образом, микросхема Virtex, имеющая 64 КЛБ по высоте, содержит 16 блоков памяти на колонку и 32 блока памяти в целом.

Программируемые межсоединения. Быстродействие проекта огра-

ничивает величина задержки для наиболее длинной трассы. Поэтому архитектура трассировочных ресурсов и программы размещения и трассировки создавались с учетом использования их в едином процессе оптимизации. Этот совместный процесс оптимизации минимизирует наиболее длинные пути и, таким образом, создает проект с наилучшей системной производительностью.

Модули автоподстройки задержки (DLL) устраняют перекос за-

держек между синхросигналом на входном контакте микросхемы и сигналами на тактовых входах внутренних схем устройства. Схема DLL отслеживает сигнал синхронизации на входном контакте микросхемы и тактовый сигнал, распределяемый внутри кристалла, затем автоматически устанавливает необходимую задержку. Эта система эффективно устраняет задержку распределения сигналов синхронизации, гарантируя, что фронты синхросигналов на входе микросхемы и на внутренних тактовых входах с большой точностью синхронны.

FPGA семейства Virtex позволяют реализовать высокопроизводительные, большой емкости, цифровые устройства на одном кристалле. Резкое увеличение эффективности реализаций достигнуто благодаря новой архитектуре, более эффективной для размещения и трассировки элементов. Это позволяет использовать кристаллы Virtex как альтернативу CPLD и масочно-программируемым вентильным матрицам.

146

147