Patent Publication Number: US-7219318-B2

Title: System and method for verifying a layout of circuit traces on a motherboard

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to systems and methods for verifying layouts of circuit traces on motherboards, and particularly to a system and method for verifying a layout of traces on a motherboard by determining whether the traces have been placed sufficiently distant from split planes of the motherboard. 
   2. Related Art of the Invention 
   A motherboard is made with an N-layer PCB (printed circuit board) on which electronic components must be properly positioned to reduce or eliminate electromagnetic interference (EMI). EMI is an electrical disturbance in an electronics-based system such as a computer system. EMI is caused by phenomena such as high-frequency waves emitted from integrated circuits and other electronic components. Standards have been established which stipulate the maximum EMI which a device is permitted to emit. These are known as electromagnetic compatibility (EMC) standards. In the United States, the Federal Communications Commission sets limits on the EMI output of electronic components. Other countries also set their own limits on the EMI output of electronic components. Therefore, when an engineer designs a PCB, he/she must ensure that EMI emissions coming from the circuits positioned on the PCB are at or below the maximum levels allowed in relevant jurisdictions. 
   A crowded PCB generally has a number of split planes distributed thereon, whereby the split planes can potentially interfere with the intended flow of electrical current. If a current encounters a split plane, the current is liable to be diverted to other areas of the PCB that are full of electrical devices and cause EMI. To reduce or eliminate EMI, EMC standards specify minimum distances between a circuit and the split planes. Therefore when an engineer designs a PCB, he/she must take the applicable minimum distance(s) into account, and lay out the circuits to be at least the applicable minimum distance(s) away from each split plane. 
   Once the layout is designed, it must be verified to insure that circuits have been properly placed in order to reduce EMI. Traditional methods of verifying the layout rely heavily on sheer manpower, and cannot precisely check the distances between the circuits and the split planes. These methods are time consuming, and do not always prevent motherboards with inexact layouts being produced. Thus, there is a need to provide a system and method which are able to not only (i) automatically verify the distances between circuits and split planes, but also (ii) reduce or even eliminate EMI that arises from said distances being too short. 
   SUMMARY OF THE INVENTION 
   Accordingly, a main objective of the present invention is to provide a system and method for verifying a layout of circuit traces on a motherboard, which can automatically determine whether any traces have been placed too close to split planes of the motherboard, and thereby determine whether or not such placement is likely to result in EMI. 
   To achieve the above objective, a system for verifying a layout of circuit traces on a motherboard (hereinafter “the system”) is provided herein. The system comprises a computer, a database, and a connection connecting the computer with the database. The database comprises two logically separated storages: a standard layout data storage for storing a plurality of preset standard layout data on segments of traces and a preset standard length; and a actual layout data storage for storing actual layout data on the segments of the traces. The computer comprises: a substandard layout area creating module for creating substandard areas according the standard layout data and split planes next to a trace; a substandard segment data obtaining module for obtaining actual layout data on substandard segments placed in the substandard areas; a substandard length calculating module for calculating a length for each substandard segment of the trace, and adding up the lengths of the substandard segments of the trace to obtain a total length of the trace; and a satisfactory trace determining module for comparing the total length of substandard segments of the trace with the preset standard length, and determining whether the trace is satisfactory. 
   Further, the present invention provides a method for verifying a layout of a circuit trace on a motherboard, the method comprising the steps of: (a) obtaining preset standard layout data on segments of a trace and a preset standard length for the trace; (b) creating substandard areas according to the standard layout data on the trace and split planes next to the trace; (c) obtaining actual layout data on all substandard segments of the trace in the substandard areas; (d) calculating a length for each of the substandard segments; (e) adding up all the lengths of the substandard segments to obtain a total length; (f) determining whether the total length exceeds the preset standard length; and (g) generating a report about how to modify the trace if the total length exceeds the preset standard length. 
   These and other objects, advantages and novel features of the present invention will be drawn from the following detailed description of a preferred embodiment and method with reference to the appended drawings, in which: 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a schematic diagram of hardware infrastructure of a system for verifying a layout of circuit traces on a motherboard in accordance with the preferred embodiment of the present invention; 
       FIG. 2  is a schematic diagram illustrating a layout of a trace on a motherboard; 
       FIG. 3  is a schematic diagram of function modules of a programmable layout verifying apparatus of a computer of the system of  FIG. 1 ; and 
       FIG. 4  is a flowchart of a preferred method of the present invention for verifying a layout of a circuit trace on a motherboard. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 1  is a schematic diagram of hardware infrastructure of a system for verifying a layout of circuit traces on a motherboard (hereinafter, “the system”) in accordance with a preferred embodiment of the present invention. The system achieves its function of verifying the layout of traces on the motherboard by checking whether the traces have been placed sufficiently distant from split planes of the motherboard. If a distance between a trace and any of the split planes is shorter than a corresponding value (hereinafter referred to as “standard layout space”), the trace is regarded as being incorrectly placed. Commonly, a trace is constituted by a plurality of segments, each of which is assigned a unique identifier (ID). Therefore, verifying the layout of the traces can be realized by verifying the layout of the segments thereof. 
   The system comprises a computer  1 , a database  2 , and a connection  3  connecting the computer  1  with the database  2 . The connection  3  is a database connectivity, such as an Open Database Connectivity (ODBC) or a Java Database Connectivity (JDBC). The database  2  is used for storing data used and generated by the system, and comprises two logically separated storages: a standard layout data storage  21 , and an actual layout data storage  22 . The standard layout data storage  21  is used for storing preset standard layout data on the segments of the traces and a preset standard length for each trace. The standard layout data on each segment include a standard layout space, a standard width, and standard start coordinate values and end coordinate values of the segment. The actual layout data storage  22  is used for storing actual layout data on the segments of the traces. The actual layout data on each segment includes an identifier (ID), a actual width, and actual start coordinate values and end coordinate values of the segment. The computer  1  comprises a programmable layout verifying apparatus  10 , which can examine a layout of the traces on the motherboard to obtain actual layout data on substandard segments, calculate a total length for the substandard segments of each trace, and determine whether the total length of the substandard segments exceeds the preset standard length for the trace stored in the standard layout data storage  22 . 
     FIG. 2  is a schematic diagram illustrating a layout of a trace on a motherboard  4 . The motherboard  4  comprises an N-layer printed circuit board (PCB)  40 . A plurality of circuit traces  401 , a plurality of split planes  402 , and a plurality of areas  403  having a same voltage (hereinafter referred to as “same voltage areas  403 ”) are distributed on the PCB  40 . According to the preferred embodiment, the split planes  402  used herein include areas such as dielectric-filled moats  4021  between two same voltage areas  403 , a plurality of etched areas  4022 , and a board edge  4023 . For simplicity, only one trace  401 , two same voltage areas  403  and one etched area  4022  are shown in  FIG. 2  and described hereinafter. Generally, to avoid EMI (electromagnetic interference), each segment of the trace  401  must be placed a minimum distance away from the split planes  402 , the minimum distance being at least a distance of a standard layout space. If any segment is not so placed, the segment is considered as a substandard segment, and can be included in a substandard area. 
     FIG. 3  is a schematic diagram of function modules of the programmable layout verifying apparatus  10 . The programmable layout verifying apparatus  10  comprises a substandard layout area creating module  101 , a substandard segment data obtaining module  102 , a substandard segment length calculating module  103 , and a satisfactory trace determining module  104 . The substandard layout area creating module  101  is used for creating substandard layout areas according to the standard layout data stored in the standard layout data storage  21  and split planes  402  next to a trace  401 . The substandard segment data obtaining module  102  is for obtaining the actual layout data on substandard segments placed in the substandard areas of the trace  401 . The substandard length calculating module  103  is for calculating a length for each substandard segment according to actual start coordinate values and end coordinate values of the substandard segment, and adding up all the lengths of the substandard segments to obtain a total length. The satisfactory trace determining module  104  is for determining whether the trace  401  is satisfactory, by comparing the total length of the substandard segments with a preset standard length. If the total length of the substandard segments is less than or equal to the preset standard length, the trace  401  is considered as satisfactory. Otherwise, the trace  401  is considered as unsatisfactory. If the trace  401  is unsatisfactory, the computer  1  generates a report about the unsatisfactory trace  401 , advising designers how to modify the layout of the substandard segments. 
     FIG. 4  is a flowchart of a preferred method for verifying a layout of a circuit trace  401  on the motherboard  4 . In step S 400 , the substandard layout area creating module  101  obtains standard layout data on segments of the trace  401  from the standard layout data storage  21 . In step S 401 , the substandard layout area creating module  101  creates substandard layout areas according to the standard layout data on the segments and split planes  402  next to the trace  401 . In step S 402 , the substandard segment data obtaining module  102  obtains actual layout data on all the substandard segments of the trace  401  in the substandard layout areas, including an ID, a layout space, and actual start coordinate values and end coordinate values of each substandard segment. In step S 403 , the substandard length calculating module  103  calculates a length for each substandard segment according to the actual start coordinate values and the end coordinate values of the substandard segment. In step S 404 , the substandard length calculating module  103  calculates a total length of the substandard segments by adding up the lengths of all the substandard segments. In step S 405 , the satisfactory trace determining module  104  determines whether the total length of the substandard segments exceeds a preset standard length. If the total length of the substandard segments does not exceed the preset standard length, the trace  401  is satisfactory, and the procedure is finished. Otherwise, if the total length exceeds the standard length, the trace  401  is unsatisfactory, and in step S 406 , the computer  1  generates a report about the unsatisfactory trace  401 . The report advises corresponding designers how to modify the layout of the substandard segments. The procedure is then finished. 
   Although the present invention has been specifically described on the basic of a preferred embodiment and a preferred method, the invention is not to be construed as being limited thereto. Various changes and modifications may be made to the embodiment and method without departing from the scope and the spirit of the invention.