Архитектуры ПЛИС (1015493), страница 2
Текст из файла (страница 2)
в третьем варианте однократно программируемых соединений используются ЛИЗМОП-транзисторы с плавающим (скрытым в подзатворном окисле) затвором, не имеющим внешних выводов. Плавающий затвор в результате программирования оказывается заряженным или разряженным, что ведет к наличию или отсутствию в транзисторе про водящего канала. Заряд в плавающем затворе после снятия повышенных программирующих напряжений оказывается запертым в "ловушке", где может сохраняться десятки лет. Стирание информации про изводится ультрафиолетовыми лучами через прозрачное(кварцевое) окошко в корпусе, после чего возможно новое программирование (память типа EPROM). ДЛЯ однократного программирования созданы упрощенные схемы, размещенные в дешевых корпусах, не имеющих специальных окошек для стирания информации. Такую память для однократной записи данных называют EPROM-OTP (Electrically Programmable Read-Only Меmory - Опе Time Programmable).
Микросхемы с возможностями многократного программирования при стирании и записи конфигурации в специальных режимах имеют программируемые элементы в виде транзисторов с двумя затворами (плавающим и управляющим). От предыдущего варианта эти микросхемы отличаются наличием режима электрического стирания записанной в память информации. Такие запоминающие элементы относятся к памяти EEPROM (Electrically Erasable Programmable Read-Only Memory).
В ИСПС с памятью конфигурации типа EEPROM стирание данных осуществляется электрическими сигналами. Определенные сочетания программирующих напряжений на внешних выводах транзистора создают режимы заряда или разряда плавающих затворов. Электрическое программирование содержимого памяти не требует извлечения микросхем из устройства, в котором они используются. Число допустимых циклов репрограммирования хотя и ограничено, но на порядки превышает соответствующие числа для памяти с ультрафиолетовым стиранием информации и составляет 105-106.
К памяти типа EEPROM близка память типа флэш. Запоминающие элементы по принципу действия у обоих видов памяти идентичны - это транзисторы с двумя затворами и электрическим стиранием информации. Различия имеются в организации процессов записи и стирания флэш-памяти считают кульминационным пунктом развития памяти типа EEPROM. В современных ИСПС находят применение обе разновидности памяти конфигурации с электрическим стиранием данных.
В оперативно репрограммируемых ИСПС конфигурация задается с помощью загрузки файла в "теневую" триггерную память, т.е. с помощью операций, не требующих каких-либо специальных режимов (загрузка регистров - типичная для цифровых устройств рабочая операция). В противоположность предыдущим вариантам для программирования не нужны ни специальные программаторы, ни повышенные напряжения, ни длительные воздействия на элементы памяти. Память конфигурации - обычная статическая (триггерная), т.е. типа SRAM (Static Random Access Memory). Загрузка памяти производится последовательным потоком битов или байтов с высокой скоростью. Элементом с программируемой проводимостью (режимом "замкнуто/разомкнуто") в этом случае служит обычный МОП-транзистор, управляемый триггером памяти конфигурации (теневой памяти).
Триггерная память в отличие от EEPROM и Flаsh-памяти не 'является энергонезависимой, и выключение питания ведет к разрушению конфигурации схемы, поэтому при очередном включении питания нужно восстановить требуемую конфигурацию, загрузив в триггеры теневой памяти файл конфигурации из какой-либо энергонезависимой памяти. Загрузка осуществляется введением файла конфигурации в цепочку триггеров теневой памяти и, в зависимости от объема файла, занимает десятки-сотни миллисекунд.
Программируемые соединения с триггерной памятью по числу необходимых транзисторов сложнее, чем предыдущие варианты, т.к. для каждого соединения требуются шесть транзисторов, Однако эти программируемые соединения создаются элементами, технологически идентичными остальной схеме. В итоге ИСПС с триггерной памятью конфигурации в силу своих достоинств занимают среди ПЛИС важнейшее место, Возможности оперативной реконфигурации, свойственные ИСПС с триггерной памятью, получили дальнейшее развитие в архитектурах с динамическим репрограммированием, в которых конфигурация может быть изменена чрезвычайно быстро. Переход от одной конфигурации к другой здесь не требует ввода извне новых данных. Несколько вариантов настроек уже заранее заготовлены, введены в теневую память и постоянно хранятся в ней. Переход с одной конфигурации на другую делается однотактно по команде управляющего сигнала.
Классификация ПЛИС по архитектуре
Можно выделить два основных класса архитектур ПЛИС это CPLD (Complex ProgrammabIe Logic Devices) и FPGA (Field Programmable Gate Arrays). Рассмотрим каждый из этих классов более подробно.
1.3 ПЛИС архитектуры CPLD
В историческом плане предшественниками CPLD были схемы программируемой матричной логики(ПМЛ - PAL, ProgrammаЫе Arrays Logic или GAL, Generic Array Logic) и схемы программируемых логических матриц(ПЛМ - PLA, ProgrammabIe Logic Arrays). Эти микросхемы реализуют дизъюнктивные нормальные формы (ДНФ) переключательных функций (SOP, Sum of Products). Основными блоками ПЛМ и ПМЛ являются две матрицы: матрица элементов И и матрица элементов ИЛИ, включенные последовательно. В ПЛМ программируются обе матрицы, в ПМЛ - только матрица элементов И. Соответственно этому схема ПЛМ сложнее, но ее функциональные возможности больше.
В микросхемах CPLD несколько блоков, подобных ПМЛ, объединяются в одно целое средствами программируемой коммутационной матрицы. В CPLD могут входить десятки ПМЛ-блоков. Воздействуя на программируемые соединения коммутационной матрицы и ПМЛ-блоков, можно реализовать требуемую схему. В последней разработке фирмы Xilinx (семействе СооlRuппеr-П) впервые схема CPLD образована как объединение блоков ПЛМ, а не ПМЛ.
Основными частями CPLD являются:
-
функциональные блоки, подобные РAL (ПМЛ) или, иногда, PLA (ПЛМ).
-
выполненная в виде матрицы соединений система коммутации, позволяющая объединять функциональные блоки в единое устройство;
-
блоки ввода/вывода.
Все составные части CPLD программируются. Обобщенная структура CPLD по казана на рис. 1.6.
Р
ис. 1.6 обобщенная структура CLPD
В структурной схеме через ФБ обозначены функциональные блоки, число которых N зависит от логической сложности микросхемы. В каждом ФБ имеется п макроячеек МЯ (МС, Macrocells). Функциональные блоки получают т входных сигналов от программируемой матрицы соединений ПМС (PIA, Programmable Interconnect Апау). Выходные сигналы ФБ поступают как в ПМС, так и в блоки ввода/вывода БВВ (IOBs, Input/Output Blocks).
Блоки ввода/вывода связаны с внешними двунаправленными выводами 1/0, которые, в зависимости от программирования, могут быть как входами, так и выходами. В показанном примере три нижних вывода либо специализируются для подачи на функциональные блоки глобальных сигналов1 - тактирования GCK (Global Clocks), установки/сброса GSR (Global Set/Reset) и управления третьим состоянием выходных буферов GTS (Global 3-state Control),либо эти же выводы могут быть использованы для операций ввода/вывода.
Число контактов ввода/вывода может совпадать с числом выходов всех ФБ, но может быть и меньшим. В последнем случае часть макроячеек служит только для выработки внутренних сигналов (сигналов обратной связи). Необходимость в таких сигналах типична для многих цифровых устройств.
Структура на рис. 1.6 несколько упрощена. Кроме показанных блоков в CPLD могут присутствовать контроллеры для работы с интерфейсом JT АО и управления операциями программирования непосредственно в системе (ISP, In System Programmability), а также другие дополнительные блоки.
1.3.1 Программируемая матрица соединений
В программируемой матрице соединений ПМС (рис. 1.7) выходы функциональных блоков ФБ подключаются к вертикальным непрерывным (не сегментированным) линиям, причем каждому выходу соответствует своя линия. Входы ФБ связаны с горизонтальными линиями, пересекающими все вертикальные. На пересечениях горизонтальных и вертикальных линий имеются программируемые точки связи (показаны крестиками), так что любой вход ФБ может быть подключен к любому выходу, чем обеспечивается полная коммутируемость блоков.
Рис. 1.7. Схема программируемой матрицы соединений CPLD (а)
Достоинство ПМС - малая и предсказуемая задержка коммутируемых сигналов, т.к. для каждого соединения образуется идентичный всем другим канал связи с малым числом программируемых ключей. Замкнутые ключи имеют, в первом приближении, схему замещения в виде RС-цепи и вносят основные задержки в процесс распространения сигнала.
Программируемые матрицы соединений, аналогичные показанной на рис. 1.7, эффективны в схемах с относительно небольшим числом коммутируемых блоков. При большом их числе, характерном, например, для FPGA, подобные ПМС были бы чрезмерно сложны, поскольку любое соединение в них образуется с помощью линий связи, проходящих по всей длине и ширине схемы, тогда как очень многие связи локальны и соединяют близлежащие блоки. С ростом числа ФБ в структуре CPLD сложность соединений растет по экспоненциальному закону. Поэтому в FPGA системы коммутации строятся иначе - с помощью сегментированных линий связи. При этом теряется такое достоинство системы коммутации, как минимальные и предсказуемые задержки сигналов.
1.4 ПЛИС архитектуры FPGA
Микросхемы программируемых пользователями вентильных матриц FPGA (Field Programmable Gate Arrays) в своей основе состоят из большого числа конфигурируемых логических блоков (КЛБ), расположенных по строкам и столбцам в виде матрицы, и трассировочных ресурсов, обеспечивающих их соединения. Развитие классических многократно программируемых FPGA связано, прежде всего, с достижениями фирмы Xilinx, которая изобрела и активно разрабатывает FPGA с триггерной памятью конфигурации, ее продукция занимает 30-40% мирового рынка ПЛИС.
Однократно программируемые FPGA с пробиваемыми перемычками типа antifиse - второе направление развития классических FPGA, поддерживаемое такими его сторонниками, как фирмы Actel и QиickLogic. Повышенная стойкость однократно программируемых микросхем по отношению к неблагоприятным внешним условиям (в частности, к радиационным воздействиям) делает их перспективными для создания военных и авиационно-космических систем (фирма Actel).
FPGA с флэш-памятыо конфигурации (фирма Actel, семейство ProASIC) можно реконфигурировать многократно, хотя и не в оперативном режиме. Эти микросхемы не теряют конфигурацию при снятии питания и после его включения имеют быструю готовность к работе, поскольку не требуют начальной загрузки памяти.
1.4.1 Классические архитектуры FPGA
Типичная FPGA представляет собой микросхему высокого уровня интеграции, содержащую во внутренней области матрицу идентичных функциональных блоков и систему их соединений, размещенную между строками и столбцами матрицы, а в периферийной области - блоки ввода/вывода (в наиболее сложных FPGA стали появляться и варианты с более свободным расположением блоков ввода/вывода).
Основные части FPGA:
-
функциональные блоки;
-
система межсоединений;
-
блоки ввода/вывода.
Все эти части конфигурируются или реконфигурируются самими пользователями.
Перечисленные части - основа FPGA. Кроме них FPGA, как правило, имеют дополнительные средства для автоподстройки задержек в системе тактирования (PLL, DLL, DCM), поддержки интерфейса JТAG, реализации высокопроизводительных шин передачи сигналов и т. д. На рис. 1.12 укрупненно показаны фрагмент типичной FPGA.
Р
ис. 1.12. Фрагмент типичной FPGA (а) и структура ее функционального блока (б)
При конфигурировании FPGA функциональные (логические) блоки настраиваются на выполнение требуемых операций преобразования данных, а система соединений - на требуемые связи между функциональными блоками. В результате во внутренней области FPGA реализуется схема необходимой конфигурации. Блоки ввода/вывода обеспечивают интерфейс FPGA с внешней средой и их, как правило, можно программировать на выполнение требований ряда стандартов передачи данных (число таких стандартов может доходить до 20 и более).
1.5ПЛИС с комбинированной архитектурой
В течение первых лет развития ПЛИС они были представлены архитектурами CPLD и FPGA в "чистом" виде. Каждая из этих архитектур имеет свои достоинства и недостатки. Стремление к сочетанию достоинств CPLD и FPGA привело к появлению ПЛИС с комбинированной архитектурой, которые отличаются разнообразием вариантов и различной степенью близости к FPGA и CPLD. Этот тип ПЛИС не имеет общепринятого названия, хотя фактически существует, поскольку есть схемы, которые трудно квалифицировать как FPGA или CPLD. Зачастую ПЛИС с комбинированной архитектурой представлялись производителем только под конкретным названием, в котором не упоминаются ни CPLD, ни FPGA. С течением времени в архитектурах комбинированного типа все более проявляются черты FPGA. Поэтому в дальнейшем будем относить ПЛИС комбинированной архитектуры к классу FPGA, понимая этот термин в расширенном смысле. При этом можно выделить "классические" FPGA с их канонической архитектурой и FPGA комбинированной архитектуры. Принятая концепция отображена на рис. 1.3, а штриховыми линиями. Первыми ПЛИС с комбинированной архитектурой были семейства FLEX8000 и FLEXI0K фирмы Altera (FLEX, FlexibIe Logic Еlетепt MatriX). Являясь родоначальником архитектур CPLD, эта фирма в течение ряда лет избегала применения термина FPGA, называя свои микросхемы "нейтральными" именами, в которых не отображается принадлежность схемы к тому или иному архитектурному типу. Однако со временем и Altera стала относить свои микросхемы к классу FPGA, поскольку развитие их архитектур шло в направлении преобладания признаков именно этого класса ПЛИС.