Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
Гостиница “Калининград” класса три звезды является крупнейшей в городе. Она удобно расположена в деловом центре города и располагает номерами, способн...полностью>>
'Образовательный стандарт'
Конкретные виды профессиональной деятельности, к которым в основном готовится бакалавр, определяются высшим учебным заведением совместно с обучающимис...полностью>>
'Рабочая программа'
Обращение к культуре прошлого — это не измена своей культуре, а дополнение и обо­гащение ее Понять современную эпоху, ее величие, ее значение можно т...полностью>>
'Анализ'
в) «Модели построения здоровьесберегающего образовательного пространства, действующие системы, эффективные формы и технологии сохранения здоровья дете...полностью>>

Главная > Реферат

Сохрани ссылку в одной из сетей:
Информация о документе
Дата добавления:
Размер:
Доступные форматы для скачивания:

МОСКОВСКИЙ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ

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

Факультет КИБЕРНЕТИКИ

Кафедра «Компьютерные системы и технологии»

Б.Н. Ковригин

ПРОЕКТИРОВАНИЕ АРИФМЕТИКО-ЛОГИЧЕКОГО УСТРОЙСТВА НА VHDL

МОСКВА 2004

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 4

1. ВЫБРАННЫЕ МЕСТА ИЗ ОПИСАНИЯ ЯЗЫКА VHDL 6

Структура описания объекта проекта 6

Интерфейс объекта проекта 7

Синтаксис 7

Тип сигнала 7

Пример 8

О правилах записи программы 9

О чем можно не беспокоиться 9

Описание архитектуры объекта 9

Синтаксис 9

Параллельные операторы 10

Стили описания архитектур 11

Элементы потокового проектирования 12

Безусловное параллельное присваивание 12

Условное параллельное присваивание 14

Параллельное присваивание по выбору 15

Элементы поведенческого проектирования 17

Последовательный сигнальный оператор присваивания и оператор

присваивания значения переменной 18

Последовательный оператор if 19

Последовательный оператор case 20

Особенности проектирование последовательностных схем 22

VHDL-стандарты IEEE 24

Пакеты std_logic_arith, std_logic_signed u std_logic_unsigned 25

Библиотеки и пакеты 26

2. ПРОЕКТИРОВАНИЕ АРИФМЕТИКО-ЛОГИЧЕСКОГО УСТРОЙСТВА

НА VHDL 28

Исходные данные 28

Составление программной модели АЛУ 31

Объявление интерфейса АЛУ 33

Раздел деклараций архитектуры АЛУ 33

Раздел операторов архитектуры АЛУ 34

Алгоритм функционирования схемы пуска и останова SPO 34

Алгоритм функционирования датчика состояний DS 35

Алгоритм функционирования счетчика циклов COUNTER 35

Алгоритм функционирования регистров первого и второго операнда 36

Алгоритм функционирования регистра результата RSM 36

Алгоритм функционирования регистра признака результата PR 37

Алгоритм функционирования комбинационных схем K1S и K2S 37

Алгоритм функционирования сумматора и комбинационной схемы SKO 38

Программная модель АЛУ 38

3. ВВОД И ОТЛАДКА ОПИСАНИЯ ПРОЕКТИРУЕМОГО УСТРОЙСТВА 41

Открытие нового проекта 41

Ввод описания проектируемого устройства 41

Создание нового документа с помощью Design Wizard 42

Ввод описания архитектуры объекта с использованием Language Assistant 46

Сохранение документа 48

Проверка синтаксиса 48

Редактирование текста описания 49

Синтез проекта 50

Создание VHDL макроса 50

Отладка модели АЛУ 50

Моделирование макроэлемента АЛУ 51

Коррекция VHDL описания макроэлемента АЛУ 52

Подготовка схемы для размещения её на кристалле 53

ПРИЛОЖЕНИЕ Пакет std logic_arith 54

ЛИТЕРАТУРА 55

ВВЕДЕНИЕ

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

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

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

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

Отличительные особенности языка VHDL:

  • Проектируемые устройства можно иерархически разбивать на составные элементы.

  • Каждый элемент устройства имеет ясно очерченный интерфейс (для соединения его с другими элементами) и точное функциональное описание (для его моделирования).

  • Функциональное описание может быть основано на алгоритме, либо на реальной структуре, которыми определяется работа элемента. Например, первоначально можно описать работу элемента посредством алгоритма, и это сделает возможной верификацию элементов более высокого уровня, в которых используется данный элемент; позднее алгоритмическое определение можно заменить структурной схемой.

  • Можно моделировать: параллелизм, временные соотношения и синхронизацию тактовыми сигналами. На языке VHDL можно описать как асинхронные, так и синхронные последовательностные структуры.

  • Можно моделировать выполняемые устройством логические действия и его временные характеристики.

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

Хотя язык VHDL и его среда моделирования сами по себе были важными нововведениями, квантовый скачок полезности и популярности языка VHDL произошел с появлением коммерческих программных средств синтеза на основе VHDL. Применяя эти средства, можно строить логические схемы непосредственно из описания их работы на языке VHDL. С помощью VHDL разрабатывается, моделируется и синтезируется все, что угодно, от простой комбинационной схемы до законченной микропроцессорной системы в одном кристалле.

Важнейшей особенностью данного этапа является то, что VHDL-программа должна быть написана на подмножестве VHDL, называемом синтезируемым подмножеством, т.е. таком подмножестве, в рамках которого возможна схемная реализация конструкций языка (операторов, типов данных и т.д.). Синтезируемое подмножество языка VHDL описано в стандарте Р1076.6 (IEEE P1076.6/D1.12 Draft Standard For VHDL Register Transfer Level Synthesis, 1998). Стандарт определяет те конструкции языка, которые могут быть реализованы определенными логическими схемами. Стандарт ориентирован на единообразность описания (и понимания) алгоритмических конструкций в различных САПР, что должно обеспечить переносимость проектов цифровых систем из одной системы проектирования в другую.

Стандарты языка VHDL

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

VHDL '87. Язык VHDL был разработан в США по инициативе министерства обороны этой страны как язык спецификации проектов с целью обеспечения единообразного понимания подсистем различными проектными группами. Удобство и относительная универсальность конструкций этого языка достаточно быстро привели к созданию программ моделирования систем на основании их описания в терминах VHDL.

В 1987 г. VHDL был принят в качестве стандарта ANSI/IEEE Std 1076-1987. Данный стандарт часто называют VHDL'87 [23].

VHDL'93 соответствует стандарту ANSI/IEEE Std 1076-1993, который появился в 1993 г. Данный стандарт ориентирован на проектирование цифровых систем и поддерживается в настоящее время основными промышленными системами моделирования и синтеза.

VHDL-AMS соответствует стандарту Std 1076.1-1999 и включает расширения, дающие возможность описания моделей аналоговых и смешанных (цифро-аналоговых) схем.

ЧТО ТАКОЕ VHDL?

VHDL означает "VHSIC Hardware Description Language" («язык описания схем на основе VHSIC»). В свою очередь, VHSIC (Very High Speed Integrated Circuit, интегральная схема с очень высоким быстродействием) было названием программы поддержки Министерством обороны США исследований в области высокоэффективной интегральной электроники.

Рассмотренное в данном пособии подмножество языка VHDL является весьма ограниченным, но вполне достаточным для выполнения поставленной задачи, а главное, оно является синтезируемым подмножеством.

Синтезабельное подмножество VHDL определено стандартом IEEE P1076.6.

1. ВЫБРАННЫЕ МЕСТА ИЗ ОПИСАНИЯ ЯЗЫКА VHDL

Структура описания объекта проекта

Описание объекта проекта на языке VHDL имеет типовую структуру и содержит две части:

объявление объекта (entity declaration) и

определение архитектуры (architecture definition)

В декларативной части (entity declaration) описывают связи объекта с внешним миром — входы и выходы объекта. Это, прежде всего, спецификация интерфейса описываемого объекта. В описании архитектуры (architecture definition) определяют функцию (поведение) либо структуру объекта. Рис. 1.1 иллюстрирует этот принцип.

Рис. 1.1. Графический вид структуры объекта проекта

В текстовом файле на языке VHDL объявление объекта (entity declaration) и определение архитектуры (architecture definition) разделены, как это показано на рис. 1.2.

Рис. 1.2. Общий вид файла программы на языке VHDL

Объявление объекта в языке VHDL можно считать «оболочкой» архитектуры, скрывающей детали того, что находится внутри, но обеспечивающей «зацепки» для других модулей, использующих данный модуль. Эта идея служит основой иерархического подхода к проектированию систем: архитектура верхнего уровня может использовать (или «обрабатывать») другие объекты, оставляя архитектурные детали объектов нижнего уровня скрытыми от объектов более высокого уровня.

Интерфейс объекта проекта

Синтаксис

В табл. 1.1 представлен синтаксис объявления объекта. Целью объявления объекта, помимо присвоения объекту имени, является определение сигналов внешнего интерфейса или портов (ports) в части объявления объекта, которая называется объявлением портов (port declaration).

Таблица 1.1

Синтаксис объявления объекта на языке VHDL

entity entity-name is

port (signal-names : mode signal-type;

signal-names : mode signal-type;

. . .

signal-names : mode signal-type);

end entity-name;

Обратите внимание, что после заключительного signal-type нет точки с запятой; изменение порядка следования закрывающей скобки и точки с запятой после нее - типичная синтаксическая ошибка программиста, начинающего писать на языке VHDL.

Кроме ключевых слов entity, is, port и end, объявление объекта содержит следующие элементы:

entity-name

выбираемое пользователем имя объекта;

signal-names

список выбираемых пользователем имен сигналов внешнего интерфейса, состоящий из одного имени или из большего числа имен, разделенных запятой;

mode

одно из четырех зарезервированных слов, определяющих направление передачи сигнала:

in

сигнал на входе объекта;

out

сигнал на выходе объекта; заметьте, что значение такого сигнала нельзя «прочитать» внутри структуры объекта; он доступен только объектам, использующим данный объект;

buffer

сигнал на выходе объекта; в отличие от сигнала out его значение можно читать также внутри структуры данного объекта;

inout

сигнал, который может быть входным или выходным для данного объекта; обычно этот режим используется применительно к входам/выходам схем с тремя состояниями;

signal-type

встроенный или определенный пользователем тип сигнала.

Тип сигнала

Каждому сигналу (а также переменной и константе) в программе на языке VHDL необходимо поставить в соответствие тип (type). Типом определяется множество или диапазон значений, которые может принимать данный элемент, и обычно имеется набор операторов (таких как сложение, логическое ИЛИ и т.д.), связываемых с данным типом.

Поскольку язык VHDL используется для представления аппаратных проектов в самых разных вариантах, средства типизации данных приобретают здесь особо важное значение. Например, они дают разработчику возможность представить группу проводников шины в виде:

  • массива битов,

  • целого числа.

В языке VHDL есть несколько предопределенных типов (predefined types), которые поддерживают программы синтеза; они перечислены в табл. 1.2. В дальнейшем в пособии будут использованы только следующие предопределенные типы: bit, bit_vector и integer.

Таблица 1.2

Предопределенные синтезируемые типы данных языка VHDL

bit boolean character

bit_vector integer

Тип integer определяет диапазон значений целых чисел, который простирается от -231 до +231 -1. Данные типа bit принимают значения из множества {'0', '1'}. Битовое представление может быть громоздким, поэтому в ряде случаев целесообразно использовать векторное представление bit_vector.

Встроенные операторы для типов integer и bit приведены в табл. 1.3.

Таблица 1.3

Предопределенные операторы для типов integer и bit в языкe VHDL

Операторы для типа integer

Операторы для типа bit

+

сложение

not

инверсия

-

вычитание

and

И

*

умножение

or

ИЛИ

/

деление

nand

И-НЕ

mod

деление по модулю

nor

ИЛИ-НЕ

rem

остаток от деления по модулю

хоr

ИСКЛЮЧАЮЩЕЕ ИЛИ

abs

абсолютное значение

хпоr

ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ

**

возведение в степень

В языке VHDL реализована строгая типизация. Это означает, что смешение различных типов в одной операции является ошибкой. Средства строгого контроля типов играют ответственную роль, поскольку позволяют уточнить намерения разработчика.



Похожие документы:

  1. Оправилах вежливого поведения во время общения, во время разго­вора

    Документ
    НОУ «СОШ № 46» ОАО «РЖД» «О ПРАВИЛАХ ВЕЖЛИВОГО ПОВЕДЕНИЯ ВО ВРЕМЯ ОБЩЕНИЯ, ВО ВРЕМЯ РАЗГОВОРА» (урок риторики в 1 классе) Учитель: Подгорнова Н.П. МАКУШИНО Тема: О правилах вежливого поведения во время общения, во время разго­вора. Цель: Воспитывать ...

Другие похожие документы..