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

Bug #1780670 reported by Felix Held
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Undecided
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.

Tags: pcbnew
Revision history for this message
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)
Revision history for this message
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.

Revision history for this message
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.

Revision history for this message
Jeff Young (jeyjey) wrote :

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

Revision history for this message
Jeff Young (jeyjey) wrote :

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

Revision history for this message
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.

Revision history for this message
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.

Revision history for this message
Seth Hillbrand (sethh) wrote :

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

tags: added: pcbnew
Jeff Young (jeyjey)
Changed in kicad:
status: In Progress → Fix Committed
Revision history for this message
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"?

Revision history for this message
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....

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.