avtomatizastiya_proektirovaniya_3_5-3_7 (Лекции)
Описание файла
Файл "avtomatizastiya_proektirovaniya_3_5-3_7" внутри архива находится в папке "Лекции". Документ из архива "Лекции", который расположен в категории "". Всё это находится в предмете "автоматизация проектирования" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "автоматизация проектирования" в общих файлах.
Онлайн просмотр документа "avtomatizastiya_proektirovaniya_3_5-3_7"
Текст из документа "avtomatizastiya_proektirovaniya_3_5-3_7"
САПР
2010-04-28
…
19-00
3.5 Программируемые пользователем вентильные матрицы (ППВМ - FPGA)
ППВМ состоит из матрицы конфигурируемых логических блоков и коммутирующих связей – программируемых матриц соединений. Логические блоки таких ПЛИС состоят из 1 или нескольких относительно простых логических элементов. В их основе лежит таблица перекодировки. Программируемый мультиплексор, D-тригер, а также цепи управления.
У современных ПЛИС число вентилей до 16 млн., а число логических блоков до 680 тыс. (Stratics IV). За счет такого большого числа логических элементов, они содержат значительное число триггеров. Также некоторое семейство ПЛИС имеют встроенные реконфигурируемые модули памяти, что делает ПЛИС данной архитектуры весьма удобным средством реализации алгоритмов цифровой обработки сигналов, основными операциями в которых являются – перемножение, умножение на константу, суммирование и задержка сигнала. Вместе с тем, возможности комбинационной части таких ПЛИС ограничены. Поэтому, совместно с ППВМ применяют СПЛУ для реализации управляющих и интерфейсных схем.
В ППВМ для хранения конфигурационной информации используется энергозависимая память, требующая инициализации после включения питания (в отличии от СПЛУ, в которых применяется энергонезависимая память flash или EEPROM).
К классу ППВМ относится ПЛИС семейств:
-
Xilinx: XC2000, XC3000, XC4000, XC5000, Spartan, Spartan-XL, Spartan-II, Spartan-IIE, Spartan-3, Virtex, Virtex-E, Virtex-II, Virtex-IIPro и Virtex-4.
-
Actel: ACT1 и ACT2.
-
Altera: FLEX6000, FLEX8000, FLEX10K, Stratix и StratixII.
-
Некоторые ПЛИС фирм Atmel и Vantis.
Обобщенная структура ПЛИС фирмы Altera, названная матрицы элементов гибкой логики (FLEX) показан на рисунке 8. Здесь имеются блоки логических элементов, объединяемые в LAB-модули (Logical Aray Block) по 8 элементов в каждой. Отличительной чертой FLEX-устройств являкестя то, что матрица переключений реализована в виде горизонтальных и вертикальных каналов межсоединений (каналов трассировки). Это позволило значительно уменьшить площадь кристалла, занимаемого матрицей переключений, без существенного сниж свойств. Элементы ввода/вывода (I,O,E) обслуживающие внешние выводы подсоединяются непосредственно к каналам межсоединений.
Рис. 8. Структура ППВМ семейства FLEX фирмы Altera
3.6 Структура ПЛИС семейства Spartan фирмы Xilinx с архитектурой ППВМ
Рис.9
ПЛИС состоит из прямоугольной матрицы конфигурируемых логических блоков (CLB), окруженных блоками ввода-вывода (IOB), позволяющими реализовать двунаправленный ввод-вывод, третье состояние и т.п. Между CLB располагаются программируемые трассировочные линии.
Особенностью современных ПЛИС является возможность тестирования узлов с помощью порта JTAG (B-scan), а также наличие внутреннего генератора (Osc) и схем управления последовательной конфигурацией.
От схем с архитектурой СПЛУ ПЛИС семейства Spartan отличается тем, что отдельные CLB не имеют индивидуальных выходов, соединенных с внешними выводами ПЛИС. Вместо этого функции преобразования сигналов выполняют выделенные ресурсы IOB. Между матрицей CLB и IOB имеются отдельные межсоединения, которые и обеспечивают подключение внешних сигналов.
Такой подход оптимален ввиду значительно большей логической емкости микросхем ППВМ по сравнению с СПЛУ (для СПЛУ максимальный логический объем – 512 макроячеек, для ПЛИС с ППВМ – десятки тыс. CLB).
Действительно, попытка обеспечить индивидуальное соединение с выводами корпуса для большого числа логических ячеек требует чрезмерного количества трассировочных ресурсов.
В то же время число пользовательских выводов даже в корпусах максимального размера < 1000. Т.о. наличие отдельного набора блоков ввода/вывода, соединенных с основной матрицей CLB соответствует общей идеологии построения программируемых цифровых элементов.
Реализация элементов электрического интерфейса в отдельном блоке дает еще одно весьма важное преимущество. В то время, как возможности управления электрическим интерфейсом в микросхемах СПЛУ (например, семейства XC9500) ограничены установкой скорости нарастания выходного сигнала, блок ввода-вывода ППВМ представляющий собой отдельный элемент кристалла, как правило обладает существенно большими возможностями.
Современные семейства ПЛИС поддерживают до 20 электрических интерфейсов, включая TTL, CMOS со множеством разновидностей, а также высокоскоростные дифференциальные интерфейсы, такие как – LVDS, LVPECL и другие. Тип интерфейса, реализуемый в каждом блоке, может быть установлен индивидуально. При этом информация о реализуемом блоком протоколе содержится в конфигурационной памяти и может быть задана в процессе проектирования устройства на базе ПЛИС.
Архитектура с раздельным расположением основных логических ресурсов и блоков ввода-вывода создает и некоторые трудности при проектировании топологии внутренних соединений. Если проекты, выполняемые в ПЛИС архитектуры СПЛУ часто допускают 100% использование макроячеек, то для ППВМ это практически недостижимо. Это связано с тем, что выбранное алгоритмами трассировки кристалла взаимное расположение отдельных узлов проекта внутри ПЛИС может оказаться неудобным для последующего соединения их с блоками ввода/вывода (например, если с внешним выводом микросхемы должен быть соединен один из блоков, расположенных на противоположной стороне матрицы CLB). Для семейства Spartan можно ожидать успешной трассировки относительно сложных проектов, вплоть до 60-70% использования CLB.
3.7 Структура конфигурируемого логического блока CLB ПЛИС с архитектурой ППВМ семейства Spartan фирмы Xilinx
Основным элементом ППВМ фирмы Xilinx является CLB, структура которого для семейства Spartan приведена на рисунке 10.
Рис.10
CLB ПЛИС структуры ППВМ имеет следующие 2 отличия по структуре от макроячейки СПЛУ:
-
В состав CLB входят 2 триггера.
-
Вместо достаточно мощного распределеителя коньюнкций, который в ПЛИС архитектуры СПЛУ (например, семейства XC9500 может работать с 36 входными переменными, в ППВМ используются 4-х входовые логические генераторы, обозначенные LUT.
Приведенная на рис. 10 структура CLB и ее свойства отражают основные особенности ППВМ. Поскольку, в составе таких ПЛИС отсутствует flash-память для хранения конфигурации, то все таблицы истинности логических элементов должны быть занесены в обычную статическую память. Ее фрагментами и являются G и F –LUT, представляющие собой блоки памяти с организацией 16х1 (16 слов, разрядность 1), способные воспроизводить любые функции 4-х переменных, значения которых могут быть переданы на выходы Y и Xчерез мультиплексоры 4 и 6, при соответствующем их программировании. Через верхний вход мультиплексора 1 и нижний вход мультиплексора 2 функции G и F могут быть поданы на H-LUT (ЗУ с организацией 8х1) для образования функции от функций, с целью получения результирующей функции, зависящей от более чем 4-х аргументов. К 3-му входу H-LUT подключен входной сигнал H1, так что H = f(G,F,H1). Аргументами для H-LUT, поступающими от мультиплексоров 1 и 2, в зависимости от их программирования, может быть не только набор G, F, H1, но и наборы G,H1,DIN; SR, H1, DIN; SR,H1,F. Линии DIN (Data INput) и SR (Set-Reset) используются, либо для передачи в триггер непосредственно входных данных и сигнала установки-сброса, либо как входы H-LUT.
Перечисленные ресурсы логической части CLB, позволяют воспроизводить следующие функции:
-
Любую f с числом аргументов джо 4-х включительно + 2-ю такую же функцию + любую f с числом аргументов до 3-х.
-
Любую f 5 аргументов (одну).
-
Любую f 4-х аргументов и одновременно некоторые f 6 аргументов. Некоторые f с числом аргументов до 9.
Мультиплексоры 3-6 направляют те или иные сигналы на триггеры. Триггеры могут использоваться для фиксации и хранения выходных сигналов LUT или же работать независимо от них. Входной сигнал DIN может быть прямым входом для любого триггера. Сигнал H1 тоже можно передавать любому триггеру, но через H-LUT, что вносит в цепь его передачи некоторую задержку. Оба триггера имеют общие входы CK (тактирование от сигнала CK), разрешение тактирования (EC) и установки сброса (SR).
Комбинаторная логика является в ППВМ более значимым ресурсом, чем в СПЛУ. В тоже время, наличие 2-х триггеров в составе CLB позволяет реализовывать на базе ПЛИС с архитектурой ППВМ более сложные устройства, насыщенные регистрами, счетчиками и т.п. Каждая LUT, являясь по своей сути фрагментом памяти, может быть использована, как ОЗУ с организацией 16х1 или как 16-разрядный сдвиговый регистр. Это дает возможность использовать в проектах небольшие по объему блоки распределенной по кристаллу памяти.
В семействе Spartan можно выбрать кол-во портов (обычная или двупортовая память) и тип интерфейса (синхронный или асинхронный). В последующих семействах ПЛИС архитектуры ППВМ Xilinx асинхронный интерфейс распределенной памяти не поддерживается.
3