Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебники / Язык AHDL.DOC
Скачиваний:
56
Добавлен:
13.06.2014
Размер:
995.84 Кб
Скачать
        1. Объявления псевдоимен конечных автоматов.

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

FUNCTION ss_def (clock, reset, count)

RETURNS (MACHINE ss_out);

VARIABLE

ss : MACHINE;

BEGIN

ss = ss_def (sys_clk, reset, !hold);

IF ss == s0 THEN

ELSIF ss == s1 THEN

END;

Процедура объявления псевдоимени конечного автомата имеет следующие характеристики:

  • Псевдоним представляет собой символическое имя. За псевдонимом следует символ двоеточия и далее ключевое слово MACHINE. В примере, показанном выше, символическое имя ss является псевдонимом конечного автомата.

  • Предусмотрена возможность импортирования и экспортирования конечных автоматов между текстовыми файлами проектов, а также другими файлами проектов путем определения входных и выходных портов с использованием ключевых слов MACHINE INPUT или MACHINE OUTPUT в разделе Subdesign.

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

  • Декларация псевдонима конечного автомата заканчивается символом (;).

  • Порты типов MACHINE INPUT и MACHINE OUTPUT не могут использоваться в файлах проектов верхнего уровня.

      1. Раздел Logic

Раздел Logic определяет логическое функционирование текстового файла проекта (TDF) и является собственно его телом. В этом разделе могут быть многократно использованы следующие операторы и разделы:

  • Булевские выражения.

  • Управляющие булевские выражения.

  • Оператор Case.

  • Оператор Defaults.

  • Оператор If Then.

  • Оператор If Generate

  • Оператор If Generate

  • Оператор таблицы истинности

  • Раздел Logic может также содержать оператор Assert.

Раздел Logic заключается в ключевые слова BEGIN и END. За ключевым словом END следует символ (;), заканчивающий раздел. Если используется оператор Defaults, то он должен предшествовать всем другим операторам в этом разделе.

AHDL является параллельным языком. Компилятор анализирует поведенческую модель, описанную в разделе Logic, параллельно. Выражения, осуществляющие множественные присваивания объекту, имеющему тип NODE или переменной, объединяются в соответствии с функцией монтажное ИЛИ.