User Tools

Site Tools


pcb:drc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
pcb:drc [2018/08/05 19:04]
cparker
pcb:drc [2018/09/02 16:23]
cparker
Line 1: Line 1:
-This page will serve to document the design rule checker.+This page will serve to document the design rule checker. This is presently documented "​as-is"​.
  
 ===DRC Violations=== ===DRC Violations===
Line 15: Line 15:
  
 ===Process=== ===Process===
-Presently, the violations are identified in find.c, and then appended to a list in either ​the lesstif or gtkhid.+Presently, the violations are identified in find.c, and then appended to a list in the gtk hid. In the lesstif ​and batch hids, you get a pop-up window ​or a text prompt that describes the error. 
 + 
 +Executing the DRC() action will wipe out the selected, found, and DRC flags on most objects, although, apparently not elements. 
 + 
 +  - Execute the DRC() action. 
 +  - Generate the "DRC doesn'​t catch everything"​ warning. 
 +  - Save layer state and turn on all layers. 
 +  - Clear the FOUNDFLAG, DRCFLAG, and SELECTEDFLAG on all objects. DRC uses these flags to find errors. 
 +  - InitConnectionLookup -- This resets all of the lists that are used for building the connectivity map. 
 +  - For every element pin, pad, and via, execute DRCFind. DRCFind builds a connection list starting from the given     ​pin/​pad/​via four times. See below for a more detailed description of that process (if I get around to writing it). 
 +    - Apply a global bloat of value "​Shrink",​ and build a connection list, with global drc set to false. This will set the DRCFLAG and SELECTEDFLAG on every object that is touching the given pin/​pad/​via. 
 +    - Apply a global bloat of value 0, and build a connection list with global "​drc"​ set to true. 
 +   
 +  ​
pcb/drc.txt · Last modified: 2020/06/28 12:37 by cparker