Главная Учебники - Разные Лекции (разные) - часть 15
на тему «ПЛИС» (программируемые логические интегральные микросхемы)
1. Что такое ПЛИС? Зачем она нужна?
Программи́руемая логи́ческая интегра́льная схе́ма
(ПЛИС
, англ. programmable
logic
device
, PLD) — электронный компонент, используемый для создания цифровых интегральных схем. В отличие от обычных цифровых микросхем, логика работы ПЛИС не определяется при изготовлении, а задаётся посредством программирования (проектирования). Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры Verilog, VHDL, AHDL и др. Альтернативой ПЛИС являются: базовые матричные кристаллы, требующие заводского производственного процесса для программирования; ASIC — специализированные заказные БИС (большие интегральные схемы), которые при мелкосерийном и единичном производстве существенно дороже; специализированные компьютеры, процессоры (например, цифровой сигнальный процессор) или микроконтроллеры, которые из-за программного способа реализации алгоритмов медленнее ПЛИС. Некоторые производители ПЛИС предлагают программные процессоры для своих ПЛИС, которые могут быть модифицированы под конкретную задачу, а затем встроены в ПЛИС. Тем самым обеспечивается уменьшение места на печатной плате и упрощение проектирования самой ПЛИС. Программируемые логические интегральные схемы (ПЛИС) появились полтора десятилетия назад как альтернатива программируемым логическим матрицам (ПЛМ). От последних ПЛИС отличаются как по архитектуре, так и по технологии изготовления. ПЛИС представляет собой матрицу маловходовых (от двух до пяти входов) логических элементов, триггеров, отрезков линий связи, соединяемых перемычками из полевых транзисторов. Судя по английскому названию - Field Programmable Gate Array (FPGA) - ПЛИС программируются изменением уровня электрического поля (field) в затворах этих транзисторов. В отличие, например, от LPGA - Laser Programmable Gate Array. Затворы всех "программирующих" полевых транзисторов подключены к выходам триггеров одного длинного сдвигового регистра, который заполняется при программировании ПЛИС. Некоторые из участков этого регистра могут также выполнять роль ячеек ПЗУ. По сравнению с CPLD, ПЛИС выигрывают, во-первых, в неограниченном количестве перепрограммирований, во-вторых, в логической емкости, в том числе в удельной емкости вентилей на цент, в-третьих, в малом энергопотреблении. Как правило, ПЛИС имеют на два - три порядка большую емкость в числе эквивалентных логических вентилей, чем CPLD и также как статическое ОЗУ, почти не потребляют энергии при отсутствии переключений. Кроме того, у ПЛИС на порядок выше надежность (ниже интенсивность отказов), чем у CPLD. К недостаткам относят необходимость внешнего ПЗУ прошивки, генератора синхросерии. Но 8-выводовое ПЗУ занимает на плате значительно меньше места, чем сама ПЛИС с многими сотнями выводов. То же касается генератора синхросерии. Много сомнений у пользователей возникает с защитой проекта от копирования. Действительно, прошивка ПЛИС хранится во внешнем ПЗУ, содержимое которого просто копируется. Но изменить или расшифровать прошивку, например, для скрытия авторства или восстановления схемы, практически невозможно, так как семантика битов в файле прошивки - секрет фирмы, а неосторожное изменение ее может вывести ПЛИС из строя. Если требуется защита, то загрузку программы выполняют с помощью внешней CPLD, автомат в которой обеспечивает защиту проекта. В ПЛИС новых поколений предусматривается шифрование прошивки, например, с помощью встроенного шифрователя DES с обеспечением сохранения ключа с помощью батарейки. Программируемые логические интегральные схемы – ПЛИС являются одними из самых перспективных элементов цифровой схемотехники. ПЛИС представляет собой кристалл, на котором расположено большое количество простых логических элементов. Изначально эти элементы не соединены между собой. Соединение элементов (превращение разрозненных элементов в электрическую схему) осуществляется с помощью электронных ключей, расположенных в этом же кристалле. Электронные ключи управляются специальной памятью, в ячейки которой заносится код конфигурации цифровой схемы. Таким образом, записав в память ПЛИС определенные коды, можно собрать цифровое устройство любой степени сложности (это зависит от количества элементов на кристалле и параметров ПЛИС). В отличие от микропроцессоров, в ПЛИС можно организовать алгоритмы цифровой обработки на аппаратном (схемном) уровне. При этом быстродействие цифровой обработки резко возрастает. Достоинствами технологии проектирования устройств на основе ПЛИС являются: · минимальное время разработки схемы (нужно лишь занести в память ПЛИС конфигурационный код); · в отличие от обычных элементов цифровой схемотехники здесь отпадает необходимость в разработке и изготовлении сложных печатных плат; · быстрое преобразование одной конфигурации цифровой схемы в другую (замена кода конфигурации схемы в памяти); · для создания устройств на основе ПЛИС не требуется сложное технологическое производство. ПЛИС конфигурируется с помощью персонального компьютера на столе разработчика. Потому иногда эту технологию называют «фабрикой на столе». Типичные области применения ПЛИС: цифровая обработка сигналов, пользовательская электроника, системы сбора данных, системы управления, телекоммуникационное оборудование, оборудование для систем беспроводной связи, компьютерное оборудование общего назначения. В большинстве случаев в литературе выделяют следующие классы СПИС (ASIC) [3]: - масочно-программируемые ИС – базовые матричные кристаллы (БМК) или вентильные матрицы (Gate Arrays). - ИС на стандартных ячейках (Standard Cells). - полностью заказные ИС (Full Custom).
Рис.1. Классификация СПИС 2. Принцип работы, структура ПЛИС, скоростные характеристики, в каких корпусах выпускается, примеры устройств, фирмы реализации, рынок (объем выпуска), тенденции.
В настоящее время выпускаются следующие серии ПЛИС FPGA: · Серия Virtex · Серия Spartan · Серия ХС4000 · Серия ХС5200 · Серия ХС3000 ПЛИС типа FPGA фирмы Xilinx выполненны по SRAM кМОП технологии. Характеризуются высокой гибкостью структуры и изобилием на кристалле триггеров. При этом логика реализуется посредством так называемых LUT – таблиц (Look Up Table) Xilinx, а внутренние межсоединения – посредством разветвлённой иерархии металлических линий, коммутируемых специальными быстродействующими транзисторами. Отличительными системными особенностями являются: · внутренние буфера с возможностью переключения в высокоомное состояние и тем самым позволяющие организовать системные двунаправленные шины · индивидуальный контроль высокоомного состояния и времени нарастания фронта выходного сигнала по каждому внешнему выводу · наличие общего сброса/установки всех триггеров ПЛИС · множество глобальных линий с низкими задержками распространения сигнала · наличие внутреннего распределённого ОЗУ Xilinx, реализующегося посредством тех же LUT – таблиц (серии Spartan, Virtex, XC4000). · наличие внутреннего блочного ОЗУ, один блок имеет ёмкость 4 кбит (семейства Virtex, Virtex-E, Spartan-II, Spartan-IIE) или 18 кбит (семейства Virtex-II и Virtex-IIPro), всего блоков до 556 на кристалл · наличие встроенных блоков умножителей 18х18 (семейства Virtex-II и Virtex-IIPro), всего блоков до 556 на кристалл · наличие встроенных блоков процессоров PowerPC-405 (семейство Virtex-IIPro), до 4 процессоров на кристалл · наличие высокоскоростных трансиверов(семейство Virtex-IIPro), до 24 со скоростью передачи данных 3.125 ГБит/с каждый Процесс конфигурации Конфигурационная последовательность (bitstream) может быть загружена в прибор непосредственно в системе и перегружена неограниченное число раз. Инициализация ПЛИС производится автоматически (из загрузочного ПЗУ Xilinx) при подаче напряжения питания или принудительно по специальному сигналу. В зависимости от ёмкости ПЛИС процесс инициализации занимает от 20 до 900 мс, в течение которых выводы ПЛИС находятся в высокоомном состоянии (подтянуты к логической единице). Статическое потребление энергии достаточно мало и для некоторых серий составляет единицы микроватт. Динамическое же потребление пропорционально возрастает с частотой функционирования проекта и зависит от степени заполнения кристалла, характера логической структуры проекта на кристалле, параметров режима внешних выводов ПЛИС и т. д. ПЛИС Actel – основа при реализации «SoC» бортовой аппаратуры Сегодня в России, как и во всем мире, подходы к созданию электронных устройств и систем, работающих в тяжелых условиях эксплуатации, существенно меняются. Основная тенденция – переориентация на специализированные изделия с сокращенным циклом проектирования и производства, что позволяет достигать максимальной эффективности при выполнении конкретных задач управления, контроля и сбора информации. Внедрение концепции «системы на кристалле» признано одним из приоритетных направлений развития отечественной электроники, определяющим, по сути, технологию построения будущих поколений бортовой аппаратуры. «Система на кристалле» имеет три принципиальные особенности: o в одной микросхеме технологической платформы (как правило, СБИС или ПЛИС сверхвысокой степени интеграции) реализован функционально законченный набор модулей управления и обработки данных; - встроенный микропроцессор ориентирован преимущественно на выполнение задач управления, а не обработки данных; - поток данных в системе организован непосредственно между контроллерами, а не через микропроцессорную шину. Реализованная на базе высоконадежной и высокоскоростной ПЛИС «система на кристалле» помимо всех достоинств, присущих решениям на основе СБИС, имеет важные дополнительные преимущества: - значительное сокращение расходов на изготовление микросхем и экономический эффект при реализации проектов малой и средней серийности (до десятков тысяч штук); - возможность высокоэффективной внутрикристальной отладки; - возможность прототипирования изделий для особых условий эксплуатации на основе функционально идентичных, но более дешевых коммерческих исполнений платформы. - многократно программируемые ПЛИС на основе Flash-технологии; Основное отличие ПЛИС компании от традиционных матриц на основе ячеек СОЗУ – это способ хранения конфигурации. Элементы памяти (перемычки в семействах Antifuse и флэш-ключи в семействах Flash) ПЛИС Actel распределены по всей площади кристалла и являются одновременно ключами, задающими конфигурацию. Такое технологическое решение позволяет избавиться от потенциально ненадежной коммутационной матрицы (ГКМ) на основе ячеек СОЗУ, не защищенных от высокоэнергетических частиц, воздействующих на электронные устройства даже на уровне моря, а также отказаться от всех элементов, участвующих в процессе загрузки конфигурации. На сегодняшний день аналогов этой технологии нет. Рассмотрим современные семейства ПЛИС, предлагаемые компанией Actel. Новые семейства однократно программируемых ПЛИС, выполненных по технологии Antifuse, характеризуются следующими особенностями: - рекордной надежностью – FIT, или число отказов/сбоев на 109 ч наработки не более 10; - большой логической емкостью – до 4 млн. системных вентилей; - рекордной системной производительностью – свыше 500 МГц; - отсутствием процесса загрузки конфигурации и готовностью к работе с момента подачи питания; - отсутствием возможности несанкционированного считывания конфигурации – конфигурация защищена технологией FuseLock, при запуске нет конфигурационной последовательности (bit-stream); - доступом специализированного логического анализатора к любому элементу работающей схемы без затрат трассировочных ресурсов самой ПЛИС; - широким выбором поддерживаемых стандартов ввода-вывода -LVDS, HSTL1, SSTL2/3, GTL+, LVTTL, LVCMOS, LVPECL; - полной совместимостью по корпусам изделий различной емкости и в различном исполнении: от коммерческих до выполненных в соответствии со стандартом MIL-STO-883B и радиационно стойких; - высокой экономической эффективностью. Выпускаемые компанией Actel многократно программируемые матрицы на основе Flash-технологии имеют следующие достоинства: - возможность перепрограммирования непосредственно в системе (ISP); - логическая емкость до 1 млн. системных вентилей; - малое энергопотребление; - высокая системная производительность – до 350 МГц; - готовность к работе с момента подачи питания – отсутствует процесс загрузки конфигурации; - полная совместимость по корпусам изделий различной емкости и в различном исполнении. Коротко рассмотрим основные требования к организации проектного менеджмента при создании систем на кристалле. Современная система управления разработкой, построенная в соответствии с требованиями международных стандартов качества ISO, должна пердусматривать проведение проектных форумов для обсуждения технических деталей проекта в режиме реального времени. Кроме того, в нее должны входить подсистемы отладки проектов (issue tracking), хранения исходных данных проекта (knowledge base), контроля версий (version control) и планирования для прогноза сроков выполнения этапов проекта и оперативной корректировки планов. При этом значительно возрастают требования к руководителю проекта, который должен оперативно управлять работой группы в реальном времени. КЛАССИФИКАЦИЯ ПЛИС Микросхемы, программируемые пользователями, открыли новую страницу в истории современной микроэлектроники и вычислительной техники. Они сделали БИС/СБИС, предназначенные для решения специализированных задач, стандартной продукцией электронной промышленности со всеми вытекающими из этого положительными следствиями: массовое производство, снижение стоимости микросхем, сроков разработки и выхода на рынок продукции на их основе. ПЛИС можно классифицировать по многим признакам, в первую очередь: - по уровню интеграции и связанной с ним логической сложности; - по типу памяти конфигурации («теневой»памяти); - по степени зависимости задержек сигналов от путей их распространения; - по схемотехнологии (КМОП, ТТЛШ и др.); - по однородности или гибридности (по признаку наличия или отсутствия в микросхеме областей с различными по методам проектирования схемами, такими как ПЛИС, БМК, схемы на стандартных ячейках). Все перечисленные признаки имеют значение и отображают ту или иную сторону возможных классификаций. Выделяя основные признаки и укрупняя их, рассмотрим классификацию по трем, в том числе двум комплексным, признакам: - по уровню интеграции и однородности/гибридности; - по числу допустимых циклов программирования и связанному с этим типу памяти конфигурации. В классификации по первому признаку (рис. 2, а) ПЛИС разделены на 4 класса. Оба эти подкласса микросхем реализуют дизъюнктивные нормальные формы (ДНФ) переключательных функций, а их основными блоками являются две матрицы: матрица элементов И и матрица элементов ИЛИ, включенные последовательно. Такова структурная модель ПЛМ и ПМЛ. Технически они могут быть выполнены и как последовательность двух матриц элементов ИЛИ-НЕ, но варианты с последовательностью матриц И-ИЛИ и с последовательностью матриц ИЛИ-НЕ — ИЛИ-НЕ функционально эквивалентны, т. к. второй вариант согласно правилу де Моргана тоже реализует ДНФ, но для инверсных значений переменных.
Выработанные термы поступают на вход матрицы ИЛИ. Эти матрицы для ПЛМ и ПМЛ различны. В ПЛМ матрица ИЛИ программируется, а в ПМЛ она фиксирована.
Рис.3. Обобщённая структура «классической» ПМЛ «Классические» ПМЛ также позволяют программировать высокоимпедансное (третье) состояние выходного буфера, что делает возможным двунаправленный вывод использовать как вход. Кроме того, индивидуальное управление с помощью отдельного терма третьим состоянием выходного буфера позволяет двунаправленный вывод в один момент времени использовать как выход, а в другой момент – как вход или отключать от внешней шины, например, для уменьшения нагрузки. Возможность ПМЛ передачи значения выходного сигнала по цепи обратной связи на вход матрицы И позволяет в одном устройстве строить многоуровневые каскадные схемы. Однако следует избегать случаев, когда значение некоторой функции является аргументом этой же функции, так как в подобной ситуации схема перестаёт быть комбинационной и переходит в класс последовательностных схем, а отсутствие в циклах элементов задержки приводит к непредсказуемости поведения схемы. Обобщенная структура универсальных ПМЛ (рис.4.) включает n входов, программируемую матрицу И, m выходных макроячеек (MC) с одной обратной связью и m2 макроячеек (MCF) с двумя обратными связями. Архитектура макроячейки с двумя обратными связями показана на рис. 5. В макроячейках с одной обратной связью отсутствует цепь от входа выходного буфера к входу матрицы И. С каждой макроячейкой универсальных ПМЛ связано различное число промежуточных шин, что позволяет более рационально их использовать: простые функции назначать для реализации на выходы, связанные с небольшим числом промежуточных шин, а сложные – назначать на выходы, связанные с большим числом промежуточных шин. Кроме того, каждая макроячейка допускает программирование логического уровня выходного сигнала благодаря наличию в архитектуре макроячейки вентиля Исключающее ИЛИ с программируемой связью одного входа с «землёй». Поэтому из двух функций yi или ¯yi для реализации можно выбрать наиболее подходящую (например, которая требует для реализации меньше промежуточных шин), а необходимый вид функции на выходе ПМЛ образуется путём программирования логического уровня выходного сигнала.
Рис. 4. Обобщённая структура универсальных ПМЛ Макроячейки с двумя обратными связями допускают одновременное использование в двух целях: для реализации промежуточных функций и для приёма входных переменных.
Рис. 5. Обобщённая структура выходной макроячейки универсальных ПМЛ с двумя обратными связями Cложные программируемые логические схемы CPLD (Complex Programmable Logic Devices) (сложные программируемые логические устройства) содержат относительно крупные программируемые логические блоки — макроячейки соединённые с внешними выводами и внутренними шинами. Функциональность CPLD кодируется в энергонезависимой памяти, поэтому нет необходимости их перепрограммировать при включении. Несколько блоков, подобных ПМЛ, объединяются средствами программируемой коммутационной матрицы (рис.6.). В CPLD могут входить сотни блоков и десятки и сотни тысяч эквивалентных вентилей. Архитектуры CPLD разрабатываются фирмами Altera, Atmel, Lattice Semiconductor, Cypress Semiconductor, Xilinx и др. Воздействуя на программируемые соединения коммутационной матрицы и ПМЛ, входящих в состав CPLD, можно реализовать требуемую схему. Архитектура функциональных блоков здесь во многом подобна архитектуре универсальных ПМЛ. Отличия заключаются в том, что все выходные макроячейки имеют две обратные связи, а промежуточные шины макроячейкам назначаются с помощью распределителя (allocator). Некоторые макроячейки CPLD не имеют связи с внешним выводом. Такие макроячейки называются скрытыми. Скрытые макроячейки имеют только одну обратную связь.
Рис. 6. Обобщённая структура функционального блока CPLD и его взаимодействие с матрицей переключений Каждый функциональный блок CPLD будем характеризовать числом входов n; выходных макроячеек m; общим числом макроячеек r, из которых r-m являются скрытыми; суммарным числом промежуточных шин функционального блока q и максимальным числом промежуточных шин qmax, которые могут быть подсоединены к одной макроячейке. Кроме того, общая структура CPLD характеризуется числом E функциональных блоков и числом dI «чистых» входов. · число подсоединяемых к макроячейке промежуточных шин не фиксировано, как для ПМЛ, а определяется для каждой макроячейки индивидуально; · в некоторых CPLD промежуточные шины между макроячейками распределяются кластерами и для реализации любой функции (даже очень простой) необходимо не менее qCL промежуточных шин, где qCL – число промежуточных шин в одном кластере; · для реализации промежуточных функций могут использоваться ресурсы скрытых макроячеек, а также выходных макроячеек, выводы которых используются в качестве входов; · каждый функциональный блок имеет фиксированное число входов n, по которым могут поступать значения аргументов (в ПМЛ число входов может изменяться за счёт использования двунаправленных выводов в качестве входов); · общее число аргументов СБФ, реализуемой на CPLD, может быть достаточно большим (dI + m·E – N), в то время как число аргументов СБФ, реализуемой одним функциональным блоком, ограничено параметром n, имеющим значение от 16 до 36; · все значения аргументов и промежуточных функций поступают на входы функциональных блоков только через матрицу переключений, поэтому при частом дублировании входных переменных различных функциональных блоков возникает опасность быстрого истощения ресурсов матрицы переключений. В качестве примера можно рассмотреть архитектуру микросхем семейства MAX 7000 фирмы Altera [5]. Архитектура MAX 7000 включает следующие элементы: · логические блоки (LAB, Logic array blocks) · макроячейки (МЯ, Macrocells) · логические расширители, разделяемый и параллельный (Expander product terms) · программируемая матрица соединений (PIA, Programmable interconnect array) · блоки управления вводом/выводом (БВВ, I/O control blocks) В структуру ПЛИС MAX 7000 входят четыре специализированных входа. Эти входы могут быть использованы как входы общего назначения для обработки “быстрых” сигналов. Через эти входы на каждую МЯ могут быть поданы глобальные управляющие сигналы (синхронизация, сброс, переход в третье состояние). На рис.7 представлена функциональная схема ПЛИС.
Рис.7 Функциональная схема ПЛИС MAX 7000 К каждому логическому блоку подводятся следующие сигналы: · 36 сигналов от PIA, используемых в качестве логических входов; · глобальные управляющие сигналы; · непосредственные цепи от входных буферов к регистрам, обеспечивающие высокое быстродействие. Макроячейка содержит три функциональных блока: · локальная программируемая матрица (Logic Array); · матрица распределения термов (Product Term Select Matrix); · программируемый регистр (Programmable register). На рис.8 приведена структурная схема МЯ. Комбинационная логика реализуется на локальной программируемой матрице, которая передает пять основных термов в матрицу распределения термов. Матрица распределения термов позволяет реализовать комбинационную функцию путем выполнения операций “исключающее или”, “ИЛИ” над логическими произведениями. Кроме этого, матрица распределения может передать термы на регистры. · разделяемый логический расширитель. Инвертирует терм и передает назад на локальную программируемую матрицу; · параллельный логический расширитель. Передает термы из предыдущих МЯ в последующие.
Рис.8 Структурная схема макроячейки. Комбинационная логика реализуется на локальной программируемой матрице, которая передает пять основных термов в матрицу распределения термов. Матрица распределения термов позволяет реализовать комбинационную функцию путем выполнения операций “исключающее или”, “ИЛИ” над логическими произведениями. Кроме этого, матрица распределения может передать термы на регистры. · тактирование глобальным синхросигналом. Это самый быстрый вариант; · тактирование глобальным сигналом с применением локального сигнала разрешения тактирования; · тактирование сигналом от локальной программируемой матрицы. В MAX7000доступны два глобальных тактовых сигнала выводы GCLK1 или GCLK2.
Рис.9 Разделяемый расширитель Расширитель реализует логические функции, состоящие из термов соседних МЯ. Таким образом, МЯ связываются в цепочку. Расширитель позволяет использовать до 20 термов. Пять термов берутся непосредственно из данной МЯ, остальные 15 из соседних МЯ данного логического блока. Дополнительная временная задержка, вносимая расширителем, обозначается tPEXP. Последовательно в цепочку можно соединить до 8 МЯ. Схема параллельного логического расширителя представлена на рис.10.
Рис.10 Параллельный расширитель Программируемая матрица соединений (PIA) реализует все внутренние связи. С этой шиной соединены все источники и приемники сигналов. Все специальные сигналы, выводы ввода/вывода, сигналы МЯ. На рис.11 показано как сигналы PIA подводятся к логическим блокам (LAB).
Рис.11 Схема передачи сигналов из программируемой матрицы соединений в логические блоки. Блок управления вводом/выводом позволяет индивидуально конфигурировать каждый вывод ПЛИС. Вывод ПЛИС может быть настроен на ввод, вывод, двунаправленную передачу данных. Все выводы ПЛИС могут быть выводами буфера с третьим состоянием, который может управляться глобальным сигналом. Кроме того, возможен режим работы с открытым коллектором. На рис.6 показана схема блока управления.
Рис.12 Блок управления вводом/выводом ПЛИС семейства MAX 7000 соответствуют промышленному стандарту 4-pin Joint Test Action Group (JTAG) IEEE Std. 1149.1-1990). Программирование в системе. (In-System Programmability ISP) быстро и эффективно позволяет изменять конфигурацию ПЛИС как в стадии тестирования проекта, как и в течение эксплуатации. Перепрограммирование может быть выполнено непосредственно в системе, для этого необходим только один уровень напряжения 5В. Пока идет программирование, выводы микросхемы переводятся в третье состояние, для избежания конфликта с системой. Сопротивление внутренних “подтягивающих” резисторов 50 кОм. Для программирования используется специальный загрузочный кабель Altera MasterBlaster, ByteBlaster или ByteBlasterMV. Программирование ПЛИС в системе позволяет снизить вероятность повреждения при эксплуатации устройства. Кроме того, модернизация устройства может быть выполнена в полевых условиях, например, с помощью модема. ПЛИС MAX 7000 могут работать в режиме энергосбережения. Этот режим позволяет сократить энергозатраты на 50% и более. Большинство логических функций не используют значительную часть вентилей – этот факт используется для реализации данного режима. На выводы VCCIO может быть подано напряжение питания 3,3В или 5В, в зависимости от требований к выходному каскаду. Когда на выводы VCCIO подано напряжение 5В, уровень выходного каскада соответствует системам 5В. Если подано 3,3В, выходной сигнал соответствует логике 3,3 В, однако совместим и с 5В. Микросхемы программируемых пользователями вентильных матриц FPGA (Field Programmable Gate Arrays) В своей основе состоят из большого числа конфигурируемых логических блоков (ЛБ), расположенных по строкам и столбцам в виде матрицы, и трассировочных ресурсов, обеспечивающих их межсоединения. На рисунке представлены блоки элементов ввода/вывода (I/O Elements), логические блоки (LAB) и блоки встроенной памяти (EAB). Внутри логических блоков связи между логическими элементами (LE) реализуются с помощью локальной программируемой матрицы соединений. СБИС данного семейства имеют в целом сходную внутреннюю архитектуру, в основе которой лежит логический элемент.
Рис.13 Блок схема ПЛИС FLEX10K LE содержит четырехвходовую таблицу перекодировок (LUT), обеспечивающую реализацию логических функций, синхронный триггер и некоторую дополнительную логику (рис.14).
Рис.16 Цепи каскадирования Cascade-In и Cascade-Out LE объединяются в группы – логические блоки (LAB). Каждый из блоков содержит восемь LE (рис.17). Внутри логических блоков LE соединяются посредством локальной программируемой матрицы соединений, позволяющей соединять любой LE с любым. · высокое быстродействие реализуемых устройств; · возможность точного предсказания задержки распространения сигналов; · высокую скорость автоматической разводки СБИС; · возможность размещения выводов СБИС в соответствии с требованиями разработчика.
Каждый элемент ввода-вывода содержит: триггеры, позволяющие реализовать временное хранение принимаемого и передаваемого бит данных; буфер, работающий в режимах: ввод, вывод, двунаправленный, выход с открытым коллектором, и обеспечивающий возможность управления его скоростью переключения (рис.18).
Отличительной особенностью семейства FLEX 10K является наличие модулей памяти общей емкостью до 24 кбит, использование которой не ведет к уменьшению доступных разработчику логических ресурсов (логических элементов). Каждый блок памяти (рис.19) представляет собой ОЗУ емкостью 2048 (4096) бит и состоит из локальной матрицы соединений, собственно модуля памяти, синхронных буферных регистров, а также программируемых мультиплексоров. Сигналы на вход локальной матрицы соединений блока памяти поступают со строки глобальной матрицы соединений . Тактовые и управляющие сигналы поступают с глобальной шины управляющих сигналов. Выход блока памяти может быть скоммутирован как на строку, так и на столбец глобальной матрицы соединений. Наличие синхронных буферных регистров и программируемых мультиплексоров позволяет конфигурировать блок памяти как ЗУ с организацией 256х8, 512х4, 1024х2, 2048х1. Кроме того, он может быть использован или как ПЗУ, или как FIFO. Наличие блока памяти дает возможность табличной реализации таких элементов устройств ЦОС, как перемножители, АЛУ, сумматоры и т.п., имеющих быстродействие до 100 МГц (конечно при самых благоприятных условиях, реально быстродействие арифметических устройств, реализованных на базе блока памяти, составляет 10 – 50 МГц) Все ПЛИС семейства FLEX10K совместимы по уровням с шиной PCI, имеют возможность как последовательной, так и параллельной загрузки, полностью поддерживают стандарт JTAG.
Рис. 19 Функциональная схема блока памяти В течение первых лет развития ПЛИС они были представлены архитектурами CPLD и FPGA в «чистом» виде. Каждая из этих архитектур имеет свои достоинства и недостатки. Стремление к сочетанию достоинств CPLD и FPGA и рост уровня интеграции БИС/СБИС привели к появлению ПЛИС с комбинированной архитектурой. Класс ПЛИС с комбинированной архитектурой не имеет таких четких границ, как классы CPLD и FPGA, отличается большим разнообразием вариантов и различной степенью близости к тому или иному классическому типу ПЛИС. Не имеет он и общепринятого названия. Тем не менее, представляется целесообразным рассматривать ПЛИС с комбинированной архитектурой как отдельный класс, поскольку принадлежащие к нему схемы трудно квалифицировать как FPGA или CPLD, что подтверждается и разнобоем в названиях, используемых для таких схем различными фирмами.
Фактическое существование ПЛИС с комбинированной архитектурой и отсутствие для них общепринятого обобщающего названия вносят ощутимые неудобства в процесс составления классификации ПЛИС. Зачастую ПЛИС с комбинированной архитектурой представляются производителем под каким-либо конкретным именем, в котором не упоминаются ни CPLD, ни FPGA. Таких имен много, и на их основе не провести какую-либо классификацию. Общепризнанной окажется та терминология, которая исходит от крупнейших фирм-производителей микросхем этого типа. В то же время отнесение той или иной микросхемы в соответствующий раздел описания или справочной таблицы требует определенности в трактовке ее типа. Поэтому здесь наряду с узким применяется и широкое толкование термина FPGA. При этом выделяются «классические» FPGA с их канонической архитектурой, а ПЛИС комбинированной архитектуры при необходимости (главным образом, при описании справочных данных) относятся к FPGA в широком смысле этого понятия. Обоснованием такого подхода служит то, что в комбинированных архитектурах черты FPGA обычно проявляются более выражение, чем черты CPLD. Сказанное выше отображается на рис. 2, а объединением классических FPGA и ПЛИС с комбинированными архитектурами общим прямоугольником из штриховых линий.
Рис. 21 Ресурсы CycloneIIIи их размещение на кристале Объем ресурсов (до 120K ЛЭ, до 4Мбит встроенной памяти, до 288 встроенных умножителей, до 535 линий ввода-вывода) – говорит о высокой функциональности семейства. Архитектура Cyclone III поддерживает встраиваемый программный процессор NIOS II, производительностью свыше 160 DMIPS.
Рис. 22. PLL для Cyclone III Блоки встроенной памяти M9K по 9 кбит могут использоваться для построения обычных ОЗУ, двухвходовых ОЗУ, ПЗУ, FIFO и регистров сдвига для реализации фильтров с БИХ и КИХ. Каждый блок может быть разбит на два в нужной пропорции. Суммарное число блоков M9K может быть до 432. Основные характеристики блока встроенной памяти M9K представлены на рис. 23.
Рис. 23. Характеристики блока встроенной памяти M9K Встроенные блоки умножителей 18х18 (рис. 24) являются эффективным средством для реализации функций цифровой обработки сигналов с тактовой частотой до 260 МГц. При необходимости каждый из них может быть разбит на два 9х9. наличие в их составе элементов регистровой памяти позволяет конвейеризировать вычисления.
Рис. 24. Встроенный умножитель ПЛИС III Логические блоки содержат по 16 логических элементов, связанных локальной матрицей соединений. В локальной шине управления две линии тактирования на блок. Суммарное число блоков может быть до 7443, а число логических элементов до 119088.
Устройства Cyclone III поддерживают 12 стандартов ввода-вывода. В том числе формат передачи данных True-LVDS, для связи по интерфейсам LVDS, LVPECL, PCI Express для дифференциальных стандартов ввода – вывода, а также и для дифференциальных сигналов по HSTL и SSTL. Семейство Cyclone III имеет до 169 быстродействующих дифференциальных входов и 169 каналов дифференциальных выходов, в том числе до 77 каналов, оптимизированных для операций с 875-Mbps. На рис.26 изображены дифференциальные LVDS буферы, используемые как для передачи данных, так и для синхронизации.
Рис.26. Дифференциальные LVDS буфферы. Некоторые банки ввода/вывода содержат выделенную цепь для подключения внешней памяти. Эта цепь облегчает передачу данных внешним устройствам памяти, включая устройства DDR SDRAM и FCRAM. Максимальная скорость передачи данных достигает 266 Мбит/с (при тактовой частотой 133 МГц). Устройства Cyclone способны работать с различными видами внешней памяти. Это новые стандарты памяти DDR SDRAM, FCRAM, и уже традиционные SDR SDRAM. Обмен данными осуществляется через выделенный интерфейс, который гарантирует быструю, надежную передачу данных со скоростями до 266 Мбит/с. При использовании имеющихся, оптимизированных функций контроллеров, разработчики могут реализовать интерфейсы DDR SDRAM и FCRAM в считанные минуты. Устройства DDR SDRAM стали популярны благодаря низкому потреблению энергии, относительно небольшой стоимости и способности быстрой передачи данных. Передача данных происходит по обоим фронтам тактового сигнала, максимально увеличивая скорость передачи данных и удваивая эффективность по сравнению с более медленной архитектурой SDR. Устройства DDR SDRAM проникли на рынок через компьютерную область и теперь широко используются в широком диапазоне применений, от сетевых и коммуникационных приложений до домашних развлекательных приложений. Устройства FCRAM похожие на SRAM устройства с малой задержкой, основанные на той же архитектуре, что и SRAM. Подобно SDRAM, устройства FCRAM поддерживают передачу данных по обоим фронтам системного тактового сигнала. Большая производительность этих устройств напрямую связана с собственными конвейерными и предзарядными операциями, которые существенно снижают время доступа по сравнению с архитектурой SDRAM.
Рис. 26. Технология терминирования улучшает форму сигнала.
Системные свойства микросхем программируемой логики ПЛИС рассматриваются в настоящее время как наиболее перспективная элементная база для построения цифровой аппаратуры разнообразного назначения. Появляются и новые возможности реализации на программируемых микросхемах аналоговых и аналого-цифровых устройств. Перспективность ПЛИС базируется на ряде их достоинств, к числу которых можно отнести перечисленные ниже, справедливые для ПЛИС вообще, безотносительно к их конкретным разновидностям: – универсальность и связанный с нею высокий спрос со стороны потребителей, что обеспечивает массовое производство. – низкая стоимость, обусловленная массовым производством и высоким процентом выхода годных микросхем при их производстве вследствие достаточно регулярной структуры. – разнообразие в выборе напряжений питания и параметров сигналов ввода/вывода, а также режимов снижения мощности, что особенно важно для портативной аппаратуры с автономным питанием. – простота модификации проектов на любых стадиях их разработки. Программируемые логические интегральные схемы становятся в последнее время все более распространенной и привычной элементной базой для разработчиков цифровых устройств. Последние годы характеризуются резким ростом плотности упаковки элементов на кристалле, многие ведущие производители либо начали серийное производство, либо анонсировали ПЛИС с эквивалентной емкостью более 1 миллиона логических вентилей. Цены на ПЛИС неуклонно падают. Так, еще год - полтора назад ПЛИС емкостью 100 000 вентилей стоила в Москве в зависимости от производителя, приемки, быстродействия от 1500 до 3000 у.е., то сейчас такая микросхема стоит от 50 до 350 у.е., то есть цены упали практически на порядок и эта тенденция устойчива. Что касается ПЛИС емкостью 10 000 – 30 000 логических вентилей, то появились микросхемы стоимостью менее 10 у.е. В таблице 1 приведена динамика развития рынка ПЛИС [21]. Таблица 1. Объем рынка ПЛИС, млн $
Область продаж 1994 1995 1996 1997 1998 1999 Военно- промышленная и космическая 43 68 92 119 150 188 Гражданская 684 1125 1598 2146 2823 3678 Итого 727 1193 1690 2265 2973 3866 Такое состояние рынка с одной стороны не может не радовать разработчиков, с другой стороны появляется ряд вопросов, связанных с тем, какую элементную базу и как использовать в новых разработках, а также при проведении модернизации существующих систем. С появлением новых производителей появились и новые архитектуры. ИС ПМЛ имеют архитектуру, весьма удобную для реализации цифровых автоматов. Развитие этой архитектуры – CPLD (Complex Programmable Logic Devices)
- ПЛИС, содержащие несколько логических блоков (ЛБ), объединенных коммутационной матрицей. Каждый ЛБ представляет собой структуру типа ПМЛ, т.е. программируемую матрицу "И" и фиксированную матрицу "ИЛИ". ПЛИС типа CPLD, как правило, имеют довольно высокую степень интеграции (до 10000 эквивалентных вентилей, до 256 макроячеек). К этому классу относятся ПЛИС семейства MAX5000 и MAX7000 фирмы ALTERA, схемы XC7000 и XC9500 фирмы XILINX, а также большое число микросхем других производителей (Atmel, Vantis, Lucent и др.). Рассмотрим эту архитектуру на примере ПЛИС семейства MAX3000 фирмы Altera.. Их архитектура близка к архитектуре семейства MAX7000, однако имеется ряд небольших отличий. В таблице 2 приведены основные параметры ПЛИС MAX3000. Таблица 2. Основные параметры ПЛИС MAX3000
EPM3032A
EPM3064A
EPM3128A
EPM3256A
Логическая емкость, эквивалентных вентилей
600 1250 2500 5000 Число макроячеек
32 64 128 256 Число логических блоков
2 4 8 16 Число программируемых пользователем выводов
34 66 96 158 Задержка распространения сигнала вход-выход, tPD
, нс
4.5 4.5 5 6 Время установки глобального тактового сигнала, tSU
, нс
3.0 3.0 3.2 3.7 Задержка глобального тактового сигнала до выхода, tCO1
, нс
2.8 2.8 3.0 3.3 Максимальная глобальная тактовая частота, fCNT
, МГц
192.3 192.3 181.8 156.3 Микросхемы семейства MAX3000 выполнены по CMOS EPROM технологии, при соблюдении технологических норм 0.35 мкм, что позволило существенно удешевить их по сравнению с семейством MAX7000S. Все ПЛИС MAX3000 поддерживают технологию программирования в системе (ISP, In-system programmability)
и периферийного сканирования (boundary scan)
в соответствии со стандартом IEEE Std. 1149.1 JTAG. Элементы ввода-вывода (ЭВВ) позволяют работать в системах с уровнями сигналов 5В, 3.3В, 2.5В. Матрица соединений имеет непрерывную структуру, что позволяет реализовать время задержки распространения сигнала не более 4.5 нс. ПЛИС MAX3000 имеют возможность аппаратной эмуляции выходов с открытым коллектором (open - drains pin
) и удовлетворяют требованиям стандарта PCI по уровням сигналов. Имеется возможность индивидуального программирования цепей сброса, установки и тактирования триггеров, входящих в макроячейку. Предусмотрен режим пониженного энергопотребления. Программируемый логический расширитель позволяет реализовать на одной макроячейке функции до 32 переменных. Имеется возможность задания бита секретности (security bit)
для защиты от несанкционированного тиражирования разработки. Приборы программируемой логики, яркими представителями которых являются ПЛИС (Программируемые Логические Интегральные Схемы) применяются на протяжении нескольких десятилетий для построения разнообразных интерфейсных узлов, устройств управления и контроля и т.д. Однако, если еще 5 лет назад ПЛИС занимали весьма скромную нишу на рынке электронных компонентов -(в первую очередь из-за небольшого быстродействия и малого количества эквивалентных логических вентилей), то сейчас ситуация изменилась кардинально. Раньше о ПЛИС говорили, в основном, как об «игрушках», недостойных внимания серьезных разработчиков, но с появлением быстродействующих ПЛИС сверхвысокой интеграции, работающих на высоких тактовых частотах, их ниша на мировом рынке значительно расширилась. Современные образцы ПЛИС, выполненные по 0,22-микронной технологии, способны работать на частотах до 300 МГц и реализуют до 3 млн. эквивалентных логических вентилей. Компания Xilinx, один из мировых лидеров в данной области, уже объявила о выпуске ПЛИС в 10 млн. (!) логических вентилей. Столь резкое увеличение мощности ПЛИС позволяет использовать их не только для реализации простых контроллеров и интерфейсных узлов, но и для цифровой обработки сигналов, сложных интеллектуальных контроллеров и нейрочипов. Появление быстродействующих ПЛИС со сверхнизким уровнем энергопотребления открывает широкие возможности по их использованию в системах мобильной связи (в частности, непосредственно в сотовых телефонах и пейджерах), в портативных проигрывателях (например, в МР3-проигрывателях) и т.д. По целому ряду причин особый интерес вызывает использование ПЛИС для реализации нейрочипов. Приведем эти причины. Во-первых, разработка проектов на ПЛИС оказывается достаточно быстрой, занимая всего несколько месяцев. Во-вторых, ПЛИС на сегодняшний день обладают огромными ресурсами, которые могут быть эффективно использованы при реализации нейрочипов. И, самое главное, нейрочипы - это та область микропроцессорной техники, в которой в настоящее время нет подавляющего лидерства США и Японии, и нишу нейрочипов могут занять другие страны мира, в том числе и Россия. ЛИТЕРАТУРА 1. Антонов А.П. Язык описания цифровых устройств. ALTERA HDL. Практический курс.-М.: ИП Радио Софт, 2002.- 224. 2. Бибило П.Н. Основы VHDL языка. Изд. Соломон-Р ,- М.: 2000.-200 с. 3. Грушвицкий Р.И., Мурсаев А.Х., Угрюмов Е.П. Проектирование систем на микросхемах программируемой логики.-СПб.: БХВ-Петербург,2002.-608 с. 4. Зобенко А. А., Филиппов А. С., Комолов Д. А., Мяльк Р. А.. Системы автоматизированного проектирования фирмы Altera MAX+plus II и Quartus II. Краткое описание и самоучитель. – издательство «РадиоСофт» · 2002 г. · 360 с. 5. Стешенко В.Б. ПЛИС фирмы “ALTERA”: элементая база, система проектирования и языки описания аппаратуры.- М.: Издательский дом, ДОДЕКА – XXI ,- 2002.- 576 с. 6. Исследование цифровых устройств на основе (ПЛИС) в среде Quartus II: http://www.leso.sibsutis.ru/index.php?act=metod&target=metod_leso2_1 7. Компания «ГАММА»: http://www.icgamma.ru/linecard/altera/kits/quartus2 8. «Инлайн Груп» – официальный дистрибьютор фирмы Xilinx: http://www.plis.ru/page.php?id=12 9. Сайт статей посвященный проектированию цифровых устройств: http://www.iclothes.ru/State_3.html 10. Сайт статей посвященный проектированию цифровых устройств: http://www.iclothes.ru/State_7.html 11. Лаборатория Параллельных информационных технологий: http://www.parallel.ru/FPGA/cpld.html 13. Таблицы выбора ИС питания: www.semtech.com/pc/downloadDocument.do?id=654 (файл FPGAX-SG. pdf) 14. В. Стешенко. Школа разработки аппаратуры цифровой обработки сигналов на ПЛИС 15. C. Шипулин, Д. Губанов, В. Стешенко, В. Храпов. Тенденции развития ПЛИС и их применение для цифровой обработки сигналов Электронные компоненты 16. С. Шипулин, Д. Губанов, В. Стешенко, В. Храпов. ПЛИС — элементная база систем управления и обработки сигналов XXI века Электронные компоненты 17. Основные производители современных ПЛИС-компьютеров и комплектующих к ним 18. ПЛИС и ПАИС Компоненты и технологии 19. 2.2. Выбор ПЛИС для реализации проекта 20. Угрюмов Е. П. Программируемые логические матрицы, программируемая матричная логика, базовые матричные кристаллы / Цифровая схемотехника. Учеб. пособие для вузов. Изд.2, БХВ-Петербург, 2004. С. 357. 21. В. Соловьев, А. Климович. Введение в проектирование комбинационных схем на ПЛИС 22. ПЛИС Actel — основа при реализации SoC бортовой аппаратуры 23. ПЛИС FPGA 24. Платформы. Технология ПЛИС и ее применение для создания нейрочипов
|