Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс.DOC
Скачиваний:
32
Добавлен:
16.04.2019
Размер:
1.48 Mб
Скачать

8.10.3. Синтаксическая организация проекта

Описание проекта на языке VHDL строится по следующей типовой схеме: в его начале указываются библиотеки функциональных элементов содержимое которых будет исполь- зоваться в проекте (Librаry Declaration), далее при необходимости следуют описания пакетов (Package Declaration) и их тела (Package Body), далее обязательно следуют описания объектов ( Entity Declaration) которые будут использованы как компоненты проектируемого устройства, и раздел архитектуры (Architecture Declaration) который может быть представ- лен в структурном, поведенческом или смешанном вариантах.

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

8.10.4. Общеалгоритмическая составляющая языка

Как уже отмечалось, общеал горитмическая составляющая языка VHDL семантически соответствует обычным языкам программирования, несколько нестандартным является только синтаксис некоторых операторов. Это же касается и определенных в языке типов данных. Большинство типов данных языка совпадает с типами данных, используемых обыч- ными алгоритмическими языками. Основным проблемно-ориентированным типом данных является физический тип (Physical).

Все операторы языка VHDL делятся на две основные группы: последовательные операторы (Sequential Statement) и параллельные операторы (Concurrent Statement). Параллельные операторы связаны с проблемно-ориентированой составляющей языка и рас смотрены несколько ниже. Назначение последовательных операторов и определяемые ими действия практически полностью соответствуют операторам языков высокого уровня. Исключение составляют лишь два оператора: оператор ожидания (Wait Statement) и оператор назначения сигнала (Signal Assignment). К последователым операторам относятся следующие операторы:

• оператор присвоения значения переменной (Variable Assingment);

• условный оператор (if);

• оператор выбора (Case);

• оператор цикла (Loop) а также связанные с ним оператор перехода к следующей итерации цикла (Next) и оператор выхода из цикла (Exit);

• пустой оператор (Null);

• оператор вызова процедуры (Procedure Call) и оператор возврата из процедуры(Return);

• оператор формирования сообщения (Assertion);

• оператор назначения сигнала (Signal Assignment);

• оператор ожидания (Wait);

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

Синтаксические правила оформления последовательных операторов и некоторые пояснения к их использованию приводятся в приложении.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]