PCB designers often use electronic design automation to produce a layout. The EDA program stores design information, facilitates editing the design, and can also automate repetitive design tasks.
The first stage is converting the circuit schematic into a net list. The net list is conceptually a list of component pins and the circuit nodes, or nets that each pin connects to. Often the schematic capture EDA program, operated by a circuit design engineer, is responsible for netlist generation, and the netlist is imported into the PCB layout program.
第一阶段，将电路图转档成一个网络表netlist.网表是元件pin脚和电路节点的概念性列表，或者每个pin脚连接到的网络名net。通常上一个线路设计工程师会用原理图Capture 这个EDA程序，负责生成网表netlist.然后网表就被导进PCB layout程序中。
The next step is to decide the position of each device. The easy way to do this is to specify a grid of lettered rows and numbered columns where the devices should go. The computer then assigns pin 1 of each device in the bill of materials to a grid location. Typically, the operator may assist the automated placement routine by specifying rooms, or specific regions of the circuit boards, where certain groups of components should be placed. For example, the parts associated with a power supply subcircuit might be assigned to a region near the power input connector. In other cases devices may be manually placed, either to optimize the electrical performance of the circuit, or to place components such as knobs, switches, and connectors as required by the mechanical design of the system.
The computer then explodes the device list into a complete pin list for the circuit board by using templates from a library of footprints associated with each type of device. Each footprint is a map of a device's pins, usually with a recommended pad and drill hole layout for each device. The library allows the footprint to be drawn only once, and then shared by all devices of that type.
In some systems, high-current pads are identified in the device library, and the associated nets are flagged for attention by the PCB designer. High current runs require wider traces, and the designer or circuit design engineer usually decides the width.
The computer program then merges the netlist (sorted by pin name) with the pin list (sorted by pin name), transferring the physical coordinates of the pin list to the netlist. The netlist is then resorted, by net name.
Some systems can optimize the design by swapping the positions of parts and logic gates to reduce the length of copper runs. Some systems also automatically discover power pins in the devices, and generate runs or vias to the nearest power plane or conductor.
The programs then try to route each net in the signal-pin list, finding some sequence of connections in the available layers. Often layers are assigned to power and ground, with one layer to vertical, and another to horizontal wires. The power layers shield the circuits from noise.
The routing problem is equivalent to the traveling salesman problem, and is therefore NP complete, and therefore not amenable to a perfect solution. One practical routing algorithm is to pick the pin farthest from the center of the circuit boards, then use a greedy algorithm to select the next-nearest pin with the same signal name.
After automated routing, usually there is a list of nets that must be manually routed.
Once routed, the system may have a series of strategy subroutines to reduce the production cost of the PCB. For example, one routine might remove unneeded vias (each via is a drill hole, and costs money to make). Another might round edges of conductor runs, and widen or move runs apart to maintain safe spacing. Another strategy might adjust large copper areas so that they form nets, or large blank areas may get unconnected "checks" of copper. The nets and checks reduce pollution by extending the life of the etching bath, and speed production by evening-out the copper concentration in the etching bath.
Some systems provide design rule checking to validate the design for electrical connectivity and clearance, rules for circuit board manufacture, assembly and test, heat flow and other errors.
The silk-screen, solder mask, and solder paste stencil(s) are often designed as auxiliary layers.
Finally, the copper layers are then converted to Gerber files, a format of numerical control file for a photoplotter. Historically, an additional aperture file was required to link each numerically designated aperture referred to in the Gerber file with an actual shape to be plotted. Newer Gerber files embed the aperture information in the Gerber file itself. The hole locations are encoded in drill files. The drill files may be sorted to minimize drill-head movement time, and bit changes.
|Processed in 0.062033 second(s)|