next up previous contents
Next: Input and output declarations Up: Modules Previous: Module declarations   Contents

Instantiations

To create a three-bit counter, we can now write, for example:

        clear : boolean;
        count : array 2..0 of boolean;
        carry : array 3..0 of boolean;

        bit0 : counter_bit(carry[0], clear, count[0], carry[1]);
        bit1 : counter_bit(carry[1], clear, count[1], carry[2]);
        bit2 : counter_bit(carry[2], clear, count[2], carry[3]);

Here, three instances of the module ``counter_bit'' are created. These instances have names ``bit0'', ``bit1'', ``bit2''. Each instance is, in effect, a copy of the definitions in module ``counter_bit''. However, all the signal names referenced in the instance are prefixed with the instance name, so that they are unique to that instance. For example, the signals in module instance ``bit0'' are:

        bit0.carry_in
        bit0.clear
        bit0.bit_out
        bit0.carry_out



2002-10-28