geometry of differential pairs not used from net class design rules, but from differential pairs submenu

Bug #1780670 reported by Felix Held on 2018-07-08
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Jeff Young

Bug Description

When routing differential pairs, the geometry set in the Setup->Differential Pairs menu is used instead of the values specified in Setup->Design rules. So if you have correctly specified the geometry in the design rules and added the nets of the differential pair to the correct net class, the project-global values from the differential pair dimensions dialog are used instead, which possibly results in boards not working as expected, since the impedance of the differential pairs might be way off the intended one.

I'd suggest to entirely remove the differential pair dimensions dialog and use the differential pair geometry from the net classes dialog.

Jeff Young (jeyjey) wrote :

This is fixed in my 5.1 tree.

Changed in kicad:
status: New → In Progress
milestone: none → 5.1.0
assignee: nobody → Jeff Young (jeyjey)
Seth Hillbrand (sethh) wrote :

@Jeff- I'm not sure what's changed in your branch but currently, if the user chooses "Select Track/Via Width"->"Use Netclass values", it currently uses the netclass values.

Jeff Young (jeyjey) wrote :

Note that I did not remove the dialog, but rather made it work like track widths and via sizes, where you can choose to use either net-class values, pre-defined values, or immediate values.

Jeff Young (jeyjey) wrote :

@Seth, for diff pairs? I thought that only worked for standard tracks....

Jeff Young (jeyjey) wrote :

Here's how the menu looks in my 5.1 tree.

Felix Held (felixheld) wrote :

@Jeff: your solution looks good to me. If the default will be to use the values from the net class it'll solve the issue completely.

Jeff Young (jeyjey) wrote :

Like regular track editing it's a sticky setting so it will keep using whatever you selected last until you change it.

But the default from launching the app is the netclass value.

Seth Hillbrand (sethh) wrote :

@Jeff- Yes, it should work for differential pairs as well.

tags: added: pcbnew
Jeff Young (jeyjey) on 2018-07-17
Changed in kicad:
status: In Progress → Fix Committed
Seth Hillbrand (sethh) wrote :

@Jeff - I can't seem to get back to the netclass values after changing to custom with this commit. I start routing, switch to custom and the values change as expected. Going back to netclass does not work.

Also, we've lost the menu option for editing custom values. It seems we can re-click on the checkbox to get the menu but this is counter-intuitive and I can't seem to find it anywhere else. Maybe when the custom values are checked, there is a context menu item underneath that has the "edit custom differential pair options"?

Jeff Young (jeyjey) wrote :

Changing to netclass or predefined values on the fly has never worked. In previous versions, in fact, you couldn't use netclass values at all. (Hmmm... I'm not sure if that was changed in 5.0 or 5.1...).

Regardless of all that, there's no time like the present to fix it....

Jeff Young (jeyjey) wrote :

The bug milestone is correct: none of this was implemented until 5.1.

But the fix for updating on the fly turned out to be very easy.

Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers