
- •Глава7 программируемая логика и ее применение в микропроцессорных системах
- •7.1. Общие сведения, классификация
- •7.1.1. Уровень интеграции интегральных схем (ис) и его влияние на качество цифровой аппаратуры и ее проектирование.
- •7. 1. 4. Области применения микросхем с программируемой логикой
- •7.2. Первые поколениямикросхем с программируемой структурой
- •7.2.1. Программируемые логические матрицы и программируемая матричная логика
- •7.2.2. Базовые матричные кристаллы
- •7.3. Типичные фрагменты схемотехники ис пл. Общие свойства ис пл
- •7.3.1. Типичные схемотехнические решения
- •7.3.2. Свойства ис пл, важные для их применения в составе систем
- •7.4. Fpga-программируемые пользователем вентильные матрицы
- •7.4.1. Архитектура и блоки fpga
- •7.4.2. Популярные fpga фирмы «xilinx»
- •7.5. Cpld - сложные программируемые логические устройства
- •7.5.1. Архитектура и блоки cpld
- •7.5.2. Популярные cpld фирмы «altera»
- •7.6. Сбис пл комбинированной архитектуры
- •7.6.1. Общие сведения
- •7.6.2. Сбис пл комбинированной архитектуры flex10k
- •7.7. Сбис программируемой логики типа «система на кристалле»
- •7.7.1. Общие сведения
- •7.7.2. Сбис пл с конфигурируемостью всех областей кристалла
- •7.7.3. Сбис пл класса «система на кристалле» с блочной архитектурой
- •7.8. Конфигурирование бис/сбис программируемой логики
- •7.9. Методика оценки параметров ис пл
- •7.9.1. Вводные замечания
- •7.9.2. Об оценке сложности микросхем программируемой логики
- •7.9.3. Об оценке быстродействия микросхем программируемой логики
- •7.9.4. Параметры популярных семейств микросхем программируемой логики
- •7.10. Аналоговые программируемые микросхемы
- •7.10.1 Общие сведения
- •7.10.2. Практические разработки
7.7. Сбис программируемой логики типа «система на кристалле»
7.7.1. Общие сведения
Кристаллы современных СБИС ПЛ максимальной сложности содержат миллионы эквивалентных вентилей, а их рабочие частоты достигли сотен мегагерц. На таких кристаллах можно разместить целую систему со всеми ее характерными частями - процессором, памятью, интерфейсными схемами, обеспечив при этом высокую ее производительность. Подобные кристаллы относят к классу «система на кристалле» (в английской терминологии SOC, System On Chip или SOPC, System On Programmable Chip).
Стратегическая значимость решения задачи создания законченных систем на одном кристалле очевидна и вытекает из известных закономерностей зависимости качества цифровой аппаратуры от уровня интеграции ее элементной базы.
Реализация заказных систем на одном кристалле практически недоступна для подавляющего большинства пользователей по экономическим соображениям. СБИС программируемой логики позволяют ставить задачу создания систем на одном кристалле как задачу сегодняшнего дня. Соответствующие средства уже появились в составе продукции ряда фирм.
СБИС типа «система на кристалле» можно разделить на две разновидности. Первая разновидность реализуется схемами просто настолько «большими», что на них можно сконфигурировать целую систему, причем ее части (процессор, память, интерфейсные схемы и другие блоки) реализуются как мегафункции библиотеки кристалла или проектируются разработчиком и реализуются, в сущности, идентичными аппаратными средствами кристалла благодаря их программируемости. Такие СБИС ПЛ в английской терминологии иногда обозначают термином «generic».
Вторая разновидность - СБИС ПЛ блочного типа, в которых на кристалле выделяют специализированные области, предназначенные для выполнения определенных функций - аппаратные ядра (hardcores). Поскольку системы самого разного назначения в качестве составных частей имеют типовые модули, вопрос о целесообразности применения блочных структур СБИС ПЛ возник вполне закономерно.
Введение специализированных аппаратных ядер, имея ряд позитивных следствий, может в то же время сузить круг потребителей СБИС ПЛ, поскольку в сравнении со схемами типа «generic» схемы с аппаратными ядрами имеют меньшую универсальность.
Реализация сложных функций специализированными аппаратными ядрами по площади кристалла и достижимому быстродействию значительно эффективнее в сравнении с реализациями на конфигурируемых логических блоках общего назначения. Например, для умножителя 88, построенного по модифицированному алгоритму Бута методом заказного проектирования, потребовалась площадь кристалла в пять раз меньшая, чем для такого же умножителя, реализованного на реконфигурируемых логических блоках FPGA. Заметно выше было и быстродействие умножителя, реализованного в виде специализированной схемы.
Таким образом, введение специализированных аппаратных ядер в СБИС ПЛ - процесс, противоречивый по результатам. Он улучшает параметры схем, воспроизводящих сложные функции, но может и сузить рынок сбыта СБИС ПЛ, что, как известно, ведет к росту цен и потере в той или иной мере конкурентоспособности продукции. В связи с этим к выбору применяемых аппаратных ядер следует относиться с большой осторожностью. Наиболее бесспорным решением является применение аппаратных ядер памяти, так как блоки памяти нужны почти для всех систем, причем для многих в большом объеме. Для эффективного использования таких ядер целесообразно применять не слишком крупные блоки, обеспечивать возможность иметь асинхронный и синхронный режимы работы, организовывать буферы FIFO и двухпортовую память. В среднем блок памяти с заказным проектированием емкостью 256-512 бит может быть реализован на площади, приблизительно равной 1/10 от той, которая затрачивается на подобный блок, составленный из распределенных на кристалле ячеек памяти конфигурации. Времена доступа также уменьшаются (в 1,5-4 раза).
Области памяти - первые по времени освоения и самые важные аппаратные ядра блочных СБИС ПЛ типа «система на кристалле».
Других хорошо обоснованных аппаратных ядер не так уж много. Среди них можно назвать схемы быстродействующих умножителей и схемы интерфейса JTAG, которые выполняют важные функции, нужные очень многим потребителям. По-видимому, самыми сложными из практически разработанных ядер являются контроллеры шины PCI, также необходимые в очень многих проектах и требующие максимального быстродействия.