2.1. Обзор архитектур программируемых логических интегральных схем.

 

 

Программируемые логические интегральные схемы становятся в последнее время все более распространенной и привычной элементной базой для разработчиков цифровых устройств. Последние годы характеризуются резким ростом плотности упаковки элементов на кристалле, многие ведущие производители либо начали серийное производство, либо анонсировали ПЛИС с эквивалентной емкостью более 1 миллиона логических вентилей. Цены на ПЛИС неуклонно падают. Так, еще год - полтора назад ПЛИС емкостью 100 000 вентилей стоила в Москве в зависимости от производителя, приемки, быстродействия от 1500 до 3000 у.е., то сейчас такая микросхема стоит от 50 до 350 у.е., то есть цены упали практически на порядок и эта тенденция устойчива. Что касается ПЛИС емкостью 10 000 – 30 000 логических вентилей, то появились микросхемы стоимостью менее 10 у.е.

В таблице 2.1 приведена динамика развития рынка ПЛИС [21].

Таблица 2.1. Объем рынка ПЛИС, млн $

 

Область продаж

1994

1995

1996

1997

1998

1999

Военно- промышленная и космическая

43

68

92

119

150

188

Гражданская

684

1125

1598

2146

2823

3678

Итого

727

1193

1690

2265

2973

3866

 

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

Рассмотрим особенности выбора элементной базы с точки зрения проектирования устройств цифровой обработки сигналов.

Современные алгоритмы обработки сигналов функционально можно разделить на следующие основные классы [22-25].

1.       Алгоритмы цифровой фильтрации (в т.ч. алгоритмы нелинейной, оптимальной, адаптивной фильтрации, эвристические алгоритмы, полиноминальные фильтры, алгоритмы фильтрации изображений и др.). Подробная классификация алгоритмов цифровой фильтрации и перспективы путей реализации алгоритмов на ПЛИС приведены в работах [22,23 ].

2.       Алгоритмы, основанные на применении ортогональных преобразований (быстрые преобразования Фурье, Хартли, Уолша, Адамара, преобразование Карунена - Лоэва и др.)

3.       Алгоритмы, реализующие кодирование и декодирование, модуляторы и демодуляторы, в том числе сложных сигналов (псевдослучайных, хаотических и др.).

4.       Алгоритмы интерфейсов и стандартных протоколов обмена и передачи данных.

5.       Далее рассмотрим перспективы тех или иных путей реализации алгоритмов ЦОС на базе ПЛИС.

 Основными преимуществами ПЛИС при применении в средствах обработки сигналов являются:

-          высокое быстродействие;

-          возможность реализации сложных параллельных алгоритмов;

-          наличие средств САПР, позволяющих провести полное моделирование системы;

-          возможность программирования или изменения конфигурации непосредственно в системе;

-          совместимость при переводе алгоритмов на уровне языков описания аппаратуры (VHDL, AHDL, Verilog и др.)

-          совместимость по уровням и возможность реализации стандартного интерфейса.

-          наличие библиотек мегафункций, описывающих сложные алгоритмы;

-          архитектурные особенности ПЛИС как нельзя лучше приспособлены для реализации таких операций, как умножение, свертка и т.п.

В настоящее время быстродействие ПЛИС достигло 250 –300 МГц, что позволяет реализовывать многие алгоритмы в радиодиапазоне.

Рассмотрим историю развитию архитектур ПЛИС. В конце 1970 годов на рынке появились ПЛИС, имеющие программируемые матрицы "И" и "ИЛИ". В зарубежной литературе эти архитектуры FPLA (Field Programmable Logic Array) и FPLS (Field Programmable Logic Sequensers). В те времена отечественная электронная промышленность была еще «на плаву» и вскоре появились отечественные схемы K556PT1,PT2,PT21. Недостаток такой архитектуры – слабое использование ресурсов программируемой матрицы «ИЛИ».

 Идя по пути совершенствования такой архитектуры, разработчики ПЛИС предложили более простую и изящную архитектуру - архитектуру программируемой матричной логики (PAL - Programmable Array Logic и GAL – Gate Array Logic) - это ПЛИС, имеющие программируемую матрицу "И" и фиксированную матрицу "ИЛИ", у ПЛИС GAL на выходе имеется триггер. К этому классу относятся широкая номенклатура ПЛИС относительно небольшой степени интеграции. В качестве примеров можно привести отечественные ИС КМ1556ХП4, ХП6, ХП8, ХЛ8, ранние разработки (середина –конец 1980-х годов) ПЛИС фирм INTEL, ALTERA, AMD, LATTICE и др. Помимо PAL и GAL архитектур, были разработаны ПМЛ, имеющие только одну программируемую матрицу "И", например, схема 85C508 фирмы INTEL. Другим подходом к уменьшению избыточности программируемой матрицы «ИЛИ» является так называемая программируемая макрологика. ПЛИС, построенные по данной архитектуре содержат единственную программируемую матрицу "И-НЕ" или "ИЛИ-НЕ", но за счет многочисленных инверсных обратных связей способны формировать сложные логические функции. К этому классу относятся, например, ПЛИС PLHS501 и PLHS502 фирмы SIGNETICS, имеющие матрицу "И-НЕ", а также схема XL78C800 фирмы EXEL, основанная на матрице "ИЛИ-НЕ.

Выше перечисленные архитектуры ПЛИС содержат небольшое число ячеек, к настоящему времени морально устарели и применяются для реализации относительно простых устройств, для которых не существует готовых ИС средней степени интеграции. Естественно, для реализации серьезных алгоритмов управления или ЦОС они не пригодны.

В начале 1980 годов на мировой рынок микроэлектронных изделий выходят три ведущие фирмы – производители ПЛИС. В июне 1983 года основана фирма Altera Corporation, (101 Innovation Drive, San Jose, CA 95134, USA, www.altera.com), в феврале 1984 компания Xilinx, Inc. (2100 Logic Drive, San Jose, CA 95124-3400, USA, www.xilinx.com), в 1985 году - Actel Corporation (955 East Arques Avenue, Sunnyvale, CA 94086-4533, USA, www.actel.com). Эти три компании занимают до 80-85% всего рынка ПЛИС и являются основными разработчиками идеологии их применения. Если ранее ПЛИС являлись одним из множества продуктов, выпускаемых такими гигантами, как Intel, AMD и др., то начиная с конца 1980 годов на рынке ПЛИС происходит специализация и законодателями мод являются фирмы, специализирующиеся только на разработке и производстве ПЛИС.

С появлением новых производителей появились и новые архитектуры. ИС ПМЛ имеют архитектуру, весьма удобную для реализации цифровых автоматов. Развитие этой архитектуры – CPLD (Complex Programmable Logic Devices) - ПЛИС, содержащие несколько логических блоков (ЛБ), объединенных коммутационной матрицей. Каждый ЛБ представляет собой структуру типа ПМЛ, т.е. программируемую матрицу "И" и фиксированную матрицу "ИЛИ". ПЛИС типа CPLD, как правило, имеют довольно высокую степень интеграции (до 10000 эквивалентных вентилей, до 256 макроячеек). К этому классу относятся ПЛИС семейства MAX5000 и MAX7000 фирмы ALTERA, схемы XC7000 и XC9500 фирмы XILINX, а также большое число микросхем других производителей (Atmel, Vantis, Lucent и др.). Рассмотрим эту архитектуру на примере ПЛИС семейства MAX3000 фирмы Altera.. Их архитектура близка к архитектуре семейства MAX7000, однако имеется ряд небольших отличий. В таблице 2.2 приведены основные параметры ПЛИС MAX3000.

 

Таблица 2.2. Основные параметры ПЛИС MAX3000

 

 

EPM3032A

EPM3064A

EPM3128A

EPM3256A

Логическая емкость, эквивалентных вентилей

600

1250

2500

5000

Число макроячеек

32

64

128

256

Число логических блоков

2

4

8

16

Число программируемых пользователем выводов

34

66

96

158

Задержка распространения сигнала вход-выход, tPD, нс

4.5

4.5

5

6

Время установки глобального тактового сигнала, tSU, нс

3.0

3.0

3.2

3.7

Задержка глобального тактового сигнала до выхода, tCO1, нс

2.8

2.8

3.0

3.3

Максимальная глобальная тактовая частота, fCNT, МГц

192.3

192.3

181.8

156.3

 

Микросхемы семейства MAX3000 выполнены по CMOS EPROM технологии, при соблюдении технологических норм 0.35 мкм, что позволило существенно удешевить их по сравнению с семейством MAX7000S. Все ПЛИС MAX3000 поддерживают технологию программирования в системе (ISP, In-system programmability) и периферийного сканирования (boundary scan) в соответствии со стандартом IEEE Std. 1149.1 JTAG. Элементы ввода-вывода (ЭВВ) позволяют работать в системах с уровнями сигналов 5В, 3.3В, 2.5В. Матрица соединений имеет непрерывную структуру, что позволяет реализовать время задержки распространения сигнала не более 4.5 нс. ПЛИС MAX3000 имеют возможность аппаратной эмуляции выходов с открытым коллектором (open - drains pin) и удовлетворяют требованиям стандарта PCI по уровням сигналов. Имеется возможность индивидуального программирования цепей сброса, установки и тактирования триггеров, входящих в макроячейку. Предусмотрен режим пониженного энергопотребления. Программируемый логический расширитель позволяет реализовать на одной макроячейке функции до 32 переменных. Имеется возможность задания бита секретности (security bit) для защиты от несанкционированного тиражирования разработки.

Реализация функции программирования в системе поддерживается с использованием стандартных средств загрузки, таких как ByteBlasterMV, BitBlaster, MasterBlaster, а также поддерживается формат JAM.

ПЛИС MAX3000 выпускаются в корпусах от 44 до 208 выводов.

На рис. 2.1 представлена функциональная схема ПЛИС семейства MAX3000.

 


 

 


Рис. 2.1 Функциональная схема ПЛИС семейства MAX3000.

 

Основными элементами структуры ПЛИС семейства MAX3000 являются

-         логические блоки (ЛБ) (LAB, Logic array blocks);

-         макроячейки (МЯ) (macrocells);

-         логические расширители (expanders) (параллельный (parallel) и разделяемый (shareble));

-         программируемая матрица соединений (ПМС)(Programmable interconnect array, PIA);

-         элементы ввода-вывода (ЭВВ)(I/O control block).

ПЛИС семейства MAX3000 имеют четыре вывода, закрепленных за глобальными цепями (dedicated inputs). Это глобальные цепи синхронизации сброса и установки в третье состояние каждой макроячейки. Кроме того, эти выводы можно использовать как входы или выходы пользователя для «быстрых» сигналов, обрабатываемых в ПЛИС.

Как видно из рис.2.1 в основе архитектуры ПЛИС семейства MAX3000 лежат логические блоки состоящие из 16 макроячеек каждый. Логические блоки соединяются с помощью программируемой матрицы соединений. Каждый логический блок имеет 36 входов с ПМС.

На рис 2.2. приведена структурная схема макроячейки ПЛИС семейства MAX3000.

Рис. 2.2. Структурная схема макроячейки ПЛИС семейства MAX3000

 

Макроячейка ПЛИС семейства MAX3000 состоит из трех основных узлов

-         локальной программируемой матрицы (LAB local array);

-         матрицы распределения термов (product-term select matrix);

-         программируемого регистра (Programmable register).

Комбинационные функции реализуются на локальной программируемой матрице и матрице распределения термов, позволяющей объединять логические произведения либо по ИЛИ (OR), либо по исключающему ИЛИ (XOR). Кроме того, матрица распределения термов позволяет скоммутировать цепи управления триггером МЯ.

Режим тактирования и конфигурация триггера выбираются автоматически во время синтеза проекта в САПР MAX+PLUS II в зависимости от выбранного разработчиком типа триггера при описании проекта.

В ПЛИС семейства MAX3000 доступно два глобальных тактовых сигнала, что позволяет проектировать схемы с двухфазной синхронизацией.

Для реализации логических функций большого числа переменных используются логические расширители

Разделяемый логический расширитель (рис. 2.3) позволяет реализовать логическую функцию с большим числом входов, позволяя объединить МЯ, входящие в состав одного ЛБ. Таким образом, разделяемый расширитель формирует терм, инверсное значение которого передается матрицей распределения термов в локальную программируемую матрицу и может быть использовано в любой МЯ данного ЛБ. Как видно из рис. 3, имеются 36 сигналов локальной ПМС, а также 16 инверсных сигналов с разделяемых логических расширителей, что позволяет в пределах одного ЛБ реализовать функцию до 52 термов ранга 1.

 

Рис.2.3. Разделяемый логический расширитель

 

Параллельный логический расширитель (рис. 2.4), позволяет использовать локальные матрицы смежных МЯ для реализации функций, в которые входят более 5 термов. Одна цепочка параллельных расширителей может включать до 4 МЯ, реализуя функцию 20 термов. Компилятор системы MAX+PLUS II поддерживает размещение до 3-х наборов не более чем по 5 параллельных расширителей.

Рис. 2.4 Параллельный логический расширитель

 

На рис.2.5 приведена структура программируемой матрицы соединений.

 

Рис. 2.5. Структура ПМС ПЛИС семейства MAX3000.

 

На ПМС выводятся сигналы от всех возможных источников: ЭВВ, сигналов обратной связи ЛБ, специализированных выделенных выводов. В процессе программирования только необходимые сигналы «заводятся» на каждый ЛБ. На рис 2.5 приведена структурная схема формирования сигналов ЛБ.

 

 

Рис. 2.6. Элемент ввода-вывода.

 

На рис 2.6 приведена схема элемента ввода-вывода (ЭВВ) ПЛИС семейства MAX3000. ЭВВ позволяет организовать режимы работы с открытым коллектором и третьим состоянием.

Сходную с семействами MAX3000 и MAX7000 фирмы ALTERA архитектуру имеют ПЛИС ATF1500 фирмы ATMEL. Более того, они выпускаются в совместимых корпусах и поддерживают (при наличии определенных конвертеров) САПР MAX+PLUS II от Altera.

В качестве другого примера построения архитектур микросхем CPLD можно назвать микросхемы фирмы VANTIS (ранее принадлежала AMD, ныне куплена Lattice) MACH4 и MACH5.


 


Рис. 2.7. Структура CPLD MACH5.

 

На рис. 2.7 приведена обобщенная структурная схема ПЛИС семейства MACH5. В отличие от рассмотренных выше MAX3000, MACH5 имеет двухуровневую архитектуру соединений. 16 макроячеек, имеющих PAL архитектуру, объединяются в блоки, которые, в свою очередь, объединяются в сегменты по 4 блока. Сегменты имеют общую матрицу межсоединений.

На рис. 2.8 приведена структура блока MACH5

 


 


Рис. 2.8. Структура блока MACH5

 

Архитектура CPLD является весьма привлекательной для реализации цифровых автоматов, поскольку позволяет легко воплотить функции, заданные в виде совершенных дизъюнктивных нормальных форм (ДНФ). Они незаменимы при замене сложных схем, реализованных на обычной логике. Однако, следует помнить, что несмотря на наличие в ПЛИС многих производителей режима эмуляции открытого коллектора, использовать его не всегда разумно и для интерфейса с внешними узлами удобно использовать ИС стандартных серий. Автор по старой привычке использует обычно 1533ЛН3 для буфера с открытым коллектором, 530ЛА16 для работы на 50 омную нагрузку (если конечно такое требуется) и двунаправленные шинные формирователи 74НС245 (1564АП6) для большинства приложений. Подобная буферизация особенно необходима, когда используются ПЛИС с пониженным напряжением питания, а система требует ТТЛ уровней. Эта ситуация типична при модернизации отдельных узлов и блоков существующей аппаратуры, да и большинство российских протоколов обмена между устройствами также требуют ТТЛ или КМОП уровней.

Однако CPLD ПЛИС не очень удобны для реализации алгоритмов цифровой обработки сигналов. Дело в том, что практически при реализации алгоритмов ЦОС требуется выполнение операций задержки на такт, перемножения и суммирования многоразрядных чисел. Настоящая революция в средствах ЦОС произошла с появлением ПЛИС, имеющих архитектуру Field Programmable Gate Array (FPGA). К FPGA относятся ПЛИС XC2000, XC3000, XC4000, Spartan фирмы XILINX, ACT1, ACT2, SX54 и др. фирмы ACTEL, а также семейства FLEX8000 фирмы ALTERA (с некоторыми особенностями), некоторые ПЛИС Atmel и Vantis.

Типичным примером FPGA ПЛИС могут служить микросхемы семейства Spartan фирмы XILINX (рис.2.9)

Рис. 2.9. FPGA архитектура.

 

Множество конфигурируемых логических блоков (Configurable Logic Blocks (CLBs) объединяются с помощью матрицы соединений. Характерными особенностями FPGA архитектуры ПЛИС являются элементы ввода-вывода (input/output blocks (IOBs), позволяющие реализовать двунаправленный ввод/вывод, третье состояние и т.п. На рис. 2.10 приведена структура CLB семейства Spartan фирмы XILINX.

Рис.2.10. структура CLB семейства Spartan фирмы XILINX.

 

Особенностью современных FPGA ПЛИС является возможность тестирования узлов с помощью порта JTAG (B-scan), а также наличие внутреннего генератора (Osc) и схем управления последовательной конфигурацией.

ПЛИС, построенные по архитектуре FPGA, состоят из логических блоков (ЛБ) и коммутирующих путей –программируемых матриц соединений. Логические блоки таких ПЛИС состоят из одного или нескольких относительно простых логических элементов, в основе которого лежит таблица перекодировки (ТП, Look-up table, LUT), программируемый мультиплексор, D-триггер, а также цепи управления.

Рис.2.11. Структура ЛЭ ПЛИС семейства FLEX6000 фирмы Altera.

 

На рис.2.11 приведена структура ЛЭ ПЛИС семейства FLEX6000 фирмы Altera. В основе ЛЭ лежит четырехвходовая таблица перекодировок (ТП, LUT, Look-up Table). Кроме того, в состав ЛЭ входят цепи ускоренного цепочечного переноса (Carry-in, carry-out) и каскадирования (cascade-in, cascade-out). Триггер ЛЭ может быть сконфигурирован с помощью логики сброса-установки (clear/preset logic), тактируется одним из сигналов, выбираемых логикой тактирования (clock select). При необходимости, сигнал с выхода ТП может быть подан на выход ЛЭ в обход триггера (register bypass).

Для обеспечения минимальной задержки при реализации сложных арифметических функций, таких как счетчики, сумматоры, вычитатели и т.п., используется организация ускоренных цепочечных переносов (carry chain) между ЛЭ. Логика ускоренных переносов автоматически формируется компилятором САПР MAX+PLUS II, или вручную при описании проекта.

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

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

Другой разновидностью построения логического элемента является ПЛИС АТ6000 фирмы Atmel (рис.2.12).


 


Рис. 2.12. ЛЭ ПЛИС семейства АТ6000.

Таких простых элементов может быть достаточно большое количество, у современных ПЛИС емкостью до 1 миллиона эквивалентных вентилей число логических элементов достигает нескольких десятков тысяч.

Большинство микросхем FPGA выпускаются по технологии SRAM, поэтому для их конфигурации требуется специальной ПЗУ или контроллер системы. В этом отношении выделяются FPGA фирмы Actel, выпускаемые по технологии Antifuse («Антиперемычка») (рис.2.13)

 

Рис.2.13. Технология Antifuse фирмы Actel.

 

При программировании ПЛИС происходит образование области металлизации между слоями металлизации.

По этой технологии выпускаются несколько семейств ПЛИС Actel


 


Рис.2.14. ЛЭ ПЛИС 54SX фирмы Actel

На рис 2.14 приведены архитектуры логических элементов ПЛИС 54 SX фирмы Actel. Такие ЛЭ объединяются в суперкластеры (рис.2.15)


 


Рис.2.15. Суперкластеры 54SX.

 

Дальнейшее развитие архитектуры FPGA ПЛИС привело к появлению ПЛИС Altera FLEX10K, которые имеют встроенные (реконфигурируемые) модули памяти (ВБП, (РМП), embedded array block, EAB), позволяющие использовать ПЛИС для реализации различных устройств памяти внутри кристалла без использования внешних ЗУ.

FLEX10K являются, пожалуй, самой популярной элементной базой для реализации алгоритмов ЦОС, построения сложных устройств обработки данных и интерфейсов. Это объясняется тем, что благодаря большой логической емкости, удобной архитектуре, включающей встроенные блоки памяти (EAB, Embedded Array Block), достаточно высокой надежности и удачному соотношению цена - логическая емкость данные ПЛИС удовлетворяют разнообразным требованиям, возникающих у разработчика как систем ЦОС, так и устройств управления, обработки данных и т.п.

В таблице 2.3 приведены основные сведения о ПЛИС семейства FLEX10K

Таблица 2.3.

 

EPF10K10

EPF10K20

EPF10K30

EPF10K40

EPF10K50

EPF10K70

EPF10K100

EPF10K130

EPF10K250

Число эквивалентных вентилей

10 000

20 000

30 000

40 000

50 000

70 000

100 000

130 000

250 000

Число лог. Элементов

 

576

1152

1728

2304

2880

3744

4992

6656

12160

Встроенные блоки памяти

3

6

6

8

10

9

12

16

20

Обьем памяти, бит

6144

12288

12288

16384

20480

18432

24576

32768

40960

Максимальное число выводов пользователя

150

189

246

189

310

358

406

470

470

 

В настоящее время выпускаются ПЛИС семейств FLEX10K с напряжением питания 5 В, FLEX10KА (V) с напряжением питания 3.3 В и FLEX10KЕ с напряжением питания 2.5 В. Кроме того, ПЛИС семейства FLEX10KЕ имеют емкость встроенного блока памяти 4096 бит в отличие от ПЛИС остальных семейств, имеющих емкость ЕАВ 2048 бит.

Обобщенная функциональная схема ПЛИС семейства FLEX10K приведена на рис. 2.16.

В основе архитектуры лежат логические блоки (ЛБ), содержащие 8 ЛЭ и локальную матрицу соединений.

Глобальная матрица соединений разделена на строки и столбцы, имеет непрерывную структуру (Fast Track Interconnect). Посередине строки располагаются встроенные блоки памяти (EAB).

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

 

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

Встроенный блок памяти (ВБП) (рис. 2.17) представляет собой ОЗУ емкостью 2048 (4096) бит и состоит из локальной матрицы соединений, собственно модуля памяти, синхронных буферных регистров, а также программируемых мультиплексоров.

Рис. 2.17. Встроенный блок памяти.

Сигналы на вход ЛМС ВБП поступают со строки ГМС. Тактовые и управляющие сигналы поступают с глобальной шины управляющих сигналов.

Выход ВБП может быть скоммутирован как на строку, так и на столбец ГМС.

Наличие синхронных буферных регистров и программируемых мультиплексоров позволяет конфигурировать ВБП как ЗУ с организацией 256 х 8, 512х4, 1024х2, 2048х1.

Наличие ВБП дает возможность табличной реализации таких элементов устройств ЦОС, как перемножители, АЛУ, сумматоры и т.п., имеющих быстродействие до 100 МГц (конечно при самых благоприятных условиях, реально быстродействие арифметических устройств, реализованных на базе ВБП составляет 10 – 50 МГц)

Все ПЛИС семейства FLEX10K совместимы по уровням с шиной PCI, имеют возможность как последовательной, так и параллельной загрузки, полностью поддерживают стандарт JTAG

Развитие и разнообразие архитектур функциональных преобразователей, лежащих в основе базовых узлов ПЛИС привели к тому, что в последние годы ПЛИС становятся основой для «систем на кристалле» (system-on-chip, SOC). В основе идеи SOC лежит интеграция всей электронной системы в одном кристалле (например, в случае ПК такой чип объединяет процессор, память, и т.д.). Компоненты этих систем разрабатываются отдельно и хранятся в виде файлов параметризируемых модулей. Окончательная структура SOC-микросхемы выполняется на базе этих "виртуальных компонентов", называемых также "блоками интеллектуальной собственности" с помощью программ автоматизации проектирования электронных устройств – EDA (Electronic Design Automation). Благодаря стандартизации в одно целое можно объединять "виртуальные компоненты" от разных разработчиков.

Идеология построения «систем на кристалле» подстегнула ведущих производителей ПЛИС к выпуску в конце 1998 – начале 1999 года изделий с эквивалентной емкостью 1000000 эквивалентных вентилей и более.

Примером новых семейств ПЛИС, пригодных для реализации «систем - на - кристалле» является семейство APEX20K фирмы Altera, основные характеристики которого приведены в Таблице 2.4.

 

Таблица 2.4. Основные характеристики ПЛИС семейства APEX20K фирмы Altera

 

 

EP20K100

EP20K160

EP20K200

EP20K300

EP20K400

EP20K600

EP20K1000

Максимальное число эквивалентных вентилей

 

263 000

 

404 000

 

526 000

 

728 000

 

1 052 000

 

1 537 000

 

2 670 000

Число лог. Элементов

 

4 160

6 400

8 320

11520

16 640

24 320

42 240

Встроенные блоки памяти

26

40

52

72

104

152

264

Максимальный обьем памяти, бит

53 248

81 920

106 496

147 456

212 992

311 296

540 672

Число макроячеек

416

640

832

1 152

1 664

2 432

4 224

Число выводов пользователя

252

320

382

420

502

620

780

 

Архитектура APEX20K сочетает в себе как достоинства FPGA ПЛИС с их таблицами перекодировок, входящими в состав логического элемента, логику вычисления СДНФ, характерную для ПЛИС CPLD, а также встроенные модули памяти (рис. 2.18)

 

Рис. 2.18. Архитектура ПЛИС, APEX20K

Сходной архитектурой обладает и семейство Virtex фирмы Xilinx, основные характеристики которого приведены в таблице 2.5.

 

Таблица 2.5.. Основные характеристики ПЛИС семейства Virtex фирмы Xilinx

 

XCV50

 

XCV100

XCV150

XCV200

XCV300

XCV400

XCV600

XCV800

XCV1000

Максимальное число эквивалентных вентилей

57,906

 

108,904

 

164,674

 

236,666

 

322,970

 

468,252

 

661,111

 

888,439

 

1,124,022

Число лог. Элементов

1,728

 

2,700

 

3,888

 

5,292

 

6,912

 

10,800

 

15,552

 

21,168

 

27,648

Максимальный обьем памяти, бит

24,576

 

38,400

 

55,296

 

75,264

 

98,304

 

153,600

 

221,184

 

301,056

 

393,216

Число выводов пользователя

180

 

180

260

 

284

 

316

 

404

 

512

 

512

 

512

 

Архитектура ПЛИС семейства Virtex показана на рис. 2.19

 

 

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

Отличительной особенностью этих ПЛИС является наличие дополнительного ресурса для трассировки – распределительного кольца VersaRing, позволяющего обеспечить более удобную трассировку входных и выходных сигналов. Так же как и ПЛИС Altera, Virtex имеет встроенные блоки памяти.

Структура ЛЭ ПЛИС Virtex показана на рис. 2.20.

 

Рис. 2.20. ЛЭ ПЛИС Virtex

 

Еще одним интересным примером FPGA архитектур являются ПЛИС VF1 фирмы Vantis.

 

 

Рис. 2.21. Конфигурируемый ЛБ VF1

 

Конфигурируемый ЛБ фирмы Vantis (рис. 2.21) состоит из комбинационного (CCE) и последовательностного (CSE) ЛЭ. Их архитектура приведена на рис. 2.22 и 2.23 соответственно

Рис. 2.22. Комбинационный ЛЭ.

Рис. 2.23. Последовательностный ЛЭ

 

ЛБ объединяются в «зерна» имеющие переменную размерность (Variable Grain Block) (рис. 2.24), тем самым позволяя выполнять локальную трассировку узлов различного размера

 

Рис. 2.24. «Зерна» имеющие переменную размерность

 

В дальнейшем зерна объединяются с использованием глобальной матрицы соединений.

На этом можно закончить обзор архитектур ПЛИС, хотя, конечно, за рамками этого обзора остались ряд достаточно интересных продуктов, например сверхбыстродействующие ПЛИС фирмы QuickLogick и ряда других производителей. Однако, они пока еще не имеют российских диллеров и потеря не столь существенна.