Файл: Вводый курс цифровой электроники (К.Фрике, 2003).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 15.06.2025

Просмотров: 4538

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

14'S. Программируемые полем вентильные матрицы (FPGA)

скал конфигурация устанавливается программой, которая хранится в статическом RAM, выполненном в кристалле. В начале работы статическое RAM загружается из ROM. В альтернативном вари­ анте FPGA может быть запрограммирована, например, с помощью пережигаемых перемычек.

Ниже описывается семейство FPGA РСЗООО, выпускаемое ком­ панией Xilinx ИЗГОТОВИТЕЛЕМ ПОЛУПРОВОДНИКОВЫХ ПРИ­ БОРОВ. Речь идет о семействе logic cell arrays (матриц логических ячеек).

Data In .

MUX

10

ID

^0

1

j>Cl

Xi

1

PLD

Уо

Хз

Х4

yi

MUX

ID

iO

j>Cl

1

EN.

ENCLK.

CLK

DIRRST-

>1

INHIBIT.

программируемый

Global

мультиплексор

RST'

Рис, 14.16. Конфигурируемый логический блок (CLB) FPGA из семейства ХСЗООО компании Xilinx.

Архитектура FPGA может быть разделена на 3 типа блоков, из которых формируются различные конфигурации:

Логика сведена в образующие различные конфигурации блоки (CLB, configurable logic blocks). CLB соответствуют приблизитель­ но одному PAL и могут быть запрограммированы с помощью кон­ фигурационной программы. CLE размещены в форме матрицы в центральной части FPGA.

Входы и выходы реализованы с помощью блоков input/output (lO-blocks). Их можно включить как вход, выход, выход типа tri-


Глава 14' Программируемые логические блоки

state или как двунаправленный интерфейс. Ю-блоки размещены на краю FPGA рядом с выводами корпуса.

Соединительные линии реализованы в виде программируемой сети, которая подключает друг к другу CLB и Ю-блоки. Програм­ мируемые переключательные матрицы располагаются между CLE.

14.8.2. Конфигурируемые логические блоки (CLB)

Все CLB идентичны. Они размещаются в виде матриц, соответству­ ющих размерам FPGA. Так, например, модуль ХС3090, входящий в семейство ХСЗООО, содержит 12 х 12 == 144 CLE. Каждый CLB со­ держит логическую схему с 5 входами, которые выведены наружу, и с двумя входами, которые могут служить как входы для организа­ ции обратной связи с последующими схемами. Два D-триггера мо­ гут быть использованы для хранения признаков состояний. Но они могут быть загружены также и через вход Data In. Для управле­ ния модулем служат входы «прямой возврат в исходное состояние» (direct reset) DIR DST^ вход тактового сигнала CLK и разреша­ ющий (enable) тактовый вход ENCLK. Конфигурация логической функции логической схемы хранится в описанном конфигурацион­ ном ЗУ. Переключение схемы от D-триггера к драйверу (управля­ ющей схеме) осуществляется с помощью адресации мультиплексора на основе конфигурационной программы.

14.8.3. Ю-блоки

Для каждого подсоединяющегося вывода предусмотрен свой Ю-блок (блок вход-выход). Например, модуль ХС3090 имеет 166 выводов и столько же Ю-блоков. В каждый Ю-блок входят дополнительные элементы, обеспечивающие следующие возможности:

Настройка на различные логические уровни (ТТЛили КМОПуровни), которая может программироваться с помощью «под­ тягивающего» сопротивления (pull-up resistor).

Защита от перенапряжений с помощью диодов.

• Промежуточное ЗУ для ввода и вывода данных.

Но возможен также и прямой выход.

Возможность программирования выхода как выхода типа tristate. При этом через буфер выход делается активным или высокоомным.


14-8. Программируемые полем вентильные матрицы (FPGA)

14.8.4. Соединительные линии

Гибкость FPGA обеспечивается в значительной мере за счет про­ граммирования разводки. В nFPGA ^\ля этого имеется два уровня металлизации. Присутствующие линии могут быть иными способа­ ми соединены между собой на основе использования переключатель­ ных матриц и «программируемых точек связи» (PIP, programmable interconnect points). Входы CLB и Ю-блоков могут быть запрограм­ мированы так, что они будут подключены к окружающим их линиям.

инвертировать

инвертировать

выход

сопротивление

выход

OTE

прям/рег

для

1

подтягивания]

уровня

ОЕ

M U X

EN

=1

1

'

ID

о

OUT ,

t>Cl

R

Dir IN

TTL

Reg. IN

ID

CMOS

CI

4

R

Global

RST-

CLKl-

CLK2-

lO-PAD

программирующее

соединение

программируемый

мультиплексор

Р и с . 14 . 17 . Конфигурируемый блок Ю семейства ХСЗООО компании ХШпх.

Имеются следующие типы соединительных элементов:

В проходах между CLB размещено по 5 горизонтальных и по 5 вертикальных соединительных линий. Эти линии обозначают­ ся как «связь общего назначения» (general purpose interconnect).


344Глава Ц- Программируемые логические блоки

Для быстрого соединения используется «прямая связь» (direct interconnection).

Для соединения на большие расстояния используются «длин­ ные линии».

14.8.5. Программирование FPGA

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

либо в схематической форме, на основе графического ввода,

либо на языке программирования, например, на языке VHDL (VLSI hardware description language) или на языке ABEL.

В случае FPGA компании Xilinx эти данные конвертируются

всписок связей базовых модулей, именуемый XNF-файл. Он содержит данные всех вентилей и соединения между ними. Но при этом не учитываются физические данные соединительных линий, например, время задержки.

Список связей (net list) задает основу для перепроверки логиче­ ский функций схемы.

Взаключение на основе XNF-файла может быть проведено рас­ пределение вентилей по CLB (implementation, реа-яизация). Одновре­ менно устанавливаются соединительные линии. Этот процесс назы­ вают «размещение и маршрутизация» (place and route). При этом учитываются такие данные пользователя, как положение выводов, критические пути и т.д. Данные известной схемы запоминаются в LCA-файле (line control array). На основе этого возможно имитиро­ вание схемы с реальными значениями времен задержек.

ВLCA-файле генерируется поток битов, содержащий данные о конфигурации. В FPGA данные запоминаются в триггерах, кото­ рые в процессе создания конфигурации включаются как длинный сдвиговый регистр. Число конфигурационных битов в зависимости от размеров FPGA варьируется между 12 кбит и 420 кбит. При определенной конфигурации FPGA могут быть включены друг за другом (цепочка типа «ромашки», daisy chain). При этом при за­ грузке поток битов пробегает вначале одну, потом другую FPGA

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


Ц.9. EPLD

14.9. EPLD

EPLD («стираемые программируемые логические устройства erasable programmable logic device), которые также называют CPLD, создаются с помощью УФ-излучения. Они очень хорошо подходят А^ля малых серий и лабораторных образцов.

14.9.1. Пример EPLD:CY7C343

EPLD CY7C343, разработанное компанией Cypress, выполнено по технологии, используемой для КМОП-EPROM.

Максимальная мощность рассеяния корпуса с 44-выводами, со­ ставляет 2,5 Вт. Могут быть использованы различные тактовые частоты, начиная с 100 МГц. Архитектура EPLD представлена на рис. 14.18.

Ядром EPTD является центральная матрица соединений, кото­ рые связывают между собой группы конструктивно объединенных элементов. В схему входят 28 двунаправленных интерфейсов, кото­ рые управляются через Ю-порты, и 8 простых входов. Логика со­ брана в 4 блока, каждый из которых содержит 16 макроячеек. Ма­ кроячейка содержит триггер и логику в форме PLА («программи­ руемой логической матрицы»). Каждая из макроячеек имеет выход, ведущий к центральной матрице соединений. Некоторые из макроячеек имеют связь с Ю-блоками. Другие применяются как «скрытая логика».

14.10. Gate-Arrays

Gate-arrays представляют собой специализированные в соответствии с применением ИС (ASIC's), в составе которых изготовителем пред­ лагается матрица из вентилей с фиксированной геометрией (т.н. mas­ ter-slaves, пластины с базовыми кристаллами). Изготовитель струк­ турирует в соответствии с требованиями заказчика только метал­ лизированные межсоединения. Предлагаются gate-arrays, содержа­ щие до 25000 вентилей. Для их изготовления используется, как пра­ вило, КМОП-технология.

Gate-arrays можно подразделить по видам обрабатываемых сигналов:

цифровые

аналоговые

смешанные цифровые и аналоговые или по структуре:

channeled gatе-arrays, канализированные вентильные матрицы (соединительные проводники проходят по специальным каналам)