A software product comprising instructions, stored on computer-readable media, wherein the instructions, when executed by a computer, perform steps for determining a highest level signal name in a hierarchical circuit design, comprising:
- instructions for tracing a signal path into a hierarchically lower level of circuit design from a predetermined net in the circuit design to a predetermined terminal instance, while adding indicia, to an instance history list, of each subsequent instance encountered during tracing;
- instructions for determining a port instance associated with a selected net for which the highest level signal name is to be determined;
- instructions for designating, as the current net, the selected net;
- and
- for each stored indicia in the instance history list:
- instructions for determining a current net on the current port instance;
- and
- instructions for determining a next current port instance on the last instance that is an instantiation of the port connected to the current net;
- and
- if a condition exists wherein there is no connection from the current net to a hierarchically higher level instance, then instructions for establishing the current net as the highest level signal name for the selected net.