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
pcb:drc [2018/09/02 16:23]
cparker
pcb:drc [2018/09/23 13:48] (current)
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.1535919790.txt.gz · Last modified: 2018/09/02 16:23 by cparker