← ProblemsVerilog Language / Procedures

Always blocks (combinational)

64%procedures

Combinational logic can be written two equivalent ways: with a continuous assign, or inside a combinational always block always @(*).

Build an AND gate both ways:

  • drive out_assign with an assign statement
  • drive out_alwaysblock from an always @(*) block

Two rules to remember: a signal assigned inside an always block must be declared reg (already done in the port list), and assign statements must not appear inside always blocks — inside a block you just write out_alwaysblock = a & b;.