A method for identifying unit pin positions initially assigned in a
hierarchical VLSI design that, if implemented, would increase the net
length of the net of which the unit pins are a part. To identify unit
pins, where the unit pin position assigned by the unit designer turns out
to be a poor choice of position when the unit is integrated into the top
level design, a "flat" file is created of the completed VLSI design with
the units positioned on the chip, including their pin placements as
assigned by the unit designers. The flat file includes not only top level
unit data and unit-to-unit net data, but also macro data and macro net
data integral to each unit design. The flat design data file is used to
generate two pin logs; one pin log includes the incremental lengths of
each net including the incremental lengths associated with the unit pins
(if any) assigned by the designers of the units. The other pin log is the
same, except it does not include the unit pins and the incremental net
length associated with the unit pins. A commercially available program,
for example, a Minimum Spanning Tree (MST) program or a Steiner Minimal
Tree program is run against every net; once against the nets in the pin
log list that includes the pins assigned by the designers of the units,
and once against the nets in the pin log list that does not include
assigned unit pins. The output of interest of the MST (or similar program)
run against the net files with and without pin assignments is a text file
containing the net names, number of pins per net with and without unit
pins and the difference between the net lengths with and without unit pin
assignments. If the difference exceeds a threshold value, that net is
identified so that the unit pins can be reassigned by the unit designer or
designers.