КЛЕВО_FPGA
.pdfГлава 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. При этом через буфер выход делается активным или высокоомным.
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, канализированные вентильные матрицы (соединительные проводники проходят по специальным каналам)
Глава Ц' Программируемые логические блоки
sea-of gates, «море вентилей» (соединительные проводники про ходят по матричным ячейкам).
Input
Input |
|
1 |
|
|
|
|
С1> |
|
|
Input/ |
|
|
|
|
|
||
|
|
^ |
^ |
CLK |
|
|
|
|
|||
|
|
макроячейка1 |
|
||
|
|
|
макроячейка 56 |
|
|
|
|
макроячейка 2 |
|
макроячейка 55 |
-CZ] |
lO-Ports |
|
макроячейка 3 |
|
макроячейка 54 |
- d ] |
|
|
макроячейка 4 |
|
макроячейка 53 |
lO-Ports |
|
|
макроячейка 5 |
|
макроячейка 52 |
|
|
|
|
|
||
|
|
макроячейка 6 |
|
макроячейка 51 |
|
|
|
макроячеики |
|
макроячейка 50 |
-CZ] |
|
|
7-16 |
|
макроячейка 49 |
- £ d |
|
|
|
|
макроячейки |
|
|
|
I |
|
57-64 |
|
|
EZh |
|
макроячейка 38 |
4ZD |
|
|
|
макроячейка 17 |
|
|
|
|
|
макроячейка 18 |
|
макроячейка 37 |
4ZD |
|
EZh |
макроячейка 19 |
|
макроячейка 36 |
-ZZ] lO-Ports |
lO-Ports |
[IZh |
макроячейка 20 |
|
макроячейка 35 |
-zz: |
|
[ZD- |
макроячейка 21 |
|
макроячейка 34 |
|
|
|
макроячейка 22 |
|
макроячейка 33 |
- C Z |
|
CZh |
макроячейка 23 |
|
макроячейки |
|
|
|
макроячейка 24 |
|
39-48 |
|
|
|
макроячейки |
|
|
|
|
|
25-32 |
|
|
|
Р и с . |
14 . 18 . |
А р х и т е к т у р а E P L D |
CY7C343 компании Cypress. |
|
|
14.10.1. Структура канализированных вентильных матриц
Gate-arrays (рис. 14.19) состоит из матрицы с однородными ячейка ми, периферийных ячеек и тестовых структур. Между ними рас положены каналы р^ля соединительных трасс. Матрица gate-arrays может иметь несколько сотен выводов.
Однородные матричные ячейки содержат по несколько пар р- и п-МОП транзисторов. Вначале, на базовом кристалле эти МОППТ между собой не связаны. В подобном виде у изготовителя хра нится запас полупроводниковых пластин с базовыми матричными кристаллами. Затем может быть осуществлено создание конкрет ной схемы в соответствии со специфическими требованиями заказ чика. Д,ля этого могут быть использованы один или несколько уров-
14-10. Gate-Arrays
нений, обеспечивающая конфигурацию заказной ИС, например ин вертор, показана серым цветом. Не этого не потребуется вся ячейка. Поскольку для инвертору нужны только два транзистора, осталь ные компоненты не используются. Для мощного возбудителя парал лельно подключается 2 дополнительных транзистора.
Впериферийных ячейках содержатся мощные каскады, подключен ные к выводам. На основе специализированной в соответствии с применением разводки периферийные ячейки могут быть включе ны в качестве входа, выхода или как двунаправленный интерфейс.
Втестовые и специализированные структуры входят, например, «модуль управления процессом» (РСМ, process controle module), зна ки совмещения, обозначение кристалла, номер версии. В каналах разводки располагаются проводники, связывающих отдельные вен тили.
|
|
'DD |
1 |
1 |
-о у |
Хо |
|
|
|
И— |
|
Xi |
b |
|
|
|
|
Х2 |
|
|
Р и с . 14.23. Электрическая схема |
библиотечной ячейки: НЕ-И-вентиль с |
|
тремя входами жо, a:i, Ж2 и выходом |
у. |
|
Комплексные ASIC можно экономично производить только с по мощью поддерживаемых компьютерами инструментальных систем проектирования. Проектирование производится, как правило, на рабочих станциях заказчика, или, все в большей степени, на пер сональных компьютерах. Преимуществом вентильных матриц (gate arrays) является то, что изготовитель имеет готовую библиотеку с протестированными схемами матричных ячеек, в число которых входят, например, отдельные вентили (малый уровень интеграции, SSI), мультиплексоры (средний уровень интеграции, MSI) и малые микропроцессоры (СБИС, LSI). Пользователь может на основе этой библиотеки разрабатывать ИС на основе собственных проектов, по-
350 Глава 14Программируемые логические блоки
лагаясь при этом на то, что за счет применения точной модели ИС (почти) всегда начнет сразу функционировать.
14.1 I. ASIC со стандартными ячейками
ASIC со стандартными ячейками имеют больше степеней свободы, чем вентильные матрицы (gate-arrays).
Они имеют следующие особенности:
•ширина стандартных ячеек произвольна, фиксирована только высота;
•содержание ячеек является произвольным;
•возможны аналоговые функции;
•размеры каналов для разводки определяются требованиями за казчика (то есть являются заказными);
•особые функции: предлагаются ROM и RAM, выполненные по специальной технологии;
•все фотошаблоны являются заказными;
•размеры кристаллов (чипов) являются заказными.
ASIC со стандартными ячейками имеют следуюш;ие достоинства
инедостатки:
•плотность интеграции выше, чем у gate-arrays, вследствие чего стоимость в пересчете на вентиль меньше;
•стоимость разработки и время разработки больше, чем в слу чае gate-arrays, вследствие чего ASIC со стандартными ячейка ми могут стать рентабельными только при производстве пар тии около 30000 ИС в год;
•изготовитель поставляет программное обеспечение для тести рования библиотечных ячеек;
•сроки поставки больше, чем в случае gate-arrays.
В ASIC со стандартными ячейками структура библиотечных ячеек определяется специальными требованиями. Поэтому плоиладь кристалла меньше, чем у gate-arrays. В качестве альтернативного варианта может быть проведена оптимизация быстродействия.
14-12. ASIC на основе полностью заказного проектирования 35
14.12.ASIC на основе полностью заказного проектирования
ASIC на основе полностью заказного проектирования не отличается от обычных стандартных ИС. При проектировании разработчику предоставляется полная свобода. Изготовитель предлагает только лишь инструменты проектирования, которые адаптированы к ха рактеристикам процесса изготовления.
14.13. Упражнения
Задача 14.1. Пусть с помощью одной программируемой логической матрицы (PLА) должны быть реализованы три булевых функции /о, /1^/2- Отметьте в приведенной ниже схеме необходимые соединения точками и обозначте выводы PLA.
/о |
(а, 6, с, d) = ady ^a^bcd |
/1 |
(а, Ь, с, d) — -^ab V -^cd-^abcd V а -^bcd |
/2 (а, b,c,d) ^^{{аУЬУ -^с){-^сУ d) (-па V с V ^d))
Ггт>1 1 Р
Х\ U1 Р
Х2 1п>i 1 р хз 1гт>i 1 р
| & il& II& I & {|& 1
>1 fo
— fl
>1 12
Задача 14.2. Пусть с помощью одной PLA должны быть реализо ваны 2 булевых функции /о и / i . Обозначьте на схеме необходимые соединения точками и обозначьте выводы.
/о (а, 6, с, d) = ^a-^b-^c^d V ab-^c-^d V a-^b-^c-^d V -^ab-^cdM V -^a-^bcd V -^abcd
/1 (a, 6, c, 6?) = ^a^b-^c^d V ab-^cd V -^a-^bcd V -^abc-^ d
