Программирование с помощью перемычек antifuse является однократными.
Высококачественные перемычки фирмы Actel компактны, имеют очень малые токи в первоначальном (непроводящем)
состоянии (порядка10-15А). Перемычка образована трёхслойным
диэлектриком с чередованием слоёв оксид-нитрид-оксид. Программирующий импульс напряжения
пробивает перемычку и создаёт проводящий канал из поликремния между
электродами. Величина тока, создаваемого импульсом программирования, влияет на
диаметр проводящего канала (например ток 5 мА создаёт перемычку с сопротивление
600 Ом, ток 15мА – 100 Ом) [7].
Элементы EPROM
и EEPROM на ЛИЗМОП (МОП-структуры с лавинной
инжекцией заряда) транзисторах с плавающих затвором используются в ПЛИС, где с
помощью программируемой памяти задаётся конфигурация схемы. Стирание старой
конфигурации в ПЛИС на основе EPROM
требует длительного (около 1 часа) облучения УФ-излучением. Такие микросхемы
имеют ограничение количества циклов перепрограммирования из-за деградации
свойств полупроводниковых материалов под воздействием ультрафиолета. Технология
EEPROM, для обновления не требует
извлечения микросхемы, допускает достаточно большое число циклов стирания (104…106).
Процесс стирания и обновления конфигурации занимает время порядка миллисекунд.
В последнее время схемотехника EEPROM
совершенствуется и всё больше вытесняет схемотехнику EPROM. Технология программируемой памяти применяется в ПЛИС
типа CPLD.
В
качестве программируемого элемента связи в ПЛИС FPGA используется транзисторный ключ, управляемый триггером,
показанный на рис.3.2
Ключевой транзистор Т2 замыкает или размыкает участок АВ в
зависимости от состояния триггера. При программировании на линию выборки
подаётся высокий потенциал, и транзистор Т1 включается. С линии записи-чтения
подаётся сигнал, устанавливающий триггер в состояние «1» и «0».
Загрузка соответствующих
данных в память конфигурации программирует ПЛИС. Быстрый процесс оперативного
программирования может производиться неограниченное число раз. При выключении
питания конфигурация теряется. Каждый раз при включении питания необходим
процесс инициализации (конфигурирования) схемы - загрузка данных из
энергонезависимой памяти [1].
ИС класса ПЛМ и ПМЛ имеющие структуру весьма удобную для
построения цифровых автоматов положили начало развития архитектуры
программируемых коммутируемых матричных блоков (ПКМБ), которые представляют
собой ПЛИС содержащую несколько матричных логических блоков, объединённых
коммутационной матрицей. ПЛИС типа ПКМБ, как правило, имеют высокую степень
интеграции (до 10 тыс. эквивалентных вентилей). К этому классу относятся ПЛИС
семейства MAX5000, MAX7000 фирмы Altera, схемы XC7000, XC9500
фирмы Xilinx и др. ПЛИС
класса ПКМБ в зарубежной литературе получили название CPLD (Complex PLD).
Архитектурно CPLD
состоят из центральной коммутационной матрицы, множества функциональных блоков
ФБ (макроячеек) и блоков ввода-вывода на периферии кристалла. Система
коммутации построена на основе непрерывных связей, что даёт хорошую
предсказуемость задержек сигналов в связях. Программируемая матрица соединений
(PIA) позволяет соединить выход любого ЛБ
с входами других и обеспечить связи с вертикальными и горизонтальными линиями.
Как и во всех ПЛИС, логические операции производятся в ЛБ, которые соединяются
в единую систему с помощью ПМС. Каждый ЛБ содержит 16 макроячеек. Классическим
представителем CPLD являются
микросхемы семейства MAX7000,
фирмы Altera, имеющими память конфигурации типа EEPROM. В настоящее время выпускаются ПЛИС MAX7000, MAX7000A, MAX7000B, MAX7000E, MAX7000S.
Семейства MAX7000A и MAX7000B рассчитаны на работу в системах с
напряжением питания 3,3 и 2,5В соответственно, ПЛИС MAX7000S
является дальнейшим развитием 5-вольтового MAX7000, с возможностью программирования в системе (ISP, In-system programmability) и периферийного сканирования в
соответствии со стандартом IEEE Std. 1194.1 JTAG. Фрагмент структуры CPLD MAX7000S
дающий достаточно полное представление о ней изображён на рисунке 3.3а.
В отличие от архитектуры MAX7000 ПЛИС MAX7000S имеют дополнительную возможность использования
двух глобальных тактовых сигналов GCLK1 и GCLK2 и сброса GCLR, а также сигналы разрешения выходов ОЕ.
Логический блок обеспечивает построение как комбинационных
цепей, так и схем с элементами памяти. Одна из макроячеек логического блока
изображена на рисунке 3.3б.
При недостатке собственных термов внутри макроячейки, можно
воспользоваться дополнительными ресурсами двух типов логических расширителей
общего (разделяемого) и параллельного.
Блок ввода-вывода даёт возможность гибкого управления разрешением
выходного буфера. ПМС формирует глобальные сигналы разрешения выходов ОЕ,
допуская возможность перевода выходов ПЛИС в третье состояние. ПЛИС MAX7000S поддерживают аппаратную эмуляцию выходов с открытым
коллектором, кроме того, может программироваться и скорость изменения выходов
сигналов с целью предупреждения возможных паразитных колебаний при
переключении.
Продолжением линии БМК стали программируемые пользователем
вентильные матрицы ППВМ (FPGA).
Логические блоки таких ПЛИС состоят из одного или нескольких относительно
простых логических элементов (коммутируемых логических блоков КЛБ), в основе
которых лежит таблица перекодировки, программируемый мультиплексор, D-триггер и цепи управления. Таких
простых элементов может быть достаточно большое количество (у современных ПЛИС
ёмкостью до 1 миллиона вентилей число логических элементов достигает нескольких
десятков тысяч). Таким образом, архитектуру ППВМ можно представить в виде
структуры БМК, где вместо базовых ячеек находятся КЛБ. В английской терминологии
данный класс микросхем называется FPGA (Field Programmable Gate Array). К наиболее известным FPGA
относятся ПЛИС семейства XC2000,
XC3000, XC4000, XC5000 и Spartan,
Virtex фирмы Xilinx, ACT1,ACT2 фирмы Actel, а также семейства FLEX8000 фирмы Altera, некоторые ПЛИС Atmel
и Vantis [8].
В качестве КЛБ могут использоваться:
-
транзисторные
пары, простые логические вентили и т.п.
-
логические модули на основе мультиплексоров
-
логические модули на основе программируемых ПЗУ
Наиболее важные характеристики КЛБ отражаются двумя
параметрами зернистость и функциональность.
Первое свойство связано с тем, какие минимальные единицы логики (транзистор, вентиль,
логический модуль) можно применить для составления нужной схемы. Второе
свойство показывает насколько велики логические возможности КЛБ. Т.о. оба
параметра взаимопротивоположны. Мелкозернистые ЛБ фирмы Crosspoint Solution содержат цепочки транзисторов. Между
цепочками транзисторов имеются трассировочные каналы, в которых могут быть
реализованы необходимые межсоединения. Крупнозернистый блок в микросхемах XC4000E фирмы Xilinx
в качестве основы имеет три функциональных логических преобразователя, ряд
программируемых мультиплексоров и два триггера. Такой блок способен реализовать
более сложные функции, что ведёт к упрощению программируемой части
межсоединений. Иными словами, меняя зернистость можно выиграть в одном и
проиграть в другом.
Системы межсоединений, как и логические блоки, реализуются в
широком диапазоне архитектурных и технологических решений. Линии связи в FPGA как правило сегментированы, т.е.
составлены из сегментов различной длины, соединённых программируемыми связями.
Короткие сегменты затрудняют реализацию длинных связей,
длинные – коротких. Поэтому применяют иерархическую систему связей с
несколькими типами межсоединений для передачи на разные расстояния, такое
решение позволяет строить системы с максимальной коммутируемостью КЛБ при
минимальном количестве ключей и задержки сигналов, а также предсказуемость
последних, что облегчает программирование [7].
Критерий трассировочной способности системы межсоединений
отображает возможность создания в FPGA множества схем типового применения (только с помощью программируемых
перемычек).
Объединение достоинств FPGA и CPLD
привело к созданию ПЛИС смешанной архитектуры (общего названия для этого типа
ПЛИС пока не придумано, фирма Altera
пользуется термином Field Programmable Gate Arrays FLEX). Микросхемы FLEX содержат реконфигурируемые модули памяти РМП. Впервые такая
встроенная память появилась в семействе FLEX
10K [7] (рис.3.4).
Логические элементы (ЛЭ) объединяются в группы – логические
блоки. Внутри логических блоков ЛЭ соединяются посредством глобальной
программируемой матрицы соединений. Локальная и глобальная матрицы соединений
имеют непрерывную структуру – для каждого соединения выделяется непрерывный
канал.
Дальнейшее развитие архитектур идёт по пути создания комбинированных
архитектур, сочетающих удобство реализации оперативно реконфигурируемых систем,
характерных для FPGA структур и
многоуровневых ПЛИС с удобством реализации цифровых автоматов на CPLD архитектурах. В продукции наиболее
известных производителей ПЛИС можно выделить микросхемы APEX 20K/KE (рис.3.5) фирмы
Altera и Virtex фирмы Xilinx.
Стоит отметить, что при всех своих достоинствах такие ПЛИС пока мало популярны
из-за высокой стоимости [7].
В таких микросхемах уровень интеграции доведён до нескольких
миллионов эквивалентных вентилей, а быстродействие до тактовых частот 500…600
МГц. На таких кристаллах можно поместить целую систему (в зарубежной литературе
принят термин System-On-Chip, SOC), включающую процессорную часть,
память, интерфейсные схемы и др.
Компоненты этих систем разрабатываются отдельно и хранятся в
виде файлов параметризованных модулей. На базе таких виртуальных компонентов с
помощью систем автоматизированного проектирования электронных устройств EDA (Electronic Design Automation) создаётся окончательная структура SOC-микросхем.
Характер проектирования существенно зависит от вида
применяемой элементной базы. Небольшие устройства для реализации которых
используются ПЛИС малой степени интеграции разрабатываются, как правило
«вручную», когда проектирование сводится к построению таблицы программирования
(прошивки), на основании которой обеспечиваются необходимые межсоединения.
Все современные методики проектирования ЦУ на базе схем
программируемой логики высокой сложности основаны на применении САПР. Новейшие
САПР предоставляют широкий набор инструменты для проектирования на этапах
описания, компиляции, отладки, функционального и временного моделирования,
конфигурирования, физического моделирования и программирования [7].
В настоящее время к наиболее распространенным универсальным
способам описания, применимым для проектов любого уровня относят графический и
текстовый. Реже используются непосредственная разводка схем в редакторе
топологии, описания в виде требуемых временных диаграмм, а также описания путём
построения графов.
Графический способ разработки дизайна подразумевает макетное
построение схемы с использованием библиотечных элементов САПР, которые могут
быть представлены в виде примитивов, в виде макрофункций в базисе элементов
стандартных серий ТТЛ(Ш) или в виде параметризованных модулей. Главное
достоинство графического способа – его традиционность и наглядность.
Использование текстового представления проекта допускает
описание устройства, как с точки зрения поведения, так и с точки зрения
структуры. Удобство текстового описания проявляется при создании систем,
содержащих большое количество повторяющих фрагментов. Важными достоинствами
являются текстового описания компактность и относительная простота
автоматизации любых преобразований, включая начальную генерацию описания
проекта.
Использование стандартных универсальных языков описания
аппаратуры (HDL, Hardware Description Languages) обеспечивает простоту переноса
проекта с одной аппаратной
платформы на другую и переход от одной САПР к другой [7]. Текстовые описания
имеют две основные разновидности – языки низкого уровня (аналоги языков
программирования типа ассемблера) и высокого уровня. Примерами таких языков
могут служить язык AHDL (Altera HDL) и ABEL
(фирмы Xilinx). Языки высокого уровня менее
связаны с аппаратными платформами и поэтому более универсальны. Среди них
наиболее распространены языки VHDL и
Verilog [7].
Описание в виде граф-схемы переходов (диаграммы состояний)
является наиболее распространённым вариантом задания цифровых автоматов.
Графические редакторы для создания автоматов включаются в состав средств
задания исходных проектов современных САПР (например, в САПР Foundation фирмы Xilinx разработки фирмы ALDEC).
После составления описания проекта производится его
компиляция. Данная процедура разбивается на ряд последовательных действий:
сборка базы данных проекта, контроль соединений, логическая минимизация
проекта, формирование загрузочного (конфигурационного) файла и др. Результат
компиляции – загрузочный файл.
Тестирования проекта часто производится путём работы с
редактором временных диаграмм. В данном варианте анализ производится на основе
созданного генератора воздействия. Например в САПР MAX+PLUS II предусмотрено
автоматическое вычисление трёх основных классов временных параметров:
-
минимальных и
максимальных задержек между источниками (входными сигналами) и приёмниками
(выходными сигналами), информация о которых выдаётся в виде матрицы задержек;
-
максимально
возможной производительности устройства (пропускной способности) в виде
максимальной частоты тактирования элементов памяти, используемых в проекте.
-
времён предустановки и выдержки сигналов, гарантирующих надёжную работу
схем при фиксации сигналов в синхронных элементах памяти [7].
Многие САПР позволяют также выделять критические пути
передачи и преобразования информации для схемного или топологического
представления проекта.
При выборе той или иной элементной базы не маловажным
критерием является наличие достаточно развитых и удобных средств разработки
проектов на её основе.
Ряд фирм предлагает бесплатные версии САПР, представляющих
собой базовый набор инструментов для проектирования ЦУ на базе ПЛИС. Примерами
могут служить САПР MAX+PLUS II BASELINE – среда проектирования устройств на
базе ПЛИС фирмы Altera, WebPACK ISE – версия САПР для ПЛИС фирмы Xilinx. Среди бесплатных САПР Xilinx следует также выделить
систему WebFITTER, первый в своем роде продукт, основанный на использовании
Internet.
Многие крупные фирмы-производители САПР интегральных схем
активно включились в процесс создания программного обеспечения, поддерживающего
ПЛИС различных производителей. Это позволяет проводить разработку алгоритмов,
пригодных к реализации на ПЛИС не только разных семейств, но и различных
производителей, что облегчает переносимость алгоритма и ускоряет процесс
разработки. Примером таких систем являются продукты серии FPGA Express фирмы
Synopsys, OrCAD Express фирмы OrCAD, продукты фирм VeryBest, Aldec, Cadence
Design Systems и многих других. САПР фирмы Altera поддерживает интерфейс со многими из названных
продуктов.
Система MAX+PLUS II разработана фирмой Altera и обеспечивает многоплатформенную архитектурно независимую среду
создания дизайна, легко приспосабливаемую для конкретных требований
пользователя.
Название MAX+PLUS II является аббревиатурой от Multiple Array MatriX Programmable Logic User System (пользовательская система программирования логики
упорядоченных структур). Система MAX+PLUS II имеет полный спектр возможностей
логического дизайна: разнообразные средства описания проектов с иерархической
структурой, мощный логический синтез, компиляцию с заданными временными
параметрами, разделение на части (использование нескольких кристаллов),
функциональное и временное тестирование (симуляцию), тестирование нескольких
связанных устройств, анализ временных параметров системы, автоматическую
локализацию ошибок, а также программирование и верификацию устройств [8].
Процедуру разработки нового проекта от концепции до завершения можно упрощённо
представить следующим образом:
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
|