Menu
Coddy logo textTech

If - Else

Часть раздела Основы путешествия по Verilog на Coddy. Урок 53 из 90.

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

Инструкция if-else даёт вашему коду точку принятия решения: выполнить одно действие, если условие истинно, и другое — если условие ложно.

Синтаксис:

if (condition) begin
  // Выполняется, когда условие истинно (1)
end else begin
  // Выполняется, когда условие ложно (0)
end

Простой пример

if (reset) begin
  count = 0;
end else begin
  count = count + 1;
end
  • Если reset равно 1 → count становится равным 0
  • Если reset равно 0 → count увеличивается на 1

Несколько операторов

Используйте begin и end, когда у вас больше одного оператора:

if (enable) begin
  out = data_in;
  valid = 1;
end else begin
  out = 0;
  valid = 0;
end

If-Else с несколькими условиями

Вы можете объединять операторы if-else в цепочку:

if (a > b) begin
  max = a;
end else if (b > a) begin
  max = b;
end else begin
  max = a;  // a и b равны
end

Важные правила

ПравилоОбъяснение
else необязателенМожно использовать if без else
else относится к ближайшему ifБудь внимателен при вложении
Используй begin/end для нескольких операторовТребуется, если строк больше одной
challenge icon

Задание

Что нужно сделать:

  1. Add пропущенное выражение if-else, чтобы это заработало.
  2. Когда enable равно 1, out should быть equal a & b.
  3. Когда enable равно 0, out should быть equal a | b.

Попробуйте сами

module ifelse_challenge;
  reg a, b, enable;
  reg out;
  
  initial begin
    a = 1;
    b = 0;
    enable = 1;
    
    // TODO: Добавьте оператор if-else
    // Если enable равен 1: out = a & b
    // Иначе: out = a | b
    
    $display("out = %d (should be 0 because 1&0=0)", out);
    $finish;
  end
endmodule
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Verilog