Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AHDL.doc
Скачиваний:
19
Добавлен:
08.11.2018
Размер:
869.89 Кб
Скачать

Министерство образования и науки Российской Федерации

Новосибирский государственный технический университет

_____________________________________________________________________

004 № 3203

О-753

Основы языка

описания аппаратуры AHDL и САПР MAX+PLUS II

Методические указания к лабораторным работам,

расчетно-графическому заданию и курсовой работе по курсу

«Основы микропроцессорной техники»

для студентов IV курса РЭФ

(направление 210200 и специальность 210404) дневного отделения

Новосибирск

2006

УДК 004.43(076.5)

О-753

Составители: А.В. Кривецкий, канд. техн. наук, доц.

К.А. Куратов, канд. техн. наук, доц.

Рецензент А.Н. Денисов, доц.

Работа подготовлена на кафедре конструирования

и технологии радиоэлектронных средств

© Новосибирский государственный

технический университет, 2006

Предисловие

Программируемые логические интегральные схемы (ПЛИС) представляют одно из самых интересных и быстро развивающихся направлений современной цифровой микроэлектроники. Сложность проектов, реализуемых на базе ПЛИС, постоянно растет, появляются более ресурсоемкие кристаллы, содержащие огромное количество эквивалентных вентилей и дополнительных встроенных блоков. Из-за сложности реализуемых проектов графический ввод принципиальной схемы не позволяет быстро реализовывать подобные устройства, требует значительных трудозатрат, неудобен в «отладке» и редактировании. Большие возможности предоставляют языки описания аппаратуры (Hardware Description Languages, HDL). В данных методических указаниях описываются основы языка Altera HDL, ориентированного на микросхемы ПЛИС фирмы Altera, являющейся одним из лидеров в данной области. Это достаточно простой язык, он компактен, легок в изучении и применении, но тем не менее позволяет реализовывать проекты любого уровня сложности.

1. Структура проекта на ahdl

Разделы и операторы (табл.1) языка AHDL описываются в том порядке, в котором они следуют в текстовом файле проекта (TDF - Text Design File).

Таблица 1

Оператор

Title

оператор названия

Оператор

Parameters

оператор задания параметров

Оператор

Include

оператор включения

Оператор

Constant

оператор задания константы

Оператор

Define

оператор задания оценочной функции

окончание табл. 1

Оператор

Function Prototype

оператор прототипа функции

Оператор

Options

оператор вариантов

Оператор

Assert

оператор проверки выражения

Раздел

Subdesign

Раздел описания портов

Раздел

Variable

Раздел описания переменных

Раздел

Logic

Раздел описания функционирования проекта

Текстовой файл проекта на языке AHDL должен содержать как минимум два раздела: Subdesign и Logic. Все остальные разделы и операторы необязательны.

Оператор TITLE

позволяет внести в текстовый файл проекта комментарий, который в дальнейшем будет помещен в файл отчета (Report File), генерируемый компилятором.

Пример: TITLE "My device"

Оператор PARAMETERS

позволяет определять один и более параметров.

Пример:

PARAMETERS

(

FILENAME = "myfile.mif"

DATA_WIDTH

ADDDRESS_WIDTH = 8

)

Оператор INCLUDE

позволяет импортировать текст из файла с расширением .inc в текущий файл.

Пример: INCLUDE "lpm_add_sub.inc"

Оператор CONSTANT

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

Пример: CONSTANT MAX_COUNT = 94

Оператор DEFINE

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

Пример: DEFINE MAX(a, b) = (a > b) ? a : b;-- если a > b, то функции присваивается значение a, в противном случае – b.

Оператор FUNCTION PROTOTYPE

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

Альтернативой оператору Function Prototype в файле проекта является оператор Include. Он используется для подключения файлов с расширением .inc, содержащих прототипы используемых функций.

Пример:

FUNCTION compare (a[3..0], b[3..0]) RETURNS (less, equal, greater),

FUNCTION DFF (clk, d, clrn, prn) RETURNS (q);-- модифицированный примитив D-триггера.

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