Can include functionality & built-in protocol checking.
Several modules often have many of the same ports.
Interfaces : to encapsulate communication and facilitate “Communication Oriented” design
a sequence of conditions that span multiple clock cycles.
$isunknown() returns true if any bit of the expression is ‘x’.
$inset (, ) returns true if the first expression is equal to at least other expression argument.
$onehot0() returns true if at most one bit of expression is low.
assert (a ) returns true if only one and only one bit of expression is high. always clock) a = a + 1 // blocking assignment always clock) begin. Pass and Fail statements in strobed assertions must not create more events at that time slot or change values. If immediate assertion is triggered by a timing control that happens at the same time as a blocking assignment to the data being tested, there is a risk of the wrong value being sampled.