Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.sm.bmstu.ru/sm5/n4/oba/gl4.html
Дата изменения: Thu Feb 15 17:43:25 2007
Дата индексирования: Mon Oct 1 18:46:38 2012
Кодировка: Windows-1251

Поисковые слова: rainbow
СМ5 : Глава 4. Язык описания аппаратуры VHDL
 

Глава 4. Язык описания аппаратуры VHDL
Стешенко В.Б.


4.1.Общие сведения

Языки описания аппаратуры (Hardware Description Language), является формальной записью, которая может быть использована на всех этапах разработки цифровых электронных систем. Это возможно вследствие того, что язык легко воспринимается как машиной, так и человеком он может использоваться на этапах проектирования, верификации, синтеза и тестирования аппаратуры также как и для передачи данных о проекте, модификации и сопровождения. Наиболее универсальным и распространенным языком описания аппаратуры является VHDL. На этом языке возможно как поведенческое, так структурное и потоковое описание цифровых схем.

Язык VHDL используется во многих системах для моделирования цифровых схем, проектирования программируемых логических интегральных микросхем, базовых матричных кристаллов, заказных интегральных микросхем

С точки зрения программиста язык VHDL состоит как бы из двух компонент - общеалгоритмической и проблемно-ориентированной.

Общеалгоритмическая компонента VHDL- это язык, близкий по синтаксису и семантике к современным языкам программирования типа Паскаль, C и др. Язык относится к классу строго типизированных. Помимо встроенных (пакет STANDART) простых (скалярных) типов данных: целый, вещественный, булевский, битовый, данных типа время, данных типа ссылка (указатель) пользователь может вводить свои типы данных (перечислимый, диапазонный и др.).

Помимо скалярных данных можно использовать агрегаты: массивы array, в том числе и битовые векторы bit_vector, и символьные строки string, записи record, файлы file.

Последовательно выполняемые (последовательные) операторы VHDL могут использоваться в описании процессов, процедур и функций. Их состав включает:

  • оператор присваивания переменной (:=);
  • последовательный оператор назначения сигналу (<=);
  • последовательный оператор утверждения (assert);
  • условный (if);
  • выбора (case);
  • цикла (loop);
  • пустой оператор (null);
  • оператор возврата процедуры- функции (return);
  • оператор последовательного вызова процедуры.

Язык поддерживает концепции пакетного и структурного программирования. Сложные операторы заключены в операторные скобки: if- end if; process- end process; case- end case; loop- end loop и т. д.

Различаются локальные и глобальные переменные. Область 'видимости' локальных переменных ограничена пределами блока (процессного, процедурного, оператора блока, оператора описания архитектуры).

Фрагменты описаний, которые могут независимо анализироваться компилятором и при отсутствии ошибок помещаться в библиотеку проекта (рабочую библиотеку Work),называются проектными пакетами design unit