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

Оператор Constant позволяет ввести в применение информативное символическое имя для числа или арифметического выражения. Следующие примеры демонстрируют использование оператора Constant:

CONSTANT UPPER_LIMIT = 130;

CONSTANT BAR = 1 + 2 DIV 3 + LOG2(256);

CONSTANT FOO = 1;

CONSTANT FOO_PLUS_ONE = FOO + 1;

Оператор Constant имеет следующие характеристики:

  • Оператор Constant начинается с ключевого слова CONSTANT, за которым следует символическое имя, затем символ (=) и далее число (при необходимости, включая его основание) или арифметическое выражение.

  • Оператор Constant заканчивается символом (;).

  • После того, как константа была определена, она может быть использована в пределах всего текстового файла проекта (TDF). В примере, приведенном выше, в разделе Logic можно использовать константу UPPER_LIMIT для представления десятичного числа 130.

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

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

При использовании оператора Constant необходимо соблюдать следующие правила:

  • Константа может быть использована лишь после того, как она определена.

  • Имена констант должны быть уникальными.

  • Имя константы не должно содержать пробелов. Для разделения слов в имени константы и улучшения восприятия имен констант следует пользоваться символом подчеркивания.

  • Оператор Constant может использоваться произвольное количество раз в рамках одного текстового файла проекта.

  • Oператор Constant должен быть расположен за пределами других разделов языка AHDL.

  • Константы, используемые для определения других констант, должны быть определены ранее.

  • Использование циклических ссылок недопустимо. Следующий пример демонстрирует использование недопустимой циклической ссылки:

CONSTANT FOO = BAR;

CONSTANT BAR = FOO;