Updating Types

Continuous Assignment

Assigns a net/variable continuously. Models from Verilog Combinational Sequence.

assign y = a & b // continuous (combinational)

Procedural Assignment

Assigning once, must be done within an always block

always_comb z = x+1 // procedural, combinational
always_ff @(posedge clk) q <= d // procedural, sequential

Blocking Types

Blocking

always @(...) out = in1 & in2 // blocking (combinational)

Non-Blocking

always @(...) out <= in1 & in2 // non-blocking (sequential)