From @ouabache on Tue Mar 20 2018 16:08:57 GMT+0000 (UTC)
Most modern PCB’s require a number of engineering notes in addition to the schematic in order to create a functional board. LibrePCB should develop a Physical Design Language so that that designer can create these notes in a machine readable form that can pass directly to the layout programs DRC Checks.
It should cover:
differential pairs
hi-current traces
hi-voltage traces
impedance controlled traces
component placement requirements
grid or power plane requirements
guard trace requirements
???
Some of these can be handled with attributes. Assign a VOLTAGE attribute to each net and set a value. If it exceeds a threshold then the layout program can run a DRC check on the spacing to its neighboring traces.
Others will require that the engineer define a “leg” and set a rule. For example I will define a leg between the power pin of an IC and the power connection to it’s decoupling Cap and then set a rule that the length of this leg must be less than .2". If the cap is not placed next to the IC then the DRC check will fail.
A leg can be given a current value that will fail if its trace is not wide enough to carry that much current.It will fail if you try to pass it through a single via without enough copper for the current.
What do we need to do?
Have a way to attach a name,value attribute to each net.
Have a way to assign a leg name to any segment of a net
Have a way to pass a list of rules to the layout DRC checks.
John Eaton
Copied from original issue: https://github.com/LibrePCB/librepcb-rfcs/issues/10