Physical Design Language

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:

Agree, shouldn’t add information to component definition directly to specify which pins are high speed pins, power pins, which one must be length matched or impedance matched