МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
МАИ
Кафедра №303
МОДЕЛИРОВАНИЕ ЛОГИЧЕСКИХ СХЕМ И ТРИГГЕРОВ
НА ЯЗЫКЕ ОПИСАНИЯ АППАРАТУРЫ VHDL
Методическое пособие по выполнению лабораторных работ
Пособие разработано студентами кафедры 303
под руководством Ушакова А.Н.
Москва
2010 г.
Введение
Пособие предназначено для использования в процессе лабораторных и практических занятий по дисциплине «Цифровые вычислительные устройства и микропроцессоры приборных комплексов» и состоит из четырёх тематических работ. В описании каждой работы лабораторного практикума приведены краткие теоретические сведения, практическое задание, требования к содержанию отчёта и контрольные вопросы для самопроверки.
Лабораторный практикум преследует две взаимосвязанные цели:
- изучение возможностей языка описания аппаратуры VHDL как одного из эффективных способов программирования ПЛИС;
- приобретение навыков самостоятельной работы с современными средствами разработки программного обеспечения для ПЛИС и овладение используемой при этом терминологией.
Лабораторный практикум имеет следующую структуру. Лабораторная работа № 1 является введением в вопросы разработки программного обеспечения для ПЛИС и моделирования в системе ModelSim. Лабораторные работы № 2–4 посвящены изучению вопросов программирования различных структур и логических элементов для ПЛИС на языке VHDL и их моделирования.
Лабораторные работы выполняются на персональных компьютерах в интегрированной среде разработки ModelSim PE Student Edition или ModelSim ALTERA STARTER EDITION·.
В связи с широким распространением в современной инженерной практике англоязычной технической литературы и программного обеспечения в пособии приведены английские эквиваленты основных терминов.
Пособие написано на основе опыта разработки устройств на базе ПЛК, накопленного в Отделе автоматизации экспериментов МАИ.
Работа №1. Описание и моделирование системы логических функций.
Основные сведения о языке VHDL
Язык VHDL был разработан в США по инициативе министерства обороны во второй половине 1980-х. В 1987 году он был принят в качестве стандарта ANSI/IEEE Std 1076-1987. Затем язык претерпел несколько модернизаций. Самая новая версия языка датируется 2002 годом. В то же время самой новой версией, используемой в САПР, является версия 1993 года. Сегодня язык VHDL является фактическим стандартом в области автоматизированного проектирования цифровых систем.
Цифровая система может быть описана на языке VHDL двумя способами: с помощью структурного описания или с помощью поведенческого описания.
Структурное описание – описание системы в виде совокупности компонент и связей между ними. Компоненты структурного описания могут сами состоять из нескольких компонент более низкого уровня иерархии.
Поведенческое описание – описание, которое задаёт алгоритм, реализуемый системой.
Проект на языке VHDL в общем случае можно представить в виде дерева (см. рис. 1).
Рис. 1. Пример дерева проекта.
Компоненты (или объекты) проекта могут быть простыми или сложными. Простые компоненты называются примитивами и всегда находятся в конце каждой ветки дерева проекта. Сложные компоненты называются объектами, могут находиться на верхнем и промежуточных уровнях иерархии, имеют в своём составе другие объекты и/или примитивы.
Каждый компонент проекта состоит из следующих частей (см. рис. 2):
- пакет (необязательно);
- интерфейс объекта проекта (entity);
- архитектурное тело (architecture).
Интерфейс объекта проекта – описание входных и выходных портов компонента проекта.
Архитектурное тело – описание, определяющее непосредственное поведение компонента проекта (тогда компонент является примитивом) или являющееся структурной декомпозицией на более мелкие компоненты (тогда компонент является объектом).
Рис. 2. Структура компонента проекта
В архитектурном теле могут присутствовать следующие элементы:
- декларации компонент, внутренних сигналов и т.д.;
- параллельные операторы, в том числе:
o оператор конкретизации компонента;
o оператор генерации;
o операторы процессов;
o и др.;
- декларации переменных;
- последовательные операторы:
o оператор назначения сигнала;
o оператор ожидания;
o и др.