Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Возможности современных ПЛИС
При разработке систем ЦОС в РЛС в качестве элементной базы используют так называемую цифровую логику [[4]]. Существенное развитие получили микросхемы транзисторно-транзисторной логики (ТТЛ) и комплементарной логики на транзисторах металл-оксид-полупроводник (КМОП), например, представленные отечественными сериями К130, К133, К136, К155, К555, К1533, К1554, К561 и т.д. Такие микросхемы недороги, доступны и нашли широкое применение в военной радиоэлектронике. Не смотря на это, при их использовании разработчикам приходится сталкиваться с рядом проблем: платы получаются большого размера, из-за значительного числа микросхем и соединений между ними, не обеспечивается высокая надёжность разрабатываемых ячеек и блоков, они обладают невысоким быстродействием и относительно большим энергопотреблением. К тому же отладка и настройка таких устройств сложна, трудоёмка и зачастую приводит к появлению навесного монтажа, что отрицательно влияет на основные показатели назначения проектируемых изделий. Устранить эти проблемы помогает применение новейших технологий, а в частности использование программируемых логических интегральных схем (ПЛИС), в зарубежной аббревиатуре - PLD) [[5]]. СБИС программируемой логики (СБИС ПЛ) - цифровые СБИС высокой степени интеграции, имеющие программируемую пользователем внутреннюю структуру и предназначенные для реализации сложных цифровых устройств. Основным отличием ПЛИС от базовых матричных кристаллов (БМК) и заказных ИС является возможность проектирования отладки и тиражирования специализированной схемы самим разработчиком непосредственно на рабочем месте. Это обусловлено как технологией изготовления ПЛИС (EPROM/EEPROM), так и наличием развитых средств автоматизации. Использование СБИС ПЛ и соответствующих средств автоматизации проектирования позволяет в сжатые сроки создавать конкурентоспособные устройства и системы, удовлетворяющие жестким требованиям по производительности, энергопотреблению, надежности, массогабаритным параметрам, стоимости. Прогресс микроэлектроники привёл к созданию ПЛИС с очень высокой степенью интеграции, применение которых, совместно с использованием современных микропроцессоров и микроконтроллеров, позволяет в короткие сроки выполнить разработку и начать производство электронной аппаратуры нового поколения. ПЛИС - удобная в освоении и применении элементная база, альтернативы которой зачастую не найти. Последние годы характеризуются резким ростом плотности упаковки элементов на кристалле, многие ведущие производители либо начали серийное производство, либо анонсировали ПЛИС с эквивалентной ёмкостью более 1 млн. логических вентилей. Цены на ПЛИС (к сожалению, только лишь в долларовом эквиваленте) неуклонно падают. Развитие ПЛИС существенно изменило задачи и возможности проектировщиков цифровой аппаратуры. Проектирование сложных цифровых устройств на классической базе - наборе простейших вентилей и триггеров, сохранилось только при реализации изделий в виде заказных микросхем, изготавливаемых на основе базовых матричных кристаллов или создаваемых из стандартных ячеек. Разработка таких устройств выполняется с помощью дорогостоящих систем автоматизированного проектирования (САПР СБИС), применение которых обеспечивает эффект в случае создания высокосложных изделий массового применения - микропроцессоров, микроконтроллеров, стандартных интерфейсных устройств и узлов телекоммуникационного оборудования. Для большинства электронных изделий малой и средней серийности наиболее перспективной является их реализация на базе ПЛИС, которые освободили проектировщиков от необходимости сборки разрабатываемых устройств из отдельных микросхем малой и средней степени интеграции (монтаж из “россыпи”). Можно с уверенностью сказать, что эффективное использование ПЛИС при разработке широкой номенклатуры цифровых устройств является непременным условием для достижения успеха в создании современной электронной аппаратуры. 2.1.1 Классификация ПЛИС Приведём известную классификацию ПЛИС по структурному признаку, так как она даёт наиболее полное представление о классе задач, пригодных для решения на той или иной ПЛИС. Следует заметить, что общепринятой оценкой логической ёмкости ПЛИС является число эквивалентных вентилей, определяемое как среднее число вентилей «2И-НЕ», необходимых для реализации эквивалентного проекта на ПЛИС и базовом матричном кристалле (БМК). Понятно, что эта оценка весьма условна, поскольку ПЛИС не содержат вентилей «2И-не» в чистом виде, однако для проведения сравнительного анализа различных архитектур она вполне пригодна. Основным критерием такой классификации является наличие, вид и способы коммутации элементов логических матриц. По этому признаку можно выделить несколько классов ПЛИС. Программируемые логические матрицы - наиболее традиционный тип ПЛИС, имеющий программируемые матрицы «И» и «ИЛИ». Дальнейшее развитие получили микросхемы, построенные по архитектуре программируемой матричной логики (PAL - Programmable Array Logic) - это ПЛИС, имеющие программируемую матрицу «И» и фиксированную матрицу «ИЛИ». К этому классу относятся большинство современных ПЛИС небольшой степени интеграции. В качестве примеров можно привести отечественные ИС КМ1556ХП4, ХП6, ХП8, ХЛ8, ранние разработки (середина–конец 1980-х годов) ПЛИС фирм INTEL, ALTERA, AMD, LATTICE и др. Разновидностью этого класса являются ПЛИС, имеющие только одну (программируемую) матрицу «И», например, схема 85C508 фирмы INTEL. Следующий традиционный тип ПЛИС - программируемая макрологика. Они содержат единственную программируемую матрицу «И-НЕ» или «ИЛИ-НЕ», но за счёт многочисленных инверсных обратных связей способны формировать сложные логические функции. К этому классу относятся, например, ПЛИС PLHS501 и PLHS502 фирмы SIGNETICS, имеющие матрицу «И-НЕ», а также схема XL78C800 фирмы EXEL, основанная на матрице «ИЛИ-НЕ». ИС ПМЛ (PLD) имеют архитектуру, весьма удобную для реализации цифровых автоматов. Развитие этой архитектуры - программируемые коммутируемые матричные блоки (ПКМБ) - это ПЛИС, содержащие несколько матричных логических блоков (МЛБ), объединённых коммутационной матрицей. Каждый МЛБ представляет собой структуру типа ПМЛ, то есть программируемую матрицу «И», фиксированную матрицу «ИЛИ» и макроячейки. ПЛИС типа ПКМБ, как правило, имеют высокую степень интеграции (до 10000 эквивалентных вентилей, до 256 макроячеек). К этому классу относятся ПЛИС семейства MAX5000 и MAX7000 фирмы ALTERA, схемы XC7000 и XC9500 фирмы XILINX, а также большое число микросхем других производителей (Atmel, Vantis, Lucent и др.). Другой тип архитектуры ПЛИС - программируемые вентильные матрицы (ПВМ), состоящие из логических блоков (ЛБ) и коммутирующих путей - программируемых матриц соединений. Логические блоки таких ПЛИС состоят из одного или нескольких относительно простых логических элементов, в основе которых лежит таблица перекодировки, программируемый мультиплексор, D-триггер, а также цепи управления. Таких простых элементов может быть достаточно много, например, у современных ПЛИС ёмкостью до 1 млн. вентилей число логических элементов достигает нескольких десятков тысяч. За счёт такого большого числа логических элементов они содержат значительное число триггеров, а также некоторые семейства ПЛИС имеют встроенные реконфигурируемые модули памяти (РМП), что делает ПЛИС данной архитектуры весьма удобным средством реализации алгоритмов цифровой обработки сигналов, основными операциями в которых являются перемножение, умножение на константу, суммирование и задержка сигнала. Вместе с тем, возможности комбинационной части таких ПЛИС ограничены, поэтому совместно с ПВМ применяют ПКМБ (CPLD) для реализации управляющих и интерфейсных схем. В зарубеж-ной литературе такие ПЛИС получили название Field Programmable Gate Array (FPGA). К FPGA (ПВМ) классу относятся ПЛИС XC2000, XC3000, XC4000, Spartan, Virtex фирмы XILINX; ACT1, ACT2 фирмы ACTEL, а также семейства FLEX8000 фирмы ALTERA, некоторые ПЛИС Atmel и Vantis. ЛЭ объединяются в группы - логические блоки (ЛБ). Внутри логических блоков ЛЭ соединяются посредством локальной программируемой матрицы соединений, позволяющей соединять любой ЛЭ с любым. Логические блоки связаны между собой и с элементами ввода/вывода посредством глобальной программируемой матрицы соединений (ГПМС). Локальная и глобальная матрицы соединений имеют непрерывную структуру - для каждого соединения выделяется непрерывный канал. Дальнейшее развитие архитектур идёт по пути создания комбинированных архитектур, сочетающих удобство реализации алгоритмов ЦОС на базе таблиц перекодировок и реконфигурируемых модулей памяти, характерных для FPGA-структур и многоуровневых ПЛИС с удобством реализации цифровых автоматов на CPLD-архитектурах. Так, ПЛИС APEX20K фирмы Altera содержат в себе логические элементы всех перечисленных типов, что позволяет применять ПЛИС как основную элементную для «систем на кристалле» (SOC). В основе идеи SOC лежит интеграция всей электронной системы в одном кристалле (например, в случае ПК такой чип объединяет процессор, память, и т. д.). Компоненты этих систем разрабатываются отдельно и хранятся в виде файлов параметризируемых модулей. Окончательная структура SOC-микросхемы выполняется на базе этих «виртуальных компонентов» с помощью программ систем автоматизации проектирования (САПР) электронных устройств - EDA (Electronic Design Automation). Благодаря стандартизации в одно целое, можно объединять «виртуальные компоненты» от разных разработчиков. Как известно, при выборе элементной базы систем обработки сигналов обычно руководствуются следующими критериями отбора: - быстродействие; - логическая ёмкость, достаточная для реализации алгоритма; - схемотехнические и конструктивные параметры ПЛИС, надёжность, рабочий диапазон температур, стойкость к ионизирующим излучениям и т. п.; - стоимость владения средствами разработки, включающая как стоимость программного обеспечения, так наличие и стоимость аппаратных средств отладки; - стоимость оборудования для программирования ПЛИС или конфигурационных ПЗУ; - наличие методической и технической поддержки; - наличие и надёжность российских поставщиков; - стоимость микросхем. Понятие программирование в системе (In-system programmability, ISP) относится к тем ПЛИС, которые позволяют осуществить программирование непосредственно в составе системы на смонтированной плате без использования программатора, причём программирование ПЛИС или конфигурационного ПЗУ может производиться многократно. Реконфигурирование в схеме (In-circuit reconfigurability, ISR) позволяет произвести перезагрузку данных в ПЛИС, построенной по SRAM-технологии «на лету», то есть без выключения питания системы. Свойства ISP и ISR характерны практически для всех современных ПЛИС, выпускаемых ведущими фирмами-производителями. Как правило, микросхемы CPLD (XC9500 фирмы Xilinx, MAX7000S, A, B, E, MAX3000A, MAX9000 фирмы Altera и другие) программируются в системе через стандартный 4-контактный JTAG-интерфейс. Программное обеспечение создаёт конфигурационную последовательность, которая загружается в ПЛИС с помощью специализированного загрузочного кабеля (ByteBlaster, BitBlaster или Master-Blaster для устройств фирмы Altera, XChecker для устройств фирмы Xilinx). Кроме того, для программирования таких ПЛИС можно использовать стандартный JTAG-тестер или простой интерфейс, эмулирующий последовательность команд JTAG. При проектировании плат с использованием средств САПР необходимо всегда помнить, что сколь совершенными ни были бы алгоритмы автоматической трассировки, они никогда не заменят работу конструктора. В лучшем случае, в автоматическом режиме возможна трассировка малочувствительных, медленных (до 3–5 МГц) цифровых цепей. А серьёзные платы трассируются только вручную. Полезно проводить их анализ на взаимные помехи с использованием специализированных программных средств. 2.1.2 Микросхемы фирмы ALTERA Одним из наиболее известных производителей ПЛИС является фирма Altera. В качестве средства автоматизации проектирования устройств на основе собственных микросхем фирма Altera разработала систему MAX+plusII. Её продукция стала одним из стандартов «де-факто», отличающимся высоким уровнем при невысокой цене микросхем ПЛИС и скромных требованиях к инструментальному компьютеру (достаточно PC типа 486-DX4 с оперативной памятью от 16 Мбайт). Конфигурация ПЛИС осуществляется с помощью персонального компьютера через кабель типа ByteBlaster, подключаемый к соответствующему разъёму макета. Микросхемы ПЛИС можно разделить на два больших подмножества. Это микросхемы с энергонезависимой прошивкой (т.е. независимо от наличия или отсутствия питания внутренняя конфигурация микросхемы – «зашивка» - сохраняется) и микросхемы с загрузкой конфигурации в микросхему при включении питания (при выключении питания конфигурация «сбрасывается»). Первые выполнены по технологии (семейства MAX 3000, MAX 7000/E/S/A, MAX 9000A) и допускают не менее 100 циклов стирания-записи, вторые - по технологии SRAM (семейства FLEX 6000/A, FLEX 8000A, FLEX 10K/KA/KB/KE) с неограниченным количеством циклов перезаписи и позволяющих перезагружать конфигурацию непосредственно в процессе работы. К первому подмножеству относятся также микросхемы семейства Classic с однократным программированием или с ультрафиолетовым стиранием. 2.1.3 Семейство MAX 7000 Микросхемы cемейства MAX 7000 (Multiple Array matriX), представленные в таблице 1, изготовлены по КМОП EEPROM технологии и допускают не менее 100 циклов стирания-записи, чего для отладки изделия более чем достаточно. Это гарантированная фирмой цифра, хотя реально количество циклов может доходить до 250. Таблица 1 - Микросхемы cемейства MAX 7000
Основные характеристики ПЛИС семейства MAX 7000 фирмы Altera: - напряжение питания 5 В, для EPM7032V - 3, 3 В; - возможность установки режима пониженного потребления (около 50%) для каждой макроячейки; - программируемый бит секретности, позволяющий защитить микросхему от несанкционированного считывания; - совместимость по выходам с уровнями 5, 0 и 3, 3 В (за исключением 44-выводных микросхем); Микросхемы семейства MAX 7000 содержат от 32 до 256 макроячеек, которые объединены в группы по 16 макроячеек, называемые LAB (Logic Array Block). Каждая макроячейка содержит программируемую матрицу «И» и фиксированную матрицу «ИЛИ», а также конфигурационный триггер с независимыми сигналами тактового импульса, разрешения тактового импульса, сброса и предустановки. Для реализации сложных логических функций к каждой макроячейке могут быть подключены дополнительные термы произведений (за счет специальных ресурсов - так называемых «expander terms»), что увеличивает количество термов в макроячейке до 32. Микросхемы семейства MAX7000S отличаются от MAX7000 возможностью программирования в системе (ISP) с использованием JTAG-интерфейса через специальный кабель Byteblaster (Bitblaster) непосредственно из САПР, а также пониженным по сравнению с MAX7000 потреблением. Микросхемами семейства MAX 7000 фирмы ALTERA могут быть с успехом заменены микросхемы ПЛИС других фирм (от PAL, GAL, 22V10 до MACH, pLSi и др.). Для оптимизации соотношения «быстродействие/потребление» используется так называемый программируемый «турбо-бит», который, будучи запрограммированным в состояние «ON» позволяет цепи достичь максимального быстродействия. В случае программирования его в состояние «OFF» - ограничивается максимальное быстродействие цепи (приблизительно в 2-2, 5 раза), при этом сокращается потребление примерно в том же соотношении. «Турбо-бит» может быть запрограммирован для каждого конкретного сигнала независимо от других. Микросхемы MAX 7000 выпускаются в различных типах корпусов (PLCC, QFP, PGA) с количеством выводов от 44 до 208. Семейство MAX 7000A объединяет шесть серий СБИС (таблица 1). Микросхемы этого семейства позволяют заменить устройство, содержащее до сотни корпусов микросхем средней степени интеграции. 2.2 Возможности САПР ALTERA MAX + PLUS II Название системы MAX+PLUS II является аббревиатурой от Multiple Array MatriX Programmable Logic User System. Система MAX+PLUS II имеет средства удобного ввода проекта, компиляции и отладки, а также непосредственного программирования устройств. ПО системы MAX+PLUS II содержит 11 приложений и главную управляющую программу. В среде может работать одно из фоновых приложений, например, компилятор, симулятор, анализатор синхронизации и программатор. Одни и те же команды разных приложений работают одинаково, что облегчает задачу разработки логического дизайна. В таблице 2 приведено описание приложений. Таблица 2
Продолжение таблицы 2
Файл проекта - это графический, текстовый или сигнальный файл, созданный с помощью графического или сигнального редакторов системы MAX+PLUS II или в любом другом, использующем промышленные стандарты, схемном или текстовом редакторе либо при помощи программы netlist writer, имеющейся в пакетах, поддерживающих EDIF, VHDL и Verilog HDL. Этот файл содержит логику для проекта MAX+PLUS II и компилируется компилятором. Компилятор может автоматически обрабатывать следующие файлы проекта: графические файлы проекта (.gdf); текстовые файлы проекта на языке AHDL (.tdf); сигнальные файлы проекта (.wdf); файлы проекта на языке VHDL (.vhd); файлы проекта на языке Verilog (.v); схемные файлы OrCAD (.sch); входные файлы EDIF (edf); файлы формата Xilinx Netlist (.xnf); файлы проекта Altera (.adf); файлы цифрового автомата (.smf). Вспомогательные файлы-это файлы, связанные с проектом MAX+PLUS II, но не являющиеся частью его иерархического дерева. Большинство таких файлов не содержит логики проекта. Некоторые из них создаются автоматически приложением системы MAX+PLUS II, другие - пользователем. Примерами вспомогательных файлов являются файлы назначений и конфигурации (.acf), символьные файлы (.sym), файлы отчета (.rpt) и файлы тестовых векторов (.vec). Проект состоит из всех файлов иерархической структуры проекта, в том числе вспомогательных и выходных файлов. Система MAX+PLUS II выполняет компиляцию, тестирование, анализ синхронизации и программирование. В системе MAX+PLUS II легко доступны все инструменты для создания проекта. Разработка проекта ускоряется за счёт имеющихся стандартных функций, в том числе примитивов, мегафункций, библиотеки параметризованных модулей (LPM) и макрофункций устаревшего типа микросхем 74 серии. В системе MAX+PLUS II есть три редактора для разработки проекта: графический, текстовый и сигнальный, а также два вспомогательных редактора: поуровневый планировщик и символьный редактор. В иерархической структуре проекта на любом уровне допускается смешанное использование файлов с расширениями «.gdf.tdf.vhd.v.edf.sch». Графический редактор (Graphic Editor) обеспечивает проектирование в реальном формате изображения. Графические файлы проекта (.gdf) или схемные файлы OrCAD (.sch), созданные в данном графическом редакторе, могут включать любую комбинацию символов примитивов, мегафункций и макрофункций. Символы могут представлять собой любой тип файла проекта (.gdf.sch.tdf.vhd.v.wdf.edf.xnf.adf.smf). Символьный редактор (Symbol Editor) позволяет просматривать, создавать и редактировать символ. Символьный файл имеет то же имя, что и проект, и расширение «.sym». Команда Creat Default Symbol меню File, которая есть в графическом, текстовом и сигнальном редакторах, создает символ для любого файла проекта. Символьный редактор обладает следующими характеристиками: можно переопределить символ, представляющий файл проекта, создавать и редактировать выводы и их имена, используя входные, выходные и двунаправленные выводы, а также задавать варианты ввода символа в файл графического редактора, задать значения параметров и их значения по умолчанию; сетка и направляющие помогают выполнить точное выравнивание объектов, в символе можно вводить комментарии. Текстовый редактор (Text Editor) является инструментом для создания текстовых файлов проекта на языках описания аппаратуры: AHDL (.tdf), VHDL (.vhd), Verilog HDL (.v). Пользуясь данным текстовым редактором, можно создавать тестовые векторы (.vec), используемые для тестирования, отладки функций и при вводе сигнального проекта. Можно также создавать командные файлы (.cmd - для симулятора и.edc - для EDIF), а также макробиблиотеки (.lmf). Сигнальный редактор (Waveform Editor) служит инструментом создания описания проекта, ввода тестовых векторов и просмотра результатов тестирования. Можно создавать сигнальные файлы проекта (.wdf), которые содержат временные диаграммы, описывающие логику работы проекта, а также файлы каналов тестирования (.scf), которые содержат входные вектора для тестирования и функциональной отладки. Также можно графическим способом задавать комбинации входных логических уровней и требуемых выходов. Созданный таким образом файл WDF может содержать как логические входы, так и входы цифрового автомата, а также выходы комбинаторной логики, счётчиков и цифровых автоматов. Способ разработки дизайна в сигнальном редакторе лучше подходит для цепей с чётко определёнными последовательными входами и выходами, то есть для цифровых автоматов, счётчиков и регистров. С помощью сигнального редактора можно легко преобразовывать временные диаграммы сигналов целиком или частично, создавая и редактируя узлы и группы. Поуровневый планировщик (Floorplan Editor) предназначен для назначения ресурсов физических устройств и просмотра результатов разводки, сделанных компилятором. В окне поуровневого планировщика могут быть представлены два типа изображения: Device View (Вид устройства) показывает все контакты устройства и их функции; LAB View (Вид логического структурного блока) показывает внутреннюю часть устройства, в том числе все логические структурные блоки (LAB) и отдельные логические элементы. Компилятор применяет разнообразные способы увеличения эффективности проекта и минимизации использования ресурсов устройства. Если проект слишком большой, чтобы быть реализованным в одном устройстве, компилятор может автоматически разбить его на части для реализации в нескольких устройствах того же самого семейства, при этом число соединений между устройствами минимизируется. Кроме того, компилятор создает программирующие файлы, используемые программатором для программирования одного или нескольких устройств. Загрузку готового проекта в ПЛИС или конфигурационное ПЗУ выполняют с помощью программатора (Programmer). Популярное:
|
Последнее изменение этой страницы: 2017-03-03; Просмотров: 2370; Нарушение авторского права страницы