if-else

if-else

Если выражение в if принимает значение true, то будет выполнена первая инструкция. Если выражение принимает значение false и если существует блок else, то будет выполнен блок else.

Синтаксис

if (expression)
  [statement]

if (expression)
  [statement]
else
  [statement]

if (expression) begin
  [multiple statements]
end else begin
  [multiple statements]
end

if (expression)
  [statement]
else if (expression)
  [statement]
else
  [statement]

Пример

Результат исполнения

В SystemVerilog добавлены варианты unique и priority:

  • unique-if

  • unique0-if

  • priority-if

unique/priority

unique-if и unique0-if оценивают условия в любом порядке и выполняют следующие действия:

  • сигнализирует об ошибке, если ни одно из условий if не соответствует, если нет явного указания else.

  • сигнализирует об ошибке, если найдено более 1 совпадения в условиях if else

В отличие от unique-if, unique0-if не сообщает о нарушении, если ни одно из условий не соответствует.

Пример

Результат исполнения

priority-if оценивает все условия в последовательном порядке и сообщает, когда ни одно из условий не выполняется или если в окончательной конструкции if нет предложения else.

Last updated