In digital hardware design, combinational circuits are circuits where the output depends on values of present inputs, i.e., it is a function of the inputs. Contrast this with sequential circuits, which are functions of past and present inputs.
Common combinational circuits include:
Implementation
In Verilog, there is nothing particularly unusual about implementing combinational circuits. Whenever we use an always block, we should describe the sensitivity list with an asterisk:
In SystemVerilog, we can use always_comb
to denote a block of circuitry that is solely combinational, i.e., it cannot hold any sequential circuitry.