ГлавнаяКонтактыКарта сайта
ЕПОС
О компанииКомпьютерная криминалистикаВосстановление информацииЗащита информацииПроизводство и ITСервисНаши разработки

Расследование инцидентов, компьютерная криминалистика, информационная безопасность

Книжная серия Взгляд на жесткий диск изнутри




Архив статей


04.12.2000
MAX+plus II: интегрированная среда разработки цифровых устройств на ПЛИС

Владимир ПОРЕЧНЫЙ, кандидат технических наук,
начальник исследовательского отдела сервисного центра «ЕПОС»

Общей тенденцией развития элементной базы цифровой схемотехники, начиная с появления первых интегральных микросхем в начале 60-х годов и до настоящего времени, является непрерывное повышение числа логических элементов (ЛЭ), размещаемых на кристалле, с одновременным снижением удельной стоимости одного элемента. Увеличение числа ЛЭ непрерывно открывает возможности создания всё более сложных цифровых устройств, размещаемых на одном кристалле. К основным (далеко не полным) положительным результатам этой тенденции можно отнести:

  • постоянное расширение функциональных возможностей и улучшение потребительских свойств конечных изделий;
  • уменьшение габаритов и потребляемой мощности;
  • повышение надежности.

Отражением этой тенденции в составе элементной базы цифровой схемотехники явился переход от интегральных микросхем (ИМС) малой и средней степени интеграции к большим (БИС) и сверхбольшим (СБИС) интегральным микросхемам. Одним из наиболее революционных результатов развития микроэлектроники явилась возможность создания первых микропроцессоров (начало 70-х годов), что дало мощный толчок к внедрению цифровых технологий обработки информации во всех сферах человеческой деятельности.

Однако далеко не все практические задачи цифровой схемотехники могут быть решены только лишь с использованием одних микропроцессоров. Это обусловлено органически присущей всем микропроцессорам особенностью, связанной с тем, что решение любой задачи микропроцессором всегда состоит из последовательности шагов конечной длительности, в то время как для решения многих задач (в том числе связанных и с обеспечением работы самих микропроцессоров) требуются устройства с минимальной задержкой выполнения логических функций. Существует три основных способа удовлетворить эту потребность:

  1. Использование наборов стандартной дискретной цифровой логики общего применения, например, наборов логических микросхем 74-й серии (ТТЛ, КМОП) и типовых периферийных БИС.
  2. Использование заказных СБИС.
  3. Использование программируемых логических интегральных схем (ПЛИС).

Наборы дискретной цифровой логики различных серий довольно длительное время являлись основной элементной базой для разработки цифровых устройств. В состав таких наборов входит большое число отдельных микросхем, предназначенных как для выполнения базовых логических функций (И, ИЛИ, НЕ), так и для выполнения функций типовых цифровых устройств, таких как триггеры, регистры, счётчики, мультиплексоры, дешифраторы и т.д., что даёт возможность использовать их для разработки более сложных функционально законченных цифровых устройств.

Основной недостаток дискретной логики заключается в том, что для разработки конечных изделий обычно требуется большое число микросхем. Следствием этого является большое число внешних соединений, сложность конструкции и большие габариты печатных плат, большая длина соединительных проводников, сложность построения устройств с высокой тактовой частотой, низкая надёжность. Для уменьшения числа микросхем при проектировании микропроцессорных систем был разработан ряд периферийных БИС, представляющих собой специализированные цифровые устройства, предназначенные для выполнения некоторых типовых функций в составе микропроцессорных систем, такие как контроллеры динамических ОЗУ, контроллеры прерываний, контроллеры прямого доступа в память, контроллеры шин и т.д. Однако даже применение периферийных БИС не позволяет полностью преодолеть основные недостатки дискретной цифровой логики.

Наиболее кардинально проблема габаритов, быстродействия, упрощения конструкций печатных плат и обеспечения надёжности решается путем разработки и изготовления заказных СБИС (классический пример – чипсеты материнских плат и карт расширения персональных компьютеров). К сожалению, этот путь экономически оправдан только при крупносерийном производстве однотипных конечных изделий, вследствие высокой стоимости и длительных сроков подготовки производства заказных СБИС. Кроме того, при использовании заказных СБИС возможная модификация изделий требует существенных дополнительных материальных и временных затрат.

В то же время на практике достаточно часто возникают потребности в разработке оригинальных цифровых устройств и изделий, не рассчитанных на крупносерийное производство, для которых разработка заказных СБИС не приемлема либо по экономическим причинам, либо по срокам исполнения. В течение длительного времени единственным путем для решения таких задач являлось использование интегральных микросхем дискретной логики и периферийных БИС, поскольку возможности первых поколений простых ПЛИС были весьма ограничены, а цена сложных ПЛИС очень высокой, кроме того, имелись определенные сложности и с проектированием цифровых устройств на ПЛИС.

В последние годы, однако, произошел резкий прорыв как в технологии изготовления ПЛИС, так и в разработке инструментальных средств, предназначенных для проектирования цифровых устройств на ПЛИС и выпуска готовых изделий. Технологический прорыв характеризуется резким увеличением числа эквивалентных логических вентилей, размещаемых на одном кристалле (до 10 млн вентилей в ближайшей перспективе), повышением рабочей частоты (до 400 МГц) с резким одновременным снижением как удельной, так и абсолютной стоимости. Так, по данным, приведенным в [1], стоимость ПЛИС ёмкостью 100 000 вентилей за период с 1998 до начала 2000 г. снизилась с 1500...3000 до 100...350 у. е. и эта тенденция является устойчивой. Кроме того, в [2] отмечается, что программируемая логика по темпам развития начала опережать другие направления цифровой электроники (универсальных микропроцессоров, сигнальных процессоров, микроконтроллеров и заказных БИС). Например, один из мировых лидеров по производству ПЛИС фирма «Xilinx» в I квартале 2000 г. увеличила объём продаж на 66% по сравнению с I кварталом 1999 г. При этом стоимость ПЛИС объёмом до нескольких тысяч вентилей на украинском рынке, представленном целым рядом фирм-поставщиков электронных компонентов, составляет всего несколько у. е.

Основными фирмами-производителями ПЛИС в настоящее время являются такие фирмы, как «Altera», «Atmel», «Csypres», «Lattice», «Lucent», «Xilinx».

По принципу формирования требуемой структуры целевого цифрового устройства все основные типы современных ПЛИС подразделяются на две группы. К первой группе относятся устройства, в которых требуемая структура устройства создаётся путём программирования связей коммутирующих матриц с использованием технологий перепрограммируемых постоянных запоминающих устройств, в том числе и с электрическим стиранием. Такие устройства называются многократно программируемыми ПЛИС, или EPLD (EPROM technology based complex Programmable Logic Devices) или CPLD (Complex Programmable Logic Devices). К этому классу относятся, например, ПЛИС семейства MAX 5000, MAX 7000 фирмы «Altera», ПЛИС XC 7000 и XC 9500 фирмы «Xilinx», а также большое число микросхем других производителей. Особенность этих устройств заключается в том, что сформированная структура является энергонезависимой, то есть сохраняется при выключении питания, а для изменения структуры необходимо выполнить операции стирания (очистки) EPROM и программирования (записи) новой структуры.

В устройствах второго класса требуемые связи коммутирующих матриц обеспечиваются логическими ключами, которые управляются битовой последовательностью, записываемой во внутреннее статическое ОЗУ при конфигурировании ПЛИС, поэтому устройства этого класса получили название многократно реконфигурируемых ПЛИС, или FPGA (Field Programmable Gate Array). К этому классу относятся XC 2000, XC 3000, XC 4000, Spartan, Virtex фирмы «Xilinx», семейства FLEX 6000, FLEX 8000 фирмы «Altera» и некоторые ПЛИС других фирм. Особенностью устройств этого класса является то, что требуемая структура целевого устройства должна восстанавливаться (записываться во внутреннее статическое ОЗУ) после каждого выключения и последующего включения питания, что требует принятия дополнительных мер по сохранению и восстановлению требуемой конфигурации. Такая особенность на первый взгляд может показаться недостатком ПЛИС FPGA. На самом деле эта особенность является важным достоинством, так как позволяет создавать адаптивные системы с динамически изменяющейся во времени структурой. Иными словами, в разные моменты времени использовать один и тот же кристалл для реализации различных цифровых устройств, которые наилучшим образом соответствуют изменяющимся во времени внешним условиям (например, обеспечивать работу сотового телефона в сетях с различными стандартами – в зависимости от доступности той или иной сети в данный момент времени).

Оба класса ПЛИС позволяют реализовывать любые цифровые схемы, однако в силу ряда особенностей внутренней структуры ПЛИС первого класса более приспособлены к реализации сложных комбинационных схем, а ПЛИС второго класса более приспособлены к реализации цифровых (конечных) автоматов (state machine).

ПЛИС большого объёма имеют встроенные системы самотестирования при включении питания с выдачей результатов тестирования через стандартный интерфейс JTAG.

Подробную справочную информацию, описания, руководства по применению ПЛИС можно свободно получить на сайтах фирм-производителей, интернет-адреса которых, как правило, совпадают с названиями фирм и имеют расширения .com.

Технико-экономические показатели современных ПЛИС достигли такого уровня, который обеспечивает при выпуске партий изделий до нескольких сотен более низкую стоимость конечных изделий, чем применение заказных СБИС. Очевидно, что в ближайшее время этот порог будет повышаться, обеспечивая экономическую целесообразность применения ПЛИС и в крупносерийном производстве. Кроме чисто экономических предпосылок, этому способствует ряд дополнительных достоинств современных ПЛИС, которые заключается в том, что, сохраняя все преимущества однокристального решения, присущего заказным СБИС, устройства на основе ПЛИС могут очень быстро и с малыми затратами подвергаться модернизации (upgrade). Благодаря наличию во многих типах ПЛИС встроенных систем программирования и конфигурирования, позволяющих перепрограммировать их прямо на месте без использования внешних программаторов, устройства на ПЛИС могут модернизироваться даже находясь в постоянной эксплуатации у заказчика. С этой целью ведущие производители программируемой логики включают в средства проектирования устройств на ПЛИС поддержку обновления версии ПЛИС через интернет. Кроме того, сроки проектирования и выпуска готовой продукции на ПЛИС неизмеримо меньше, чем разработка и производство заказных СБИС, что в условиях динамично изменяющегося рынка иногда может иметь решающее значение. Немаловажным обстоятельством является то, что для выпуска готовой продукции не требуется того сложнейшего и дорогостоящего технологического оборудования, которое требуется для производства заказных СБИС. Последнее обстоятельство открывает средним и даже мелким фирмам путь на рынок изделий современной электронной техники, который был ранее доступен только гигантам электронной промышленности. Дело только за «плодотворными дебютными идеями».

Таблица 1

Относительные рейтинги эффективности применения стандартной логики, заказных СБИС и ПЛИС
(в обобщённом виде, по ряду наиболее важных показателей)

ПоказателиСтандартная логикаЗаказные СБИСПЛИС
Быстродействие   
Плотность упаковки элементов   
Стоимость*   
Время разработки   
Время отладки   
Время производства   
Возможности модернизации   
Риск изготовителя   
Степень автоматизации процесса проектирования и производства   

Высокая эффективностьСредняя эффективностьНизкая эффективность

* При одинаковом числе логических элементов в проекте стоимость суммарного числа стандартных микросхем превышает стоимость ПЛИС, а преимущество в стоимости заказных СБИС проявляется только при очень большом объёме производства идентичных микросхем.

До недавнего времени микропроцессоры и ПЛИС представляли собой два независимых направления в цифровой микроэлектронике. Насущные потребности в дальнейшем повышении степени интеграции привели к разработке СБИС класса SOC (Systems On Chip) – т.е. «систем на кристалле».

Сущность такого подхода заключается в слиянии двух путей развития сложных универсальных микросхем (микропроцессоров и ПЛИС) в единое целое путём размещения на одном кристалле связанных между собой микропроцессорного ядра и массива вентилей ПЛИС. Пионером в создании подобных устройств явилась фирма «Atmel», которая в октябре 1999 г. выпустила первое семейство СБИС FPSLIC (Field Programmable System Level Integration Circuits, что можно перевести как «программируемые схемы системного уровня интеграции»).

Типовая микросхема FPSLIC фирмы «Atmel» содержит скоростное процессорное ядро AVR RISC с производительностью свыше 30 MIPS, массив FPGA объёмом до 4000 эквивалентных логических вентилей, 10 кбайт x 16 программной памяти, 4 кбайт x 8 оперативной памяти, а также набор фиксированных периферийных устройств (два последовательных порта, три таймера-счётчика, интерфейс I2C, два параллельных порта). В состав семейства на сегодня входят три микросхемы типа AT94K10, AT94K20, AT94K40 с объёмом FPGA в 1000, 2000 и 4000 вентилей соответственно [3]. В силу очевидных достоинств микросхем этого класса можно предположить, что СБИС класса SOC в ближайшее время будут интенсивно развиваться и получат широкое применение в цифровой схемотехнике.

Немалую роль в расширении областей применения ПЛИС, сокращении времени и снижении трудозатрат на проектирование сыграли и значительные успехи в создании инструментальных средств для разработки и выпуска конечных изделий на ПЛИС, основу которых составляют специальные пакеты программ, обеспечивающие весь производственный цикл по созданию цифровых устройств на ПЛИС, от разработки схем до выпуска готовых изделий.

К сожалению, ПЛИС каждой фирмы требуют применения своих программных пакетов, степень доступности которых также различна. Полные версии программных продуктов всех без исключения фирм являются коммерческими продуктами со стоимостью от нескольких сотен до нескольких тысяч у. е. Однако некоторые фирмы предоставляют бесплатные версии своих программных продуктов с некоторыми ограничениями возможностей.

Например, для разработки цифровых устройств на ПЛИС фирмы «Altera» используется интегрированная среда разработки цифровых устройств, коммерческая версия которой называется MAX+plus II. В тоже время фирма «Altera» предоставляет две бесплатные версии этого пакета под названиями E+MAX и MAX+plus II BASELINE. В настоящее время доступны последние версии этих пакетов – E+MAX v.10.0 и MAX+plus II BASELINE v.10.0. Функциональные возможности как основной коммерческой версии, так и обеих бесплатных версий абсолютно одинаковы. Различие между ними заключается только в числе типов поддерживаемых устройств. Естественно, что основная версия поддерживает весь спектр ПЛИС, выпускаемых фирмой (за исключением самой последней разработки фирмы – ПЛИС APEX20K, которая поддерживается только новым пакетом QUARTUS).

Типы ПЛИС, поддерживаемые бесплатными версиями пакета MAX+plus II

E+MAX:

  • MAX 7000 (включая MAX 7000A, MAX 7000AE, MAX 7000B, MAX 7000E и MAX 7000S);
  • MAX 3000A.

MAX+plus II BASELINE:

  • ACEX 1K;
  • FLEX 6000 (включая FLEX 6000A);
  • MAX 7000 (включая MAX 7000A, MAX 7000AE, MAX 7000B, MAX 7000E и MAX 7000S);
  • MAX 3000A;
  • устаревшие микросхемы серий: EPF 10K, EPF 8452, EPF 8282; EPM 9320; Classic EPLD.

Таблица 2

Основные характеристики современных ПЛИС (рассмотрены только устройства, поддерживаемые бесплатными пакетами фирмы «Altera»)

ПараметрыMAX 3000*MAX 7000*FLEX 6000ACEX 1K**
Тип структурыCPLDCPLDFPGAFPGA
Логическая емкость эквивалентных вентилей600...5000600...500010 000...24 00010 000...100 000
Число программируемых выводов34...15836...164102...218130...330
Максимальная тактовая частота, МГц150...190125...175200200
Ориентировочная стоимость, у. е.нет данных3...16017...45Нет данных

* Микросхемы семейств MAX 3000A и 7000S имеют встроенную систему программирования.

** Семейство микросхем ACEX 1K выпущено в начале 2000 г., отличается пониженной удельной стоимостью, имеет встроенную систему конфигурирования.

Как следует из приведённых данных, номенклатура микросхем, поддерживаемых бесплатными версиями системы MAX+plus II, хотя и является ограниченной, но тем не менее позволяет эффективно решать многие задачи, возникающие при разработке цифровых устройств различного назначения.

Пакеты E+MAX v.10.0 и MAX+plus II BASELINE v.10.0 можно загрузить по адресу http://www.altera.com/html/tools/emax_baseline.html (раздел Development Tools > Free Software сайта фирмы «Altera»). Загрузка разрешается после ввода адреса электронной почты, который будет необходим и для получения файла лицензии. Самораспаковывающийся EXE-файл пакета E+MAX объёмом около 20 Мбайт загружается под именем emax10_0.exe, а файл пакета MAX+plus II BASELINE объёмом более 45 Мбайт загружается под именем baseline10_0.exe. После запуска EXE-файла осуществляется установка пакета в обычном для Windows-приложений порядке. Пакет может быть установлен как на платформе IBM PC, так и на платформах SUN, RISC/6000 и HP9000. Одним из многих достоинств обоих продуктов является то, что для успешной установки и работы они требуют весьма небольших по нынешним меркам ресурсов: достаточно иметь Pentium 100, 16 Мбайт ОЗУ и 150...400 свободного пространства на жёстком диске. Отмечу, что на практике пакеты удовлетворительно работают и на 486 платформе с процессором 5х86 Ami и 16 Мбайт ОЗУ.

Запуск пакета после установки осуществляется одним из стандартных для системы Windows способов. При запуске пакета непосредственно после инсталляции открывается основное рабочее окно, однако из всех пунктов меню Менеджера проектов (подменю MAX+Plus II основного меню) доступна только опция создания и редактирования проекта в текстовом виде с использованием языка описания цифровых устройств AHDL, который является достаточно полным подмножеством стандартного языка VHDL (Very high speed integrated circuits Hardware Description Language).

Чтобы получить доступ ко всем функциям пакета в полном объёме, необходимо запросить, получить по электронной почте и установить файл лицензии license.dat поверх уже установленного пакета. Для отправки запроса необходимо войти в раздел Development Tools > Software Licensing домашней странички фирмы «Altera», выбрать один из видов лицензии и заполнить стандартную форму с указанием (помимо других сведений) номера тома вашего жёсткого диска, на который установлен пакет. Этот номер можно получить в режиме эмуляции DOS, введя в командной строке команду dir/p. Фирма «Altera» гарантирует, что вы получите файл лицензии в течение не более 12 ч с момента отправки запроса.

Для установки файла лицензии необходимо запустить пакет, открыть подменю Options основного меню, выбрать пункт License Setup, указать в открывшемся диалоговом окне путь к файлу license.dat и нажать кнопку OK. После этого вам станут доступны все многообразные функции пакета, обеспечивающие быструю и качественную реализацию вашей идеи на самом современном схемотехническом уровне.

Все пакеты интегрированной среды разработки цифровых устройств на ПЛИС фирмы «Altera» имеют следующие общесистемные свойства:

  1. Обеспечивают полный производственный цикл выпуска готовых цифровых устройств на ПЛИС, включающий:
  • разработку проекта устройства (задание требуемой логики функционирования устройства);
  • проверку корректности проекта и локализацию ошибок;
  • синтез внутренней структуры устройства с минимизацией требуемых ресурсов;
  • компиляцию проекта (создание файла для программирования или конфигурирования ПЛИС);
  • моделирование процесса функционирования устройства, временной анализ и, наконец, программирование (конфигурирование) ПЛИС.
  1. Имеют развитые и удобные в пользовании средства разработки проектов, в состав которых входят:
  • редактор схем (Graphic Editor), несколько похожий на редакторы САПР печатных плат (ORCAD, PCAD), но гораздо более удобный в работе;
  • редактор временных диаграмм (Waveform Editor);
  • текстовый редактор проектов на языке AHDL (Text Editor), самое мощное, но и самое сложное средство создания проектов;
  • (Все редакторы могут использоваться для создания различных частей основного проекта, который в этом случае должен создаваться только с помощью редактора схем.)
  1. Имеют большую библиотеку элементов различного вида (логических примитивов, аналогов дискретной логики 74-й серии, параметризированных логических функций), позволяющих создавать проекты цифровых устройств любой сложности.
  2. Позволяют разрабатывать проекты в виде многоуровневой иерархии вложенных функциональных модулей и создавать с помощью различных редакторов собственные библиотеки модулей, которые могут использоваться в различных проектах.
  3. Обеспечивают оптимальный синтез и минимизацию используемых для реализации проекта ресурсов микросхем.
  4. Обеспечивают проверку и локализацию ошибок при создании исходного проекта и при компиляции с учётом формальных и эмпирических правил проектирования цифровых устройств и достаточности имеющихся ресурсов, гарантируя работоспособность успешно скомпилированного проекта (но не гарантируют от ошибок при задании разработчиком алгоритма функционирования устройства).
  5. Имеют возможность автоматического выбора наиболее подходящей микросхемы требуемого объёма или распределения проекта между несколькими микросхемами малого объёма.
  6. Обеспечивают возможность закрепления назначенных компилятором выводов микросхем для постоянной привязки к внешним компонентам целевого устройства или переназначения выводов.
  7. Имеют встроенные средства функционального и временного моделирования, обеспечивающие быструю верификацию и отладку проектов.
  8. Обеспечивают программирование и перепрограммирование микросхем, имеющих встроенную систему программирования, непосредственно в составе конечного изделия через специальный кабель, подключаемый либо к LPT-порту (Byte Blaster), либо к COM-порту (Bit Blaster) компьютера и технологического 10-контактного соединителя, устанавливаемого на плате изделия. Схемы кабелей можно найти на сайте фирмы «Altera» в разделе Development Tools. Кстати, если на плате изделия устанавливается несколько ПЛИС со встроенными системами программирования, то все они могут программироваться через один технологический разъём. Для программирования остальных микросхем необходимо дополнительно использовать внешний программатор, который также может подключаться к COM- или LPT-порту.

Все пакеты имеют одинаковый, стандартный для Windows-приложений интерфейс пользователя. Вид рабочего окна с фрагментами проекта практической схемы сканирования матричной клавиатуры, созданного с использованием редактора схем и модуля декодера 2 х 4, созданного в редакторе временных диаграмм, показан на рис. 1.

Рис. 1. Интерфейс интегрированной среды разработки цифровых устройств на ПЛИС фирмы «Altera»

Подробнее содержание специальных меню, назначение кнопок панели инструментов и порядок работы с пакетом на всех этапах разработки цифровых устройств будут рассмотрены в следующих статьях.

Резюмируя все изложенное выше, можно сказать, что в настоящее время применение ПЛИС, в частности ПЛИС фирмы «Altera», является практически безальтернативным вариантом при разработке и выпуске в сжатые сроки небольших партий цифровых устройств, отвечающих современным требованиям к потребительским свойствам изделий электронной техники. Интегрированная среда разработки цифровых устройств MAX+plus II (в том числе и её бесплатные версии) является весьма эффективным и удобным для этих целей инструментом.

 

Литература

  1. Стешенко В.Б. ПЛИС фирмы «Altera»: проектирование устройств обработки сигналов. – М.: ДОДЭКА, 2000.
  2. Программируемая логика // Электронные компоненты и системы. – 2000. № 9. – С. 12.
  3. И. Кривченко. Системная интеграция в электронике – FPSLIC // Chip News. 2000. № 4. – С. 62-64. .

Поделиться информацией