МЕТОДЫ ОПИСАНИЯ ПОВЕДЕНИЯ ЦИФРОВЫХ СХЕМ



VHDL поддерживает широкий набор задач, возникающих при проектировании. Он обеспечивает возможность описания устройств с различной степенью детализации и в различных формах, начиная от внешнего описания общих принципов функционирования до предоставления в форме элементарных цифровых компонентов (вентилей и триггеров). Разрешается представление через алгоритм функционирования в форме, близкой к традиционным алгоритмическим языкам. В тоже время присутствуют средства, описывающие проект как набор компо­нентов и связей между ними, допустимы и смешанные формы описаний. Поэтому обеспечивается возможность организации проектной процедуры как последовательной декомпозиции абстрактных спецификаций. Значительное место в языке отведено средствам моделирования, позволяющим быстро обнаруживать ошибки и сравнивать альтернативные варианты до сравнительно дорогостоящей фактической реализации проекта. Все это уменьшает объем рутинной работы, "позволяя разработчику концентрироваться на стратегических решениях и сократить время достав­ки изделия на рынок".

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

Языки бывают: VHDL, Verilog, AHDL, C – подобные языки.

Существует несколько разновидностей языка VHDL: AHDL, VHDL, VerilogHDL, Abel и др. Известны случаи использования стандартных языков программирования, например С, для описания структуры БИС.

Особенности языка VHDL :

Проектируемое устройство можно разбивать на иерархичные элементы

Каждый элемент имеет ясно описанный интерфейс и точное функциональное описание для его моделирования

Можно моделировать параллелизм, временные соотношения, синхронизация тактовыми сигналами

Можно описывать синхронные и асинхронные процессы последовательной структуры

Можно моделировать выполняемые устройством в целом логические действия и его последовательные структуры.


ЯЗЫК ОПИСАНИЯ СХЕМ VHDL , ОПИСАНЫЕ ПОНЯТИЯ

Язык VHDL был разработан в США в начале 80-х годов как язык спецификации проектов с целью обеспечения единообразного понимания подсистем различными проектными группами. В настоящее время трудно найти САР, которая не воспринимает описания устройств на VHDL. VHDL поддерживает широкий набор задач, возникающих при проектировании.

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

- общеалгоритмический компонент, определяющий набор типов данных и операторов, обеспечивающих общее описание алгоритма функциониро­вания;

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

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

При описании синтаксиса языка VHDL используются следующие правила:

- ( ) заключают в себе последовательность элементов, любой из которых может присутствовать в определении.

- | отделяет отдельные элементы списка, любой из которых может присутствовать в конкретном определении

- {} заключают в себе последовательность элементов, которые не обязательно должны присутствовать

- жирным шрифтом выделяются зарезервированные слова

В языке VHDL присутствуют следующие лексические элементы:

- комментарии. Часть строки после двух знаков «--«

- идентификаторы (могут содержать символы алфавита от А до Z и от а до z, цифры, символы подчеркивания)

- расширенные идентификаторы (могут включать в себя любую последовательность символов, заключенную в / /).

- числа (могут использоваться целые и действительные числа)

- строки (содержимое строки заключается в двойные кавычки)

Общеалгоритмическая компонента 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. Такими пакетами могут быть объявление интерфейса объекта проекта entity, объявление архитектуры architecture, объявление конфигурации configuration, объявление интерфейса пакета package и объявление тела пакета package body.

Модули проекта, в свою очередь, можно разбить на две категории: первичные и вторичные. К первичным пакетам относятся объявления пакета, объекта проекта, конфигурации. К вторичным– объявление архитектуры, тела пакета. Один или несколько модулей проекта могут быть помещены в один файл, называемый файлом проекта (design file).

Каждый проанализированный модуль проекта помещается в библиотеку проекта (design library) и становится библиотечным модулем (library unit).

Каждая библиотека проекта в языке VHDL имеет логическое имя (идентификатор).

По отношению к сеансу работы с VHDL-системой существует два класса рабочих библиотек проекта: рабочие библиотеки и библиотеки ресурсов.

Рабочая библиотека– это библиотека WORK, с которой в данном сеансе работает пользователь и в которую помещается пакет, полученный в результате анализа пакета проекта.

Библиотека ресурсов – это библиотека, содержащая библиотечные модули, ссылка на которые имеется в анализируемом модуле проекта.

В каждый конкретный момент времени пользователь работает с одной рабочей библиотекой и произвольным количеством библиотек ресурсов.

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

Так же, как в описаниях проектируемых систем разделяются описания интерфейсов и тел, в VHDL у пакета разделяются описание интерфейса и тела пакета. По умолчанию предусмотрено подключение стандартных пакетов STANDART и TEXT 10. Пакет STANDART, в частности, содержит описание булевских операций над битовыми данными и битовыми векторами. Нестандартные пакеты реализуются пользователями, желающими более точно отобразить свойства описываемых ими объектов. Например, можно в пользовательском пакете переопределить логические операции И, ИЛИ и НЕ и перейти от булевского (0, 1) к многозначному (1, 0, X, Z) алфавиту моделирования.

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

· понятие модельного времени now.

· данные типа time, позволяющие указывать время задержки в физических единицах

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


Дата добавления: 2020-04-08; просмотров: 211; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!