Interface Keyword (top-level)
module_name
Purpose
The interface keyword declares lower-level modules that are used in the
current source and defines the order and default values of their ports (signals).
This declaration is used in conjunction with a functional_block declaration for
each instantiation of the lower-level module.
Use
If the lower-level module uses the interface keyword to declare signals, the
top-level source interface statement must exactly match the signal listing.
Interface (lower-level source)
Interface - Declare Submodules for Hierarchical Designs
CAUTION: Interface declarations cannot contain dot extensions. If you need a specific
dot extension across a source boundary (to resolve feedback ambiguities, for
example), you must introduce an intermediate signal into the lower-level source
to provide the connection to the top-level source. All dot extension equations
for a given output signal must be located in the ABEL-HDL source in which the
signal is defined. No references to that signal's dot extensions can be made
outside of the ABEL-HDL source.
Note: When you instantiate a lower-level source in a top-level source, any signal
attributes (either explicit or implicit) are inherited by the top-level source
signals that map to the lower-level signals. Do not specify ISTYPEs for
instantiated signals.
Example
cnt4 interface (ce,ar,clk -> [q3..q0])
See Also