Computer aided design of printed wiring boards
A method is described for the computer-aided layout of printed wiring boards. The type of board considered is a single sided board containing discrete components. The required input for the layout algorithm is coded from the relevant circuit diagram, together with a description of the component dimensions. This information is then stored within the computer in a data structure. The circuit components and their interconnections are represented by a set of nodes and branches. The principles of graph theory are used to construct an abstract model of the layout. A number of the nodes and branches of the circuit are first used in the construction of a planar graph. A method is then described for inserting the remaining branches into the graph to form a "pseudo planar graph". This represents a set of components and conductor paths which can be laid out on a single sided board without intersections. The number of conductor crossings is thus minimised before the actual layout commences. An algorithm is then described for automatically constructing a board layout from the pseudo planar graph. The relative interconnections are already known so the placement of components and routing of conductor paths can proceed simultaneously. The layout is therefore constructed in a series of logical steps working across from one edge of the board to the other. This approach contrasts with the more usual methods of layout in which components are placed first, followed by a search for conductor routes. The layout algorithm is also provided with facilities for man-machine interaction by means of a graphical display and light pen. Interaction allows the user to alter the positions of components during the construction of the layout. Thus the skill and experience of the user can be combined with the speed and accuracy of the automatic algorithm. Interaction also enables special conditions to be incorporated into the layout which would otherwise entail considerable programming effort. Three different circuits are used to test the layout algorithm. The results are shown for layouts constructed both automatically and by the use of interaction. One layout is also compared with a manually-produced layout of the same circuit. The results show that a feasible method has been developed for the layout of printed wiring boards by computer. Comparable results are produced in considerably less time than normal layout methods.