Язык AHDL

       

Оператор Assert


Оператор Assert позволяет проверять действительность выражений арбитражного характера, в которых используются параметры, числа, оценочные функции, а также статусные состояния портов (используется порт или не используется)

Следующий пример демонстрирует использование оператора Assert:

ASSERT (WIDTH > 0)

            REPORT           "Ширина (%) должна быть положительным целым" WIDTH

            SEVERITY                     ERROR

            HELP_ID                       INTVALUE;       

-- for internal Altera use only

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

За ключевым словом ASSERT следует  арифметическое выражение, в необязательном порядке заключенное в круглые скобки. Когда выражение принимает значение ‘ложь’, строка - сообщение, следующая за ключевым словом REPORT, выводится в текстовом процессоре .При отсутствии условного выражения  строка сообщения выводится безусловно.

За ключевым словом REPORT следует строка сообщения и необязательные параметры, представленные переменными. Строка сообщения заключается в двойные кавычки и может содержать символы  %  , которые замещаются  значениями соответствующих переменных. Если ключевое слово REPORT не используется  и при этом  значение выражения арбитражного характера  принимает значение ‘ложь’, то  в текстовом процессоре выдается следующее сообщение:

<severity>: Line <line number>, File <filename>: Assertion failed

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

За необязательным ключевым словом SEVERITY следует уровень  строгости ERROR, WARNING или INFO. По умолчанию предполагается уровень строгости ERROR.

Ключевое слово HELP_ID и строка - подсказка поддерживается в некоторых поставляемых фирмой Altera функциях и зарезервировано для внутреннего использования фирмой Altera.

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

Оператор Assert может использоваться внутри раздела Logic или за пределами других разделов языка AHDL.



Содержание раздела