Method and apparatus for creating a circuit design. An object-oriented program
instantiates a plurality of objects that model a circuit design. The objects have
hierarchy attributes, connectivity attributes, and display attributes that describe
a plurality of modules. The hierarchy attributes define parent-child relationships
between modules, the connectivity attributes define input-output connections between
modules, and the display attributes define a layout of the modules for viewing.
Each of the objects has an associated method for generating a design specification
in a selected format. When the program is executed, the design specification is
generated from the set of objects. Depending on the capabilities of the available
tools, the modules and logic elements are displayed in accordance with the display
attributes either from the object-oriented program or from the design specification.