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
/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