In addition to signals, there can also be tasks and functions inside the interface. This
lets you create tasks specific to that interface. Interfaces can be parameterized. In
the previous example, data1
and data2
were both 10-bit
vectors, but you can modify those interfaces to be any size depending on a parameter
that is set.