
- •8.4. Средства и методы разработки программного обеспечения
- •8.4.2. Программные средства поддержки проектирования/
- •8.5.1. Программные системы моделирования
- •8.5.2. Прототипные платы
- •8.5.3. Эмуляторы пзу
- •8.5.4. Внутрисхемные эмуляторы
- •8.5.5. Интегрированные среды разработки (оболочки)
- •8.6.1. Программаторы
- •8.6.2. Логические анализаторы
- •8.6.3. Встроенные в мп средства отладки
- •8.7. Операционные системы реального времени
- •8.8. Jtag-интерфейс и системные функции на его основе
- •8.9. Процедура проектирования и сведения
- •8.9.2. Последовательность проектирования для бис пл
- •8.10. Базовые сведения о языке vhdl
- •8.10.1. Исторический обзор и проблемная ориентация языка
- •8.10.2. Базовые понятия языка и архитектура программ
- •8.10.3. Синтаксическая организация проекта
- •8.10.4. Общеалгоритмическая составляющая языка
- •8.10.5. Проблемно составляющая языка
- •8.10.6. Структурное описание
- •8.10.7. Описание поведения
- •8.11. Описание проектов на языке vhdl примеры, иллюстрирующие основные конструкции vhdl
- •8.11.1. Структурное описание
- •8.11.2. Поведенческое описание
- •8.11.3. Сравнение структурного и поведенческого способов
- •8.11.4. Описание типовых фрагментов вычислительной техники
- •8.12. Пример автоматизированного проектирования
- •Описания аппаратуры
- •8.12.1. Варианты реализации и выбор элементной базы
- •8.12.2. Проектирование бис пл
- •8.12.3.Разработка микропроцессорной системы
- •8.12.4. Особенности процедуры проектирования
- •Этап 1. Этап конфпгурпрованпя аппаратных ресурсов кристалла
- •Этап 3. Разработка программной части проекта
- •Этап 4. Кодовая симуляция и отладка
- •Этап 5. Компиляция и создание объектного кода
- •Этап 7. Загрузка проекта
- •Этап 8. Натурная отладка проекта
- •9.1. Архитектуры с разделяемой общей памятью
- •9.2. Архитектуры с распределенной областью памяти
- •9.3. Матричные системы
- •9.4. Машины, управляемые потоком данных
- •9.5. Систолические системы
- •9.6. Обобщенная архитектура параллельных систем
- •Глава 1. Основы микропроцессорной техники
- •Глава 2. Процессоры общего назначения и системы на их основе
- •Глава 4. 8-разрядные микроконтроллеры
- •Глава 5. Коммуникационные микроконтроллеры и системы на их основе
- •Глава 7.Программируемая логика и ее применение в микропроцессорных системах
- •Глава 8. Проектирование мпс
- •8.4. Средства и методы разработки программного обеспечения
- •8.4.1. Средства индивидуальных и интегрированных пакетов
- •Глава 9. Архитектуры параллельных вычислительных систем
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);
Последовательные операторы выполняются втой последовательности, в которой они записаны (за исключением результирующего значения сигнала после исполненного опера тора назначения сигнала), и тем самым порядок их перечисления соответствует установ лению причинно-следственных связей между последовательными предложениями. С Точки зрения изменения во времени, все события, описываемые совокупностью последовательных операторов, выполняются одновременно. Таким образом, совокупность последовательных операторов отражает алгоритм, в соответствии с которым могут быть получены из входных состояний объектов программы выходные состояния объектов. Подобное по ведение последовательных операторов заставило разработчиков языка ввести ограничение на допустимое расположение последовательных операторов. Последовательные операторы могут появляться только внутри параллельного оператора — оператора процесса другое место, где могут встретиться последовательные операторы, это внутренность тел подпрограмм или функций, однако на вызов этого последовательного оператора процедуры или функции накладываются ограничения характерные для любого последовательного оператора.
Синтаксические правила оформления последовательных операторов и некоторые пояснения к их использованию приводятся в приложении.