By definition, combinational circuits are circuits where the output depends on values of present circuit inputs, i.e., it is a function of the inputs. Contrast this with sequential circuits.

Common combinational circuits include:

Within Verilog, there is nothing particularly unusual about implementing combinational circuits. Whenever we use an always block, we should just express the sensitivity list with an asterisk:

always@(*)