Assignment
Assignment statement is variable = expression;
.
Unlike SystemVerilog, assignment operator is =
in both always_comb
and always_ff
.
There are other assignment operators:
+=
: addition assignment-=
: subtraction assignment*=
: multiplication assignment/=
: division assignment%=
: remainder assignment&=
: bitwise AND assignment|=
: bitwise OR assignment^=
: bitwise XOR assignment<<=
: logical left shift assignment>>=
: logical right shift assignment<<<=
: arithmetic left shift assignment>>>=
: arithmetic right shift assignment
module ModuleA (
i_clk: input clock,
) {
let a: logic<10> = 1;
var b: logic<10>;
var c: logic<10>;
var d: logic<10>;
var e: logic<10>;
always_comb {
b = a + 1;
c += a + 1;
}
always_ff (i_clk) {
d = a + 1;
e -= a + 1;
}
}