VHDL язык создания дискретных систем

         

VHDL-ОПИСАНИЕ ОБЪЕКТА ПРОЕКТА


НЕКОТОРЫЕ ПРОБЛЕМЫ ПРИМЕНЕНИЯ VHDL В СИСТЕМАХ ПРОЕКТИРОВАНИЯ

Соответствие VHDL-описания и схемы. Важнейшим требованием к системе синтеза, строящейся на VHDL (система VHDL-синтеза), является установление соответствия между поведенческим описанием и реальной схемой, что приводит к ряду проблем из-за многоальтернативности решений и комбинаторной сложности этой задачи. Ниже приводятся простейшие примеры установления таких соответствий для комбинационных логических схем (КЛС) и схем с элементами памяти.

Логика любой КЛС, реализующей некоторую логическую функцию, описывается оператором параллельного присвоения: Y <= not (X1 and X2) or (X3 X or X2);

Это соответствует асинхронной КЛС, в которой выход Y зависит только от информационных входов X1, X2, X3 (КЛС типа сумматор, асинхронные дешифратор и шифратор, схема выбора старшей "1" в коде и т. д.).

Асинхронные КЛС, имеющие, кроме информационных, адресные входы, определяющие выбор той или иной комбинации значений информационных входов (например, мультиплексор, демультиплексор и т. д.), а также синхронные КЛС следует описывать как PROCESS, который должен быть чувствительным ко всем входным сигналам, что задается параметрами процесса. Например, логическая схема мультиплексора может иметь такое VHDL-описание: process (A1,A2,D0,D1,D2,D3) begin -- & -- операция конкатенации CASE (A1&A2) -- => -- операция следования WHEN "00" => Y<=D0; WHEN "01" => Y<=D1; WHEN "10" => Y<=D2; WHEN "11" => Y<=D3; end case; end process;

Условие синхронизации КЛС в VHDL-описании задается условным оператором IF..THEN..ELSE.., при этом все выходные сигналы КЛС должны быть определены полностью (не по умолчанию) всякий раз, когда процесс активизируется, т. е. альтернатива ELSE обязательна. Так, описанию process (A,B,C) begin IF C=1 THEN Y <= A; ELSE Y <= B; end IF; end process; соответствует схема на рис. 5. Если же некоторый сигнал не присваивается (отсутствует ветвь ELSE в операторе IF), то подразумевается сохранение его старого состояния, что соответствует наличию в схеме элемента памяти типа триггера-защелки или прозрачного триггера (рис. 6): process (C,D) begin IF C=1 THEN Q <= D; end IF; end process;

Системы VHDL-синтеза.
В настоящее время существует большое число пакетов и систем проектирования, использующих VHDL. Одни из них относятся к промышленным (COMPASS, СADENCE, TANNER, SMASH, Mentor Graphics, Cadence, Workview Office), другие -- к университетским (ALLIANCE, AMICAL, VANTAGE, SYNOPSYS). Характерным для них является применение методологии нисходящего проектирования, интерактивные средства моделирования с многооконным редактором, большой набор утилит, ориентированных на поддержку коллективной работы. Все они, как правило, работают под ОС UNIX и реализованы на станциях типа SUN и др. Ряд систем (например, SYNOPSYS или система ХАСТ для разработки программируемых логических матриц фирмы Xilinx) позволяет разработчику выбирать, кроме VHDL, другие средства описания аппаратуры, например Verilog, синтаксической основой которого является язык Си. Практика показывает, что одной из наиболее надежных, быстродействующих и удобных в эксплуатации систем моделирования является система Vantage -- среда моделирования на VHDL. Очевидно, что ни один язык описания цифровой аппаратуры, в том числе и VHDL, не может полностью удовлетворить разработчика в части адекватного семантического отображения поведенческими моделями дискретных систем. Поэтому создаются системы, которые на базе подмножеств средств языка VHDL дополняют и расширяют функциональные и семантические возможности VHDL-конструкций в конкретных областях проектирования. Так, один из основных принципов разработки ДС -- разделение на управляющую и операционную часть -- не во всех ЯОА находит отражение. В VHDL некоторые операторы можно отнести к управлению (IF или CASE, а также защищенные назначения GUARDED assignments). Однако четкое разделение требует специальных языковых конструкций, однозначно отражающих функции управления. Такие конструкции предусмотрены в языке CASCADE. В работе [2] предложена композиция языков (CASCEDE и VHDL). Система Silicon 1076 [3] -- САПР специализированных БИС, разрабатываемых по принципу параллельного проектирования, включает среду интерактивного архитектурного синтеза, для которого исходным является подмножество средств поведенческих VHDL-описаний.


Система поддерживает многоцелевой синтезатор уровня регистровых передач, специализированные средства синтеза запоминающих и арифметических устройств. В среде VHDL-синтеза все модели и средства, определяемые соответствующей методикой синтеза, включая пакеты (пакеты -- средства задания уникальных, т. е. вводимых пользователем типов, подтипов, например единиц измерения, функций) и генераторы модулей, должны работать совместно. Следовательно, среда проектирования, основанная на VHDL, должна включать: -- поведенческое VHDL-описание проектируемой ДС; -- метод и средства декомпозиции поведенческого описания ДС (определяется методом синтеза и набором типовых элементов аппаратуры); -- набор поведенческих и/или структурных VHDL-описаний компонентов, соответствующих типовым элементам аппаратуры; -- правила выбора формы VHDL-описания компонента для его аппаратурной реализации. Для успешного решения задач высокоуровневого синтеза с последующим переходом на более низкие уровни с использованием VHDL-описаний (VHDL-синтеза) должны выполняться следующие допущения: 1) генерируются схемы, функционирование которых адекватно VHDL-описаниям; 2) многообразие наборов VHDL-описаний в библиотеке компонентов для каждой аппаратной реализации соответствующей функции обеспечивает выбор оптимального варианта по заданному критерию синтеза схемы; 3) поведенческое VHDL-описание ДС, служащее входом для VHDL- синтеза, обычно не зависит от технологии изготовления системы, но для эффективных аппаратных решений следует учитывать технологическую информацию как можно раньше. Как показывает опыт зарубежных и отечественных разработок, в настоящее время наиболее успешным оказывается применение поведенческих VHDL-моделей для синтеза устройств, последовательность обработки данных в которых может быть строго структурирована и представлена в виде схемы алгоритма или соответствующего потока сигналов. Тогда каждый блок алгоритма обработки, описываемый в виде процесса (VHDL-описания) однозначно реализуется соответствующими аппаратными средствами.


Примерами могут быть спецвычислители, ориентированные на решение конкретного класса задач по определенному алгоритму, в частности устройство цифровой обработки сигналов [4]. Таким образом, для решения задач синтеза с применением языка VHDL в рамках САПР необходимо: -- создание библиотеки моделей поведенческого типа для проектируемых объектов в целом (для процессора -- последовательность микроопераций для выполнения команд процессора); -- создание библиотеки моделей компонентов -- конструктивных блоков разрабатываемого класса объектов (для процессора -- АЛУ, наборы регистров, счетчики, мультиплексоры и т. д.); -- разработка процедуры синтеза с указанием связей между поведенческими и структурными моделями (для процессора процедура синтеза должна включать и критерии выбора длины слова, способов организации алгоритмов выполнения отдельной команды, например, умножения

и т. д.) Литература 1. Берже Ж. М. и др. VHDL92. Новые свойства языка описания аппаратуры VHDL. Пер. с англ. М., Радио и связь. 1995. 2. Ле Фаоу К., Мермье Ж. Введение графов перехода языка СASCADE в язык VHDL. В кн.: VHDL для моделирования, синтеза и формальной верификации аппаратуры. Под ред. В. М. Михова. М., Радио и связь, 1995. С. 323--341. 3. Коттрелл Р. А. Проектирование специализированных БИС с помощью системы Silicon 1076. Там же. С.149--162. 4. Лундберг Л. Генерация VHDL-кода для моделирования и синтеза. Там же. С.163--177.

 
Все вопросы, замечания, предложения
aldec@aldec.com.ua
Ваш комментарий в гостевой книге

Copyright © 2001 Aldec, Inc
Этот сайт лучше всего просматривать используя IE 5.50 или Netscape 4.0 и выше

 

Содержание раздела