Часть 1 находится здесь.
Языки описания логических систем VHDL и AHDL
Язык VHDL (Very high speed integrated circuits Hardware Description Language) является фактически международным стандартом в области автоматизации проектирования цифровых систем, это входной язык многих современных САПР как заказных, так и программируемых логических интегральных схем (ПЛИС) и программируемых пользователями матриц. VHDL предназначен, в первую очередь, для спецификации — точного описания проектируемых систем и их моделирования на начальных этапах проектирования — алгоритмическом и логическом [1 - 4]. С помощью VHDL можно моделировать схемы с учётом реальных временных задержек.
VHDL — это мощный язык, который позволяет описывать поведение, т.е. алгоритмы функционирования ЦУ и цифровых интегральных схем при их проектировании, а так же проводить иерархическое функционально-структурное описание систем. Он имеет средство для описания ряда асинхронных процессов, регулярных структур, и в то же время имеет все признаки языка программирования высокого уровня.
Язык VHDL был разработан в США по инициативе министерства обороны. В1987 г. VHDL был принят в качестве стандарта ANSI/IEEEE Std. 1076-1987 (VHDL`87). В 1999 г. утверждён стандарт ANSI/IEEEE Std. 1076.1-1999 (VHDL-AMS), который включает расширение, дающее возможность описание моделей аналоговых и смешанных схем.
Логические системы проектируются на базе хорошо формализованного вполне строгого и сравнительно простого аппарата булевой алгебры. В рамках этого математического аппарата доказано, что любая логическая система может быть скомпонована из ограниченного количества простых объектов, называемых элементами. Т.к. все элементы булевой алгебры имеют функциональное описание, т.е. каждому элементу может быть поставлена в соответствие некоторая логическая функция, то найдется такая функция и для композиции конечного числа таких элементов. Эта функция и является математической моделью логической системы. Поэтому проблема декомпозиции сложной системы на простые элементы решается достаточно легко.
Обычно в САПР предусмотрено автоматическое преобразование модели ЦИС в виде набора логических функций в структуру элементов на кристалле. Таким образом, если проектировщик доверяет САПР выполнение этапов компоновки, размещения и трассировки, то ему остаётся только создать модель проектируемой системы, понятную для САПР. Если это сделано для какого-либо цифрового узла, то легко решается и проблема его моделирования.
Ведущие мировые фирмы-производители ПЛИС (Altera, Xilinx, Atmel) выпускают множество СБИС разной степени интеграции. Эти интегральные схемы позволяют перекрыть диапазон от микросхемы малой степени интеграции до весьма сложной цифровой системы. Основная характеристика ёмкости микросхем программируемой логики обычно оценивается числом эквивалентных логических вентилей 2И-НЕ (2ИЛИ-НЕ), размещённых на кристалле [5]. Эта условная характеристика приводится в техническом описании ПЛИС.
Языки VHDL и AHDL очень похожи как по командному базису, так и по возможностям описания цифровых систем и ПЛИС. Отличие между ними состоит в том, что VHDL создавался как язык описания цифровых устройств вообще, а AHDL ориентирован на ПЛИС и другие микросхемы фирмы Altera. Это значит, что он имеет более узкую «специализацию», но, поскольку был создан для ЦИС с определенной архитектурой, то позволяет наиболее полно использовать её особенности.
В последнее время успешно разрабатывается и система синтеза схем по спецификациям на этом языке. Например, используя САПР Xilinx Foundation 2.1i, можно провести моделирование исходного описания схемы на языке VHDL, а затем синтезировать схему и получить файл конфигурации вентильной матрицы. Использование САПР MAX+PLUSII позволяет решать аналогичные задачи для программируемых микросхем, выпускаемых фирмой Altera, для которых используется ориентированный на архитектуру этих микросхем язык AHDL. Для заказных СБИС могут быть использованы САПР фирмы mentor Graphics: система ModelSim позволяет провести моделирование и описание на языке VHDL, система синтеза Leonardo Spectrum Level 3 позволяет получать по описаниям на языке VHDL схемы в заданных базисах логических элементов. Помимо этих САПР, существует еще система Quartus, которая поддерживает разработку более сложных, чем в MAX+PLUSII, цифровых устройств [5, 6].
Крупнейшие фирмы-производители программного обеспечения САПР в области микроэлектроники используют языки VHDL и AHDL в качестве исходного описания проекта. Эти языки развиваются, им посвящены международные конференции, выходят научные журналы, в которых изучаются проблемы использования VHDL и AHDL. VHDL стал языком разработки международных проектов, в том числе осуществляемых с помощью всемирной компьютерной сети. Знакомство с этим языком способствует эффективной работе по созданию разнообразной электронной аппаратуры на современной элементной базе сверхбольших интегральных схем.
Таким образом, с точки зрения задачи моделирования цифровых устройств, языки VHDL и AHDL и САПР на их основе обеспечивают логический расчет на ранних этапах проектирования. Эти языки пригодны также для моделирования ЦИС. Их достоинствами является наглядность и сравнительная простота, широкая распространенность и универсальность. Эти языки не предназначены для расчета электрических схем будущего цифрового узла, но без проведения отладки функционирования средствами САПР с применением VHDL и других подобных языков создание сложных устройств становится очень затруднительным. Возможность проведения моделирования ЦУ на стадии их проектирования — неоспоримая практическая польза и несомненное достоинство VHDL.
В соответствии с приведенной выше классификацией модели, которые анализируют САПР на языках VHDL и AHDL, можно отнести к полным физическим моделям, представленным в виде совокупности элементарных ячеек. Они могут быть как фазовыми, так и факторными.
SPICE как метод моделирования цифровых узлов
Язык и система SPICE (Simulation Program with Integrated Circuit Emphasis) были созданы более двадцати лет назад в Department of Electrical Engineering and Computer Sciences, University of California, Berkeley. Язык предназначен для описания электрических цепей разной сложности, и используется для расчета схем во временной и частотной областях, а такжк в статическом режиме. Эти типы расчетов используются в инженерной практике наиболее часто. При проведении моделирования все элементы схемы заменяются их математическими моделями. Таким образом, SPICE-модели являются полными.
Язык SPICE и системы на его основе используются во многих САПР; существуют разные их модификации. Например, в системе OrCAD 9.2 используется программа PSPICE [7]. Заметим, что в системе OrCAD предусмотрен расчет логических устройств на основе булевой алгебры. Помимо PSPICE существуют и другие программы: WinSPICE (некоммерческая программа, распространяется свободно), HSPICE, XSPICE и др. Языки, используемые во всех системах, имеют незначительные отличия и дополнения по сравнению с изначальной версией SPICE.
Язык SPICE может быть использован для моделирования цифровых узлов с использованием только электрических сигналов. Это подразумевает использование полных SPICE-моделей ЦИС. Как отмечается в [1], основная сложность, возникающая при полном моделировании внутренней электрической схемы ЦИС при автоматизированном проектировании ЦУ, связана с размерностью вычислительной задачи и высоким порядком систем уравнений, описывающих ЦУ. Уже для ЦИС средней степени интеграции объем вычислений становится неоправданно большим.
В отсутствие специально созданных для расчета электрических схем быстродействующих вычислительных систем [2], в которых для ускорения вычислений операции над числами с плавающей точкой проводятся на аппаратном уровне, одним из методов, позволяющих существенно сократить размерность задачи, является использование макромоделей. Однако их удается построить только для очень ограниченного класса цифровых элементов — триггеров и логических элементов.
Еще одной трудностью, возникающей на пути полного схемотехнического моделирования ЦУ на основе SPICE-моделей составляющих его элементов, является отсутствие в свободном доступе принципиальных электрических схем, тем более с номиналами пассивных и характеристиками активных элементов. Напротив, большинство крупных фирм старается сохранить эту информацию в тайне (особенно для новых разработок). В технической документации на ЦИС они лишь иногда приводят структурную схему, которая не дает практически ничего для составления SPICE-моделей.
Поэтому в настоящее время производители ЦИС практически прекратили распространение их SPICE-моделей. Все большее развитие получает новый подход к моделированию ЦИС, основанный на IBIS.
Литература
- Автоматизация проектирования радиоэлектронных средств. — Под ред. Алексеева О.В. — М.: Высшая школа, 2000. — 478 с.
- Грувер М., Зиммерс Э. САПР и автоматизация производства. — Пер. с англ.: Белоусов О.О. и др. — М.: Мир, 1987. — 528 с.
- Новожилов О.П. Цифровые устройства. — М.: МИЭМ, 1995. — 207 с.
- Бибило П.Н. Основы языка VHDL. — М.: Солон-Р, 2000. — 200 с.
- Мишин Г.Т., Прокимов П.А. Проектирование логических систем в MAX+PLUSII. — М.: МГИЭМ, 2002. — 173 с.
- Стешенко Б.В. ПЛИС фирмы «ALTERA»: элементная база, система проектирования и языки описания аппаратуры. — М.: Додэка-XXI, 2002. — 573.
- www.eia.org, IBIS-standart, ver. 4.2C. — IBIS open forum, 2004. — 117 с.
Часть 3 находится здесь.
Искренне Ваш, Главный научный сотрудник
P.S. Прошу подписываться на мой канал! Считаю, что мой опыт и научные достижения должны стать общедоступными. Только оригинальные статьи, собственные наработки!