Тернарный оператор

Оператор ? :, выполняющий if-then-else конструкцию внутри выражения. Если первый аргумент true, то результатом данного оператора будет второе выражение (после ?); если первый аргумент false, то третье выражение (после :); иначе X.

Пример

// <условие> ? < если выражение истинно> : <если выражение ложно>
 module ternary_operator_tb;
  reg [7:0] a, b, c;
  initial begin
    a = 8'd4; b = 8'd5; c = (a == b) ? 8'd1 : 8'd0;
    // d = (a != b) ? 8'd1; // ошибка компиляции
    $display("a = %0d; b = %0d; c = %0d", a, b, c);
  end
endmodule

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

a = 4; b = 5; c = 0

Last updated