Поведенческий процедурный оператор always

Изменения значений переменных или проводов могут использоваться в качестве события синхронизации для запуска выполнения других процедурных инструкций.

Операторы always выполняются непрерывно во время моделирования каждый раз, когда хотя бы один из его аргументов в списке чувствительности меняет значение. Имена входных сигналов разделяются ключевым словом or или символом , .

Токен @* добавляет в список чувствительности все провода и переменные, которые считываются операторами внутри always.

Синтаксис

/* Пример 1: always, реагирующий на все переменные в модуле */
always @* begin
  <выражения>
end

/* Пример 2: always выполняется, когда a || b == true */
always @(a, b) begin
  <выражения>
end

/* Пример 3: always выполняется, когда a || b || c == true */
always @(a or b or c) begin
  <выражения>
end

/* Пример 4: always, срабатывающий каждый такт */
always #1 begin
  <выражения>
end

Пример

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

Last updated