Feature request: Better support for impedance matching
Description
Differential Pair settings currently on pages "Net Classes" and "Pre-defined Sizes" are rarely valid for boards with 6 or more layers since those layers usually do not show similar intrinsic impedance for traces of same dimensions. To accomodate for this I therefore propose the following changes to Board Setup->Design Rules:
-
"Pre-defined Sizes"->"Differential Pairs": This pane should include a Layers column making it possible to select one or more layers on which each class are to be deployed.
-
"Net Classes": The DP setings should include an Impedance value column.
-
"Net Classes": The DP setings for each class should be made to refer to one or more of the definitions as already specified on the "Differential Pairs" page
The advantage being that this allows for easily drawing and DRC checking of complex Differential Pairs that may be spanning many different layers of non-similar dimensions while still maintaining coherent impedance througout the entire length of trace pairs.
Naturally this proposal/behaviour could/should also be expanded to cover vias and single-ended impedance matching by utilizing "Pre-defined Sizes"->"Vias" and "Tracks" in a similar manner.
KiCad Version
Application: KiCad PCB Editor (64-bit)
Version: (6.0.2), release build
Libraries:
wxWidgets 3.1.5
Platform: Windows 10 (build 22000), 64-bit edition, 64 bit, Little endian, wxMSW
wxWidgets: 3.1.5 (wchar_t,wx containers)
Boost: 1.76.0
OCC: 7.6.0
Curl: 7.78.0-DEV
ngspice: 36
Compiler: Visual C++ 1928 without C++ ABI
Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON