СБИС ПЛ КОМБИНИРОВАННОЙ АРХИТЕКТУРЫ FLEX10K

По архитектуре микросхемы семейства FLEX занимают промежуточное положение между классическими вариантами CPLD и FPGA. Сохранив ряд качеств CPLD, разрабо­танных ранее фирмой «Altera», микросхемы семейства FLEX в то же время имеют логи­ческие элементы


 

табличного типа (LUT), расположенные в виде матрицы, и трассиро­вочные каналы, проходящие горизонтально и вертикально между столбцами и строками матрицы логических элементов, что характерно для FPGA. В то же время трассы в кана­лах не сегментированы, а непрерывны, что типично для CPLD и дает хорошо предсказу­емые и малые задержки сигналов.

На фрагменте микросхемы семейства FLEX1OK (рис. 7.24) показаны логические блоки LAB (Logic Array Blocks), содержащие по восемь логических элементов LE (Logic Elements) табличного типа, и локальная программируемая матрица межсоединений (локальная ПМС), обеспечивающая коммутацию сигналов в блоке. Коммутация сигналов на втором уровне обеспечивается глобальной программируемой матрицей соединений ГМПС, организован­ной в виде совокупности строк и столбцов, к концам которых подсоединены элементы вво­да/вывода ЭВВ. Линии связи в ГПМС непрерывны и проходят по всей длине соответствую­щего направления (горизонтально или вертикально). Это отличает их от сегментирован­ных линий связи в типичных FPGA и придает свойства CPLD в отношении предсказуемос­ти задержек при передаче сигналов.

Важным новшеством в архитектуре семейства FLEX10K стало наличие блоков EABs (Embedded Array Blocks), представляющих собою реконфигурируемые модули памяти

 

 

 

(РМП). Эти блоки создают ресурсы встроенной памяти сверх тех распределенных ресур­сов, которые имеют логические элементы табличного типа. Память может быть организо­вана в вариантах 2048 ´1,1024 ´ 2, 512 ´ 4 и 256 ´ 8 и ориентирована также на реализа­цию буферов FIFO. В микросхемах FLEX10KE память блоков EABs ориентирована и на организацию двухпортовых ОЗУ, в которых может одновременно осуществляться запись по одному адресу и чтение по другому. Несколько блоков ЕАВ могут быть объединены для создания более емких блоков памяти.

 

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

В микросхемах семейства FLEX10K средства логического преобразования данных имеют два уровня. Наименьшей структурной единицей является логический элемент (ЛЭ, LE).Компактная группа из восьми логических элементов образует логический блок (ЛБ, LAB - Logic Array Block). Логический блок выступает как самостоятельная структурная единица следующего иерархического уровня. Строкам и столбцам логических блоков соответствуют строки и столбцы глобальной матрицы соединений.

 

Логический элемент микросхем семейства FLEX10K (рис. 7.25) имеет в своем со­ставе четырехвходовый табличный функциональный преобразователь типа ШТ (т. е. программируемую память с организацией 16´1), схемы переноса и каскадирования, программируемый триггер и несколько программируемых мультиплексоров. Функцио­нальный преобразователь ФП-4 может быть сконфигурирован для воспроизведения двух функций трех переменных, для чего память с организацией 16´1 разбивается на два блока с организацией 8´1. Такое разбиение позволяет, например, воспроизводить функции суммы и переноса для одноразрядного сумматора. Цепи переноса у микро­схем семейства FLEX10K имеют высокое быстродействие (задержка 1 не на каскад), что улучшает быстродействие схем с последовательными переносами, отличающихся простотой реализации.

 

 

 

 

Синхронный триггер может функционировать не только как триггер типа D (режим, со­ответствующий непосредственному использованию имеющейся схемы), но и как триггер типа Т или даже типов JK и RS, работа которых эмулируется с привлечением логических ресурсов, не входящих в схему триггера. Входные сигналы асинхронных сброса и установ­ки вырабатываются схемой управления, в которую поступают два локальных управляю­щих сигнала ЛУС1, ЛУС2, сигнал общего сброса микросхемы и входная переменная D3. В схеме управления установкой/сбросом (СУ уст/сбр) имеются программируемые мульти­плексоры, благодаря которым можно задать один из шести режимов воздействия на триг­гер. Все режимы асинхронные - это сброс, установка или загрузки в разных вариантах.

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

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


 

Тактирование триггера возможно от любого из двух локальных управляющих сигна­лов ЛУСЗ и ЛУС4.

Функции, число аргументов у которых превышает четыре, получаются как композиции из функций четырех аргументов одним из двух способов. Первый способ (рис. 7.26, а) пред­полагает применение схем каскадирования, которые можно настраивать на любую функ­цию двух переменных, кроме функций суммы по модулю 2 и функции равнозначности. Схемами каскадирования отдельные функции четырех переменных объединяются в фун­кцию большего числа аргументов.

Второй способ использует схему с обратными связями (рис. 7.26, б). Вначале выра­батываются функции, зависящие не более чем от четырех аргументов, а затем они игра­ют роль аргументов для логического элемента, вырабатывающего окончательный вари­ант. Результатом является получение «функции от функций».

 

 

 

 

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

Встроенные конфигурируемые блоки памяти ЕАВ с общей емкостью от 6 до 20 Кбит у разных представителей семейства расположены в центре каждой строки матрицы ло­гических блоков. В каждом блоке имеется 2К программируемых битов памяти. Блок мо­жет быть как запоминающим устройством, так и функциональным преобразователем таб­личного типа для получения сложных функций.

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

 

 

7.7. СБИС ПРОГРАММИРУЕМОЙ ЛОГИКИ ТИПА «СИСТЕМА НА КРИСТАЛЛЕ»

ОБЩИЕ СВЕДЕНИЯ


 

Кристаллы современных СБИС ПЛ максимальной сложности содержат миллионы эквивалентных вентилей, а их рабочие частоты достигли сотен мегагерц. На таких крис­таллах можно разместить целую систему со всеми ее характерными частями - процес­сором, памятью, интерфейсными схемами, обеспечив при этом высокую ее производи­тельность. Подобные кристаллы относят к классу «система на кристалле» (в английской терминологии SOC, System On Chip или SOPC, System On Programmable Chip).

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

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

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

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

Введение специализированных аппаратных ядер, имея ряд позитивных следствий, может в то же время сузить круг потребителей СБИС ПЛ, поскольку в сравнении со схема­ми типа «generic» схемы с аппаратными ядрами имеют меньшую универсальность.

Реализация сложных функций специализированными аппаратными ядрами по пло­щади кристалла и достижимому быстродействию значительно эффективнее в сравне­нии с реализациями на конфигурируемых логических блоках общего назначения. Напри­мер, для умножителя 8´8, построенного по модифицированному алгоритму Бута мето­дом заказного проектирования, потребовалась площадь кристалла в пять раз меньшая, чем для такого же умножителя, реализованного на реконфигурируемых логических бло­ках FPGA. Заметно выше было и быстродействие умножителя, реализованного в виде специализированной схемы.

Таким образом, введение специализированных аппаратных ядер в СБИС ПЛ - процесс, противоречивый по результатам. Он улучшает параметры схем, воспроизводящих сложные функции, но может и сузить рынок сбыта СБИС ПЛ, что, как известно, ведет к росту цен и потере в той или иной мере конкурентоспособности продукции. В связи с этим к выбору применяемых аппаратных ядер следует относиться с большой осторожностью. Наиболее бесспорным решением является применение аппаратных ядер памяти, так как блоки памяти нужны почти для всех систем, причем для многих в большом объеме. Для эффективного использования таких ядер целесообразно применять не слишком крупные блоки, обеспечи­вать возможность иметь асинхронный и синхронный режимы работы, организовывать буфе­ры FIFO и двухпортовую память. В среднем блок памяти с заказным проектированием емко­стью 256-512 бит может быть реализован на площади, приблизительно равной 1/10 от той, которая затрачивается на подобный блок, составленный из распределенных на кристалле ячеек памяти конфигурации. Времена доступа также уменьшаются (в 1,5-4 раза).

Области памяти - первые по времени освоения и самые важные аппаратные ядра блочных СБИС ПЛ типа «система на кристалле».

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