pullUpInterface method

InterfaceReference<PairInterface> pullUpInterface(
  1. InterfaceReference<PairInterface> subModuleIntf, {
  2. String? newIntfName,
  3. bool allowIntfUniquification = true,
  4. Set<String>? exceptPorts,
  5. String portUniquify(
    1. String logical,
    2. String physical
    )?,
})

Creates a hierarchical connection by pulling an interface up from a submodule.

This method creates a copy of subModuleIntf at this module level and establishes the necessary port connections through the module hierarchy. It's useful for exposing submodule interfaces at higher levels.

The newIntfName provides a preferred name for the new interface, defaulting to the original name. The allowIntfUniquification controls whether to allow automatic name resolution. The exceptPorts specifies a set of port names to exclude from the new interface, and portUniquify provides a function to generate unique port names during the process.

The operation automatically handles port name uniquification across hierarchy levels, interface role preservation, and connection establishment between hierarchy levels.

Returns a reference to the newly created interface on this module.

Implementation

InterfaceReference pullUpInterface(InterfaceReference subModuleIntf,
        {String? newIntfName,
        bool allowIntfUniquification = true,
        Set<String>? exceptPorts,
        String Function(String logical, String physical)? portUniquify}) =>
    _pullUpInterfaceAndConnect(subModuleIntf,
        newIntfName: newIntfName,
        allowIntfUniquification: allowIntfUniquification,
        exceptPorts: exceptPorts,
        portUniquify: portUniquify);