- •Глава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.6. Сбис пл комбинированной архитектуры
7.6.1. Общие сведения
Непрерывное усложнение современных цифровых систем, высокий уровень и разнообразие предъявляемых к ним требований затрудняют получение необходимых свойств ИС ПЛ в рамках той или иной «классической» архитектуры. Микросхемы высшей сложности строятся по все более оригинальным архитектурам, не только сочетающим в себе черты FPGA и CPLD, но и обладающим новыми особенностями.
Комбинированные архитектуры, объединяющие в той или иной мере достоинства обеих предшествующих линий развития ИС ПЛ, появились впервые в микросхемах семейств FLEX8000, FLEX10K фирмы «Altera», семейства ХС9500 фирмы «Xilinx» и ATF1500 фирмы «Atmel».
Заметим, кстати, что приводимые сведения не являются строгим историческим свидетельством в отношении развития ИС ПЛ, они прежде всего отражают тенденции и процессы, наблюдаемые в деятельности тех ведущих фирм - мировых лидеров, которые взяты в качестве характерных образцов происходящих событий.
Микросхемы FPGA и CPLD с точки зрения функциональных возможностей могут решать одни и те же задачи, но по своим характеристикам имеют и различия. В CPLD логические функции выражаются в ДНФ, что для сложных функций может оказаться достаточно громоздким, но в то же время они обеспечивают малые и хорошо предсказуемые задержки сигналов в цепях их передачи. В микросхемах FPGA средства выработки логических функций более гибки, но задержки сигналов в системе межсоединений не столь малы и предсказуемы, как в CPLD. Таким образом, для реализации на CPLD более подходят устройства «небольшие, но быстродействующие», а для реализации на FPGA -«большие, но менее быстродействующие».
7.6.2. Сбис пл комбинированной архитектуры 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) имеет в своем составе четырехвходовый табличный функциональный преобразователь типа ШТ (т. е. программируемую память с организацией 161), схемы переноса и каскадирования, программируемый триггер и несколько программируемых мультиплексоров. Функциональный преобразователь ФП-4 может быть сконфигурирован для воспроизведения двух функций трех переменных, для чего память с организацией 161 разбивается на два блока с организацией 81. Такое разбиение позволяет, например, воспроизводить функции суммы и переноса для одноразрядного сумматора. Цепи переноса у микросхем семейства FLEX10K имеют высокое быстродействие (задержка 1 не на каскад), что улучшает быстродействие схем с последовательными переносами, отличающихся простотой реализации.
Синхронный триггер может функционировать не только как триггер типа D (режим, соответствующий непосредственному использованию имеющейся схемы), но и как триггер типа Т или даже типов JK и RS, работа которых эмулируется с привлечением логических ресурсов, не входящих в схему триггера. Входные сигналы асинхронных сброса и установки вырабатываются схемой управления, в которую поступают два локальных управляющих сигнала ЛУС1, ЛУС2, сигнал общего сброса микросхемы и входная переменная D3. В схеме управления установкой/сбросом (СУ уст/сбр) имеются программируемые мультиплексоры, благодаря которым можно задать один из шести режимов воздействия на триггер. Все режимы асинхронные - это сброс, установка или загрузки в разных вариантах.
Триггер может быть использован не только совместно с комбинационной частью логического элемента, но и независимо от нее, как отдельный элемент, если на его вход через мультиплексор 1 поступает сигнал со входа D4.
Выходные сигналы ЛЭ через мультиплексоры 3, 4 могут подаваться в глобальную и локальную программируемые матрицы соединений в комбинационном или регистровом варианте.
Тактирование триггера возможно от любого из двух локальных управляющих сигналов ЛУСЗ и ЛУС4.
Функции, число аргументов у которых превышает четыре, получаются как композиции из функций четырех аргументов одним из двух способов. Первый способ (рис. 7.26, а) предполагает применение схем каскадирования, которые можно настраивать на любую функцию двух переменных, кроме функций суммы по модулю 2 и функции равнозначности. Схемами каскадирования отдельные функции четырех переменных объединяются в функцию большего числа аргументов.
Второй способ использует схему с обратными связями (рис. 7.26, б). Вначале вырабатываются функции, зависящие не более чем от четырех аргументов, а затем они играют роль аргументов для логического элемента, вырабатывающего окончательный вариант. Результатом является получение «функции от функций».
Возможности обоих вариантов определяются возможностями декомпозиции воспроизводимых функций.
Встроенные конфигурируемые блоки памяти ЕАВ с общей емкостью от 6 до 20 Кбит у разных представителей семейства расположены в центре каждой строки матрицы логических блоков. В каждом блоке имеется 2К программируемых битов памяти. Блок может быть как запоминающим устройством, так и функциональным преобразователем табличного типа для получения сложных функций.
Не рассматривая подробно глобальную систему коммутации и работу элементов ввода/вывода, заметим, что в них много сходства с работой схем аналогичного назначения, рассмотренных ранее.