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/09/02 16:23]
cparker
pcb:drc [2018/09/23 13:48]
cparker
Line 1: Line 1:
 This page will serve to document the design rule checker. This is presently documented "​as-is"​. This page will serve to document the design rule checker. This is presently documented "​as-is"​.
 +
 +For work tasks, see the [[https://​blueprints.launchpad.net/​pcb/​+spec/​drc|LaunchPad blueprint]].
 +
 +The DRC code makes extensive use of the [[pcb:​connection_lookup | "​connection lookup"​]] code.
  
 ===DRC Violations=== ===DRC Violations===
Line 28: Line 32:
     - Apply a global bloat of value 0, and build a connection list with global "​drc"​ set to true.     - Apply a global bloat of value 0, and build a connection list with global "​drc"​ set to true.
   ​   ​
-  ​+===To Do List=== 
 +DRC tests: 
 +  * Go through the DRC code for different kinds of violations to check that all possible code paths are being tested 
 +  * Generate graphical output for the DRC report 
 +  * Generate LaTeX output for the DRC report (wishlist!) 
 +  * Figure out what else uses the "​ConnectionLookup"​ code and write tests so that we don't break anything else as we're reworking the DRC 
 + 
 +DRC backend work: 
 +  * Separate the DRC code from the "​ConnectionLookup"​ code. 
 +  * Get rid of the "​drc",​ "​User",​ and "​AndDraw"​ parameters. (Still trying to figure out what the implications of this would be) 
 +  * Factor all of the different DRC tests into separate functions so that they can be executed individually. 
 +  * Have DRC functions operate on "​DataType"​ objects so that you can selectively apply the DRC to, say, the objects in the buffer 
 +  * Work through more of Peter C's work to see how much of it we should incorporate (home/​cparker/​peterc_drc,​ he has quite a bit of good stuff here, but I'd like to include it intelligently instead of just picking the commits.) 
 + 
 +DRC interface:​ 
 +  * Create a DRC panel in the preferences window that allows for adjusting settings (possibly with image descriptions of the violations) and running specific tests individually 
 +  * Figure out what the lesstif HID requirements are for the DRC code (it works differently,​ presenting violation by violation) 
 + 
 +DRC bugs: 
 +  * Highlight both offending objects instead of just one^^^ 
 +  * Find more than one "​insufficient overlap"​ or "​insufficient gap" per pin/​pad/​via^^^ 
 +  * Check for duplicate DRC errors before appending a new one (can happen if more than one pin is connected to an object) 
 +  * On MacOS the images in the DRC window of the GTK HID are garbled
pcb/drc.txt · Last modified: 2020/06/28 12:37 by cparker