Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Схемот_8_ПЛИС.doc
Скачиваний:
19
Добавлен:
13.09.2019
Размер:
374.78 Кб
Скачать

§ 8.3. Сложные программируемые логические схемы (cpld) и сбис программируемой логики смешанной архитектуры (flex и др.)

Сложные программируемые логические ИС (СПЛИС) архитектурно произошли от структур PLD (PALA GAL) и называются CPLD (Complex Programmable Logic Deivices).

Для русского эквивалента этого названия примем СПЛИС, хотя в ряде работ встречается наименование ПЛИС. Следовать этому нежелательно, т. к. многие"

авторы трактуют термин ПЛИС как наименование всех ИС программируемой логики вообще. Приемлемым вариантом названия для CPLD является и СПЛУ— сложные программируемые логические устройства, что соответствует переводу термина CPLD на русский язык.

Архитектурно CPLD состоят из центральной коммутационной матрицы, множества функциональных блоков ФБ (именуемых также макроячейками, макроэлементами и др.) и блоков ввода/вывода на периферии кристалла. Архитектура CPLD показана на рис. 8.12, где через ПМС обозначена программируемая матрица соединений (РТА, Programmable Interconect Array).

Рис. 8.12. Архитектура CPLD

Функциональные блоки CPLD

Эти блоки подобны PLD и содержат многовходовую (wide) программируемую матрицу элементов И, вырабатывающую конъюнктивные термы из поступающих на ее входы переменных, группу элементов ИЛИ, между которыми распределяются выработанные термы, и некоторые другие элементы обогащающие функциональные возможности ФБ и подобные рассмотренным в § 7.2. Функциональные блоки реализуют двухуровневую логику с вариантами формируемого результата (прямой или инверсный, комбинационный выход или регистровый выход и т. д.).

Системы коммутации CPLD

В отличие от типичных для FPGA систем сегментированных связей, в CPLD используется непрерывная или одномерно непрерывная система связей, причем все связи идентичны, что дает хорошую предсказуемость задержек сигналов в связях — важное достоинство, облегчающее проектирование и изготовление работоспособных схем высокого быстродействия. В самих линиях связи число

программируемых ключей мало, но многие из ключей не будут задействованы так ГслГкГчаейК°ММУТаЦИИ С СДИН0Й МаТРЩеЙ В Ц6Л0М ^ ДОВ0ЛЬН0 б

Рис. 8.13. Схема коммутации функциональных блоков CPLD с помотттью программируемой матрицы соединений

Типичная ПМС (рис. 8.13) позволяет соединять выход любого ФБ со входами

ве™альнТтГи CB^™C Г°Ризонтальными линиями, пересекающими все вертикальные .линии: Любой вход может быть подключен к любому выходу программированием точек связи между вертикальными и горизогггальны! линиями. Иначе говоря, ПМС обеспечивает полную коммутируемость блоков глоб^ьнойаМИХ ФБ М0Ж6Т СуЩеСТВ0Вать ™льная система коммутации, подобная

CPLD и СБИС ПЛ смешанной архитектуры производятся многими фирмами К ведущим фирмам относятся Altera (семейства MAX, FLEX APEX идп) Atmel (семейство ATF 1500 и др.), Vantis (ранее была известна как фирма AMD семейство МАСН), ХШпх (семейство ХС9500), Philips, Cypress SemLndTr д

различныхаХпоТД0Г0 ССМеЙСТВа П0Требителю предлагается ряд представителей различных по сложности, стоимости и другим параметрам, с целью гибкого обслуживания разнообразных потребностей. Общее число разновидностей CPLD

ZZZcPID °ЛЬШИМ- ДЛЯ б°Лее П°ДРОбНОГО Р-^-ия вы делим характерные CPLD из продукции ведущих фирм.

Классическими представителями CPLD являются микросхемы МАХ 7000 фирмы Altera, имеющие память конфигурации типа и EEPROM. Для "старых" CPLD небольшой сложности тригтерная память конфигурации во обще не была

Рис. 8.14. Фрагмент структуры CPLD MAX 7000S

Каждый ЛБ непосредственно связан со своим блоком ввода/вывода, имеющим от 6 до 12 контактов (КП — контактная площадка). Как видно, не все макроячейки могут иметь внешний вывод. Часть из них может быть использована только для подачи сигнала обратной связи в ПМС, что является естественным при построении ряда узлов (счетчиков и др.).

ПМС получает следующие сигналы: 16 сигналов обратной связи от каждого ЛБ, от 6 до 12 сигналов от БВВ, четыре сигнала (вверху на рис. 8.15) от специализированных входов. Разное число контактов у БВВ позволяет выбирать более экономичный вариант там, где требования интерфейса это допускают.

Рис. 8.15. Схема передачи сигналов из программируемой матрицы соединений в логические блоки

К специализированным сигналам относятся так называемые глобальные сигналы тактирования GCLK1 и GCLK2 и сброса GCLR, а также сигналы разрешения выходов ОЕ. Здесь и в других случаях термин "глобальный" означает "единый для всех одноименных блоков СБИС". При необходимости перечисленные линии могут быть использованы как простые входы ПМС.

Из ПМС поступает по 36 сигналов для каждого ЛБ и еще 6 сигналов, которые передаются в прямом или инверсном виде через мультиплексор MUX3 для глобальной шины разрешения выходов блока ввода/вывода.

Логический блок обеспечивает построение как комбинационных цепей, так и схем с элементами памяти. Одна из макроячеек ЛБ показана на рис. 8.16. Из матрицы элементов И в матрицу распределения термов МРТ поступает 5 основных термов (на рисунке слева). МРТ дает возможность использовать эти термы для сборки по ИЛИ с последующей подачей результата на элемент сложения по модулю 2 для образования комбинационной функции, а также для управления-триггером по входам сброса (CLRn), установки (PRn) Терм t может быть использован для тактирования триггера или разрешения тактирования в зависимости от программирования мультиплексора MUX2.

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

Рис.8.16. Схема макроячеек CPLD MAX 7000S

Имеются асинхронные сигналы установки и сброса PRn и CLRn, кроме того

сброс возможен и от глобального оигия™ ггт т? '

™ ишиального сигнала CjCLR при соответствующем

программировании мультиплексора MUX3

Имеется возможность быстрой загрузки триггера от внешнего вывода но прямой цепи (программируется мультиплексором MUX1). В другом состоянии MUX1 передает на вход триггера значение функции, выработанное комбинационной частью макроячеики. Мультиплексор MUX4 позволяет подавать на выход макроячеики (к БВВ) либо непосредственно комбинационну^ функц! либо хранящуюся в триггере (регистровый выход). Функцию, лиоо

Если для реализации функции макроячейкой недостаточно числа ее собственных термов, можно воспользоваться дополнительно ресурсами двух типов логических расширителей ЛР. Так называемый общий (разделяемый) расширитель образуется за счет использования для него пятой линии термов макроячеек. Терм этой линии вводится в матрицу И и становится доступным (общим) для всех макроячеек. Так как в ЛБ 16 макроячеек, общий расширитель может иметь до 16 линий (рис. 8.16).

Рис. 8.17. Схема параллельного расширителя макроячеек CPLD МАХ 7000 S

Логический расширитель, называемый параллельным, образуется за счет коммутации термов предшествующих макроячеек, которые передаются в последующие (рис. 8.17), так что макроячейки связываются в цепочку. Можно образовать цепочку, длина которой не превышает восьми звеньев. Понятно, что вследствие последовательного включения вентилей ИЛИ в выработку результата вносится дополнительная задержка.

Блок ввода вывода (рис. 8.18) дает возможность гибкого управления разрешением выходного буфера. ПМС формирует шесть глобальных сигналов разрешения выхода ОЕ. Для некоторых представителей семейства МАХ 7000 имеется возможность программирования выхода как выхода с открытым коллектором (ОК), кроме того, может программироваться и скорость изменения выходных сигналов с целью, указанной ранее (эта скорость связана с уровнем создаваемых помех).

Рис. 8.18. Схема блока ввода/вывода CPLO MAX 7000S

После семейства МАХ 7000, принадлежащего ко второму поколению CPLD, фирма Altera выпустила семейство третьего поколения МАХ 9000. Между обоими семействами много общего, но третьему поколению присущи и новые свойства: интерфейс JTAG, программирование в системе ISP без применения повышенных напряжений и др. Сведения о параметрах микросхем МАХ 7000 и МАХ 9000 приведены в табл. 8.2 §8.5.

-Развитие архитектур СБИС ПЛ идет по пути создания комбинированных структур, сочетающих достоинства FPGA и CPLD. Так, например, фирма Altera выпустила семейство FLEX 8000 (Flexible Logic Element Matrix) и позднее FLEX 10K с триггерной памятью конфигурации.

По архитектуре микросхемы типа FLEX занимают промежуточное положение между классическими вариантами CPLD и FPGA. Сохранив ряд качеств предшествующих разработок CPLD, микросхемы FLEX в то же время имеют логические элементы табличного типа (LUT), их логические блоки расположены в виде матрицы, причем трассировочные каналы проходят горизонтально и вертикально между ЛБ, что характерно для FPGA Одновременно с этим трассы в каналах не сегментированы, а непрерывны, что типично для CPLD и дает хорошую предсказуемость и малые величины задержек.

Микросхемы семейства FLEX 10K

Фрагмент структуры микросхем FLEX 10K, по которому можно судить о микросхеме в целом (остальные части являются повторением фрагмента) показан на рис. 8.19. Фрагмент содержит логические блоки, имеющие лоальные ПМС и составленные из логических элементов ЛЭ (LE, Logic Element) табличного типа, строки и столбцы глобальной программируемой матрицы соединений ГПМС и элементы ввода/вывода ЭВВ, подсоединенные к концам строк и столбцов ГПМС. Кроме того, микросхема содержит реконфигурируемые модули памяти РМП (ЕАВ). Впервые такая встроеная память появилась в семействе FLEX 10K, до этого

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

Память может быть организована в вариантах 2048 х 1, 1024 х 2, 512 х 4 и 256 х 8 и ориентирована на реализацию буферов FIFO или (только для FLEX 1 ОКЕ) двухпортовых ОЗУ: Отдельные РМП могут объединяться для создания более емких блоков памяти.

Рис. 8.19. Фрагмент структуры СБИС FLEX 10K


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

Логический элемент

Логический элемент (рис. 8.20, а) имеет четырехвходовой табличный функциональный преобразователь типа LUT (память емкостью 16 бит), схему переноса, схему каскадирования, программируемый триггер, схему управления сбросом/установкой триггера и несколько программируемых мультиплексоров. Функциональный преобразователь ФП-4 может также работать в режиме воспроизведения двух функций трех переменных (16 бит памяти в этом случае разбиваются на два блока по 8 бит), одна из которых — функция переноса, необходимая для таких схем, как счетчики или сумматоры с последовательными переносами или другие схемы с функциями переноса. В микросхемах FLEX удалось реализовать цепи переноса высокого быстродействия (с задержкой 1 не на каскад), поэтому в библиотеке функциональных блоков немало рекомендованных структур с последовательным переносом, отличающихся схемной простотой.

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

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

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

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

Функции более чем четырех-аргументов могут быть получены двумя способами в виде композиций из функций 4-х переменных. Первый способ (рис. 8.20, б) предполагает использование схем каскадирования, имеющихся в каждом ЛЭ. Схему каскадирования можно настраивать на любую логическую операцию, кроме сложения по модулю 2 и равнозначности. С помощью схем каскадирования отдельные функции 4-х переменных объединяются в функцию большего числа аргументов. Второй способ, более обычный для СБИС ИЛ, использует схему с обратными связями (рис. 8.20, в), результатом при этом является получение "функции от функций". Вначале логическими элементами вырабатываются функции, зависящие от не более чем 4-х аргументов, а затем эти функции играют роль аргументов для ЛЭ, формирующего окончательный результат.

Рис. 8.20. Схема логического элемента СБИС FLEX 10K (а) и схемы воспроизведения функций многих переменных (б, в)

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

В СБИС семейства FLEX 10K впервые были включены встроенные рекон-фигурируемые матрицы памяти РМП (EABs, Embedded Array Blocks) с общей емкостью от приблизительно 6 Кбит до более чем 20 Кбит статической памяти. Такие блоки расположены в центре каждой строки матрицы логических блоков. В каждом блоке имеется 2048 программируемых битов памяти Возможности блока не ограничиваются его использованием как блока памяти. Блок может быть и функциональным преобразователем табличного типа для получения сложных функций (в области цифровой обработки сигналов арифметико-логических операций, интерфейсных функций и т. п.). Напри мер, в одном блоке можно реализовать множительное устройство 4x4, способное работать на частотах до 50

МГц. Если же строить подобное устройст во без применения EABs, то потребовалось бы занять 8 логических блокоь LAB и максимальная рабочая частота составила бы приблизительно 20 МГц.

Подробности устройствй глобальной системы коммутации и работу элементов ввода/вывода рассматривать не будем. В них много сходства с работой схем аналогичного назначения, рассмотренных ранее. Основные параметры СБИС семейства FLEX 10K даны в табл. 8.3 § 8.5.