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]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

module if_else_tb;
  int x = 4;
  initial begin
    if (x == 3)
      $display("x is %0d", x);
    else if (x == 5)
      $display("x is %0d", x);
    else
      $display("x is neither 3 nor 5");
  end
endmodule

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ исполнСния

x is neither 3 nor 5

Π’ SystemVerilog Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ unique ΠΈ priority:

  • unique-if

  • unique0-if

  • priority-if

unique/priority

unique-if ΠΈ unique0-if ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ условия Π² любом порядкС ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

  • сигнализируСт ΠΎΠ± ошибкС, Ссли Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· условий if Π½Π΅ соотвСтствуСт, Ссли Π½Π΅Ρ‚ явного указания else.

  • сигнализируСт ΠΎΠ± ошибкС, Ссли Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 1 совпадСния Π² условиях if else

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ unique-if, unique0-if Π½Π΅ сообщаСт ΠΎ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΈ, Ссли Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· условий Π½Π΅ соотвСтствуСт.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

module tb;
  int x = 4;

  initial begin
    unique if (x == 3)
      $display ("x is %0d", x);
    else if (x == 5)
      $display ("x is %0d", x);
    else
      $display ("x is neither 3 nor 5");

    unique if (x == 3)
      $display ("x is %0d", x);
    else if (x == 5)
      $display ("x is %0d", x);
  end
endmodule

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ исполнСния

x is neither 3 nor 5
ncsim: *W,NOCOND: Unique if violation:  Every if clause was false.
            File: ./testbench.sv, line = 18, pos = 13
           Scope: tb
            Time: 0 FS + 1

priority-if ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ всС условия Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ порядкС ΠΈ сообщаСт, ΠΊΠΎΠ³Π΄Π° Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· условий Π½Π΅ выполняСтся ΠΈΠ»ΠΈ Ссли Π² ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ конструкции if Π½Π΅Ρ‚ прСдлоТСния else.

Last updated