СТРУКТУРА ПРОГРАММЫ. ХОД ВЫПОЛНЕНИЯ ПРОЕКТА НА ЯЗЫКЕ VHDL



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

<первичный модуль>::=

<декларация ENTITY>| <декларация пакета>|<декларация конфигурации>

<вторичный модуль>::=<архитектурное тело>|<тело пакета>

Декларация ENTITY – определяет имя проекта и , необязательно, его интерфейс, т.е. порты и параметры настройки. Подчиненное архитектурное тело описывает тем или иным способом функционирование устройства и (или) его структуру.

Пакет – набор объявлений вводимых пользователем типов, переменных, констант, подпрограмм. Декларация пакета определяет только смысл глобальных для проекта идентификаторов. Тело пакета содержит расшифровку порядка вычисления процедур и функций пакета, определение локальных имен.

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

Ход выполнения проекта на основе VHDL состоит из ряда этапов:

- составление блок-схемы (Базовым элементом описания систем на языке VHDL является блок. Блок содержит раздел описаний данных и раздел параллельно исполняемых операторов. Частным случаем блока является описание архитектуры объекта. В рамках описания архитектуры могут использоваться внутренние, вложенные блоки);

- написание программы (с помощью редактора editor);

- компиляция (compiler);

- моделирование/верификация (simulator);

- синтез;

- компоновка, размещение, разводка;

- проверка временных соотношений;

Один способ описания функции – описание как модуль состоит из субмодулей.

Каждый субмодуль (G, H, I) – экземпляр-объект. Порты субмодулей соединены с помощью сигналов. Этот вид описания называется структурным.

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

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


КЛЮЧЕВЫЕ СЛОВА И ПОЛЬЗОВАТЕЛЬСКИЕ ИДЕНТИФИКАТОРЫ ЯЗЫКА VHDL

Зарезервированные ключевые слова – это заранее составленные комбинации букв, имеющие определенное значение: abs, begin, case, downto, is, port, variable, xor, else, type, process и др.

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

Идентификаторы используются для написания элементов VHDL модели.

Написание идентификаторов должно подчиняться следующим правилам:

- идентификатор включает только буквы латинского алфавита от «А» до «Z», «a» «z»; цифры от 0 до 9;

- идентификатор должен начинаться с символа алфавита

- идентификатор не может заканчиваться символом подчеркивания "_";

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

- идентификатор должен начинаться с буквы;

- идентификатор не может содержать двух последовательных символов подчеркивания"__";

Жирным шрифтом выделяются зарезервированные (ключевые) слова.

Примеры корректных идентификаторов cont, clock2, full_add

Примеры некорректных идентификаторов 1 clock, _adder, add, sub, entity

Следует отметить, что прописные и строчные буквы не различаются, т.е. идентификаторы clock и CLOCK являются эквивалентными.

Расширенные идентификаторы (extended) – которые состоят из любых символов в любом порядке. Они включаются для организации связи между различными САПР для обработки VHDL описаний. (могут включать в себя любую последовательность символов, заключенную в / /)

\ data bus\ \пример АЛУ\

Если надо использовать символ \ в идентификаторе, то его удваивают \\.


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

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






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