5 6
device. This device 205 will serve to locate all other NO REF role—A component (other than a MASTER
components in the group, and will act as a "handle" for component) that is not located relative to another compo
moving the group. nent. NO REF components are placed at arbitrary locations
All other components 210/220/225 connected to generic and located manually by the user. A NO REF component
master component 205 are connected in relation to the 5 wil1 not move when connected components are moved. A
master component. The master device 205, which is typi- NO REF role is only assigned to a component in the
cally defined to have variable pin spacing, is placed first, and relatively rare circumstance where any of the other roles
other devices are placed in relation to it as connections would create a confllct due to a clrcular reference,
require. When a master device is placed, all other connected 2D/3D placement of components: Electrical schematics
components (with the exception of NO REF components), have traditionally been a two-dimensional concept. The
moving outward from the master device, are direct or preferred embodiments provide a conventional 2D view and
indirect slaves to the master device. also have the capability of morphmg that view into a
three-dimensional schematic view, where electrical compo
SLAVE DOWN role-A component of any type that will nents afe displayed in their actual 3D product position
be located relative to the component above it in the net, as 15
. ,„ . , . , , f , . ,„,. „ Each component can have a 2D and a 3D coordinate
component 225 is located below master device 205. One . j -n It^ j- + • 1 1 t j -^ ^
^ . . . .„ , . „ ,. , assigned. The 2D coordinate is calculated with the auto
input pin on this component will be parametncally aligned lacement methodologV: ^ the 3D coordinate is retrieved
with the component above it, eventually leading to the from an ... g icaU ^ m used for
corresponding output pin on the device above it. A SLAVE duct degi FIQ 3 d ^ m e k illustration of
DOWN component will move when the component above it 20 a ... schematic view. is moved. In this example, all components located below the
master device 205 are in the SLAVE DOWN role, as their FIG; 4 dePlcts a flowchart of a process in accordance with
placementisdependentontheplacementofeachcomponent an embodiment of the present invention. First, the client
above them, leading to the master device 205. source ***** Ascribing the circuit requirements, is loaded in
-,f the data processing system (step 405). This file will typically
In FIG. 2, connections 215 are shown as arrows. Here, the fce ^ a dient. ific fomat
base of the arrow represents the anchor of the connection,
and the point of the arrow represents the slave component J Next, the system generates a standard-format schematic
that is positioned in reference to the anchor base of the definition file from the client-specific format (step 410). In
arrow. A connection 215 can be any known connector, such tms steP' the fta Posing system executes a script to
as a wire, a printed circuit board electrical path, or others. 30 generate or uPdate a standard format schematic file from the
Connection paths are defined according to rules that take pin cllent source data' Tms steP allows the generation Process to
directions and locations into account. Note that in the case be aPPlled,to a wlde ranf of circuit-requirement definition
of a wire, the wire itself can be treated as a separate format;- The resulting file provides a standard-form defim
component that follows the same placement rules described tlon of clrcmt component charactensties and required con
for other components. 35 nections. Of couree, lf the cllent data ls received ln a
, . , . standardized form this step can be omitted.
When multiple connections between two components are
made, as the connection between component 225 and master fil Next' the system analyzes the standard format schematic
device 205, the first connection is made from an anchor on fi e m accordance with a set of component rules to determine
the master component, thereby positioning the slave com- 4n Placef nt relationships of each component (step 415). The
ponent 225. Then, additional connections 240 are extended 4° mles here can mclude ... characteristics, component
from the slave component, now positioned relative to its dimensions and shapes, the input/output requirements of
master component. These additional connections do not each component, a definition of which pin on the component
affect the placement of the components. defines llf locatlon' a^ P°sltional requirements with rela
tion to other components, etc.
SLAVE UP role—A component 01 any type that will be 4S .
located relative to the component below it in the net. One The system then P^ces a schematic output file (step
output pin on this component will be parametrically aligned 420)' 'The schematic output file describes the appearance,
with the component below it, eventually leading to the locatlon' and behavlor of each component,
corresponding input pin on the device below it. In addition, Next, the system can optionally display a finished circuit
component 230 is also in a SLAVE UP role. A SLAVE UP 50 schematic corresponding to the schematic output file (step
component will move when the component below it is 425).
moved. In FIG. 2 A, all components shown above master Next, if necessary or desired, the system can receive user
device 205 are in the SLAVE UP role with relation to the edits of the schematic (step 430). If the auto placement of
component below them, leading to the master device 205. components is not optimal the system maintains associated
Note that multiple components can be linked in a chain, each 55 "stylers" that can be used to move components or change
in a master-slave positional relationship with another com- specific attributes. The system optionally receives edits
ponent, and that the chain can diverge and rejoin in accor- through the stylers interface,
dance with the topology described in the client source data. ThOse skilled in the art will recognize that, for simplicity
FIG. 2B, which corresponds to FIG. 2A, illustrates the and clarity, the full structure and operation of all data
behavior of components in a SLAVE UP relationship during 60 processing systems suitable for use with the present inven
an edit. In this case component 235 (corresponding to tion is not being depicted or described herein. Instead, only
component 220 in FIG. 2A) is moved to the right. The so much of a data processing system as is unique to the
SLAVE UP component above it moves along with it, and the present invention or necessary for an understanding of the
connection between component 235 and its master adjusts to present invention is depicted and described. The remainder
maintain the connectivity of the component pins. Note that 65 of the construction and operation of data processing system
the exact inverse of this behavior occurs in a SLAVE 100 may conform to any of the various current implemen
DOWN scenario. tations and practices known in the art.