Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка по VHDL_2012 весна.doc
Скачиваний:
14
Добавлен:
11.09.2019
Размер:
8.84 Mб
Скачать

МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ

(ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)

МАИ

Кафедра №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. Структура компонента проекта

В архитектурном теле могут присутствовать следующие элементы:

  • декларации компонент, внутренних сигналов и т.д.;

  • параллельные операторы, в том числе:

    • оператор конкретизации компонента;

    • оператор генерации;

    • операторы процессов;

    • и др.;

  • декларации переменных;

  • последовательные операторы:

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

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

    • и др.