Custom diff pair track settings don't work when net classes are present

Bug #1789690 reported by Oleg Endo
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Medium
Jeff Young

Bug Description

When there are some net classes configured other than the default net class, using different custom track settings don't seem to validate properly during routing. It always shows conflicts although there are no conflicts with the same track settings, if the net class configurations are wiped.

This issue has been around for a while. It also affects normal routing of single tracks. It makes it almost impossible to use net classes in bigger projects, as there are no exceptions allowed.

I'll attach an OK and NG board file to demonstrate the problem.

Revision history for this message
Oleg Endo (oleg.endo) wrote :
Revision history for this message
Oleg Endo (oleg.endo) wrote :
Revision history for this message
Riyadh Elalami (riyadhelalami) wrote :

I tried to replicate the issue, I certainly got the same issue with the net class file as you said.
But when I tried applying a class to the no net class file, it still routed just fine. Leading me to think that the problem is something else.

Revision history for this message
Riyadh Elalami (riyadhelalami) wrote :

I believe the problem is that it isn't updating the design rules after changing the net class, which in the case of your original folder was originally set to .25mm track width and .25mm trace gap which both wouldn't fit between the pads

Changed in kicad:
assignee: nobody → Riyadh Elalami (riyadhelalami)
Changed in kicad:
assignee: Riyadh Elalami (riyadhelalami) → nobody
Revision history for this message
Jeff Young (jeyjey) wrote :

Marking as Confirmed based on Riyadh's input.

Changed in kicad:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Jeff Young (jeyjey) wrote :

We're using the diff pair gap (from the netclass) on both the traces and the pads. That's wrong, I'm just not sure how wrong. Either:

1) the diff pair gap shouldn't be used with pads
2) the diff pair gap shouldn't be used as a clearance at all

(1) would still have an issue with netclass vs. custom values. But I've a suspicion (2) is the way to go anyway.

Revision history for this message
Oleg Endo (oleg.endo) wrote :

(2) sounds more useful to me, too.
For example, the global board clearance is 6 mil and one diff pair type needs a gap of 8 mil. Using a clearance of 8 mil could make routing certain things impossible.

However, there is a very valid use case the other way around. Usually diff pairs have to have some minimum pair-to-pair spacing or generally pair-to-anything else spacing, like surrounding copper fills. But that's a whole other story.

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

For Oleg's "whole other story" I think the best strategy is to define a separate Netclass for it and use that netclass's clearance.

Revision history for this message
Oleg Endo (oleg.endo) wrote :

Yeah, that seems to work OK for single traces. Honestly, haven't tried it out with net classes and diff pairs in a bigger design because of peculiarities like this one here.

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

@Jeff- Clearance is only used as a guide to place the tracks at the correct distance. In effect, a placeholder for routing. I don't think there's a good reason to prevent dp from temporarily moving to larger or smaller spacing.

As a short-term fix for 5.0.1, I was planning on implementing (1) but longer-term I think the dp spacing should decouple from clearance.

Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

Fixed in revision 9f068d66a8504904e2ea6b60d7dcbc18abf1d0c8
https://git.launchpad.net/kicad/patch/?id=9f068d66a8504904e2ea6b60d7dcbc18abf1d0c8

Changed in kicad:
status: Confirmed → Fix Committed
assignee: nobody → Jeff Young (jeyjey)
Revision history for this message
Jeff Young (jeyjey) wrote :

@Seth, I've merged (2). It looks pretty safe for 5.0.1; do you think I should push it there too?

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

@Jeff, if it affects the 5.0 branch then it should be pushed there as well.

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

@Jeff- I'll second Wayne but it doesn't look like the via spacing is correct. Placing vias causes clearance violations (track to via) on the second layer. Not sure if it was because of this commit but I don't recall having this issue before.

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

@Seth, that's a separate bug, although somewhat easier to run into with my fix.

https://bugs.launchpad.net/kicad/+bug/1718827

He he... I just noticed it's assigned to you ;)

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

Hmm... I thought that the via spacing was chosen by the dp router. I guess my memory is perhaps fuzzy on this. I'll look...

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.