Design rules for skew/length tuning (9.0 rc1)

Tried to set up design rules as described here and here just to see if I could make it work… well big surprise: I couldn’t.
For some reason the tuning patterns does not update according to the design rules when I activate the “Update all tuning patterns”

What could I be doing wrong?

Attached test project file here:
Blank_v9.zip (22 Bytes)

Application: KiCad PCB Editor x64 on x64

Version: 9.0.0-rc1-509-g8df29a78e1, release build

Libraries:
	wxWidgets 3.2.6
	FreeType 2.13.3
	HarfBuzz 10.0.1
	FontConfig 2.15.0

Platform: Windows 11 (build 22000), 64-bit edition, 64 bit, Little endian, wxMSW
OpenGL: NVIDIA Corporation, NVIDIA GeForce GTX 1050/PCIe/SSE2, 4.6.0 NVIDIA 528.24

	wxWidgets: 3.2.6 (wchar_t,wx containers)
	Boost: 1.86.0
	OCC: 7.8.1
	Curl: 8.10.1-DEV
	ngspice: 44
	Compiler: Visual C++ 1942 without C++ ABI
	KICAD_IPC_API=ON

Locale: 
	Lang: en_DK
	Enc: UTF-8
	Num: 1.234,5
	Encoded кΩ丈: D0BACEA9E4B888 (sys), D0BACEA9E4B888 (utf8)

Your zip file doesn’t contain anything… Can you post your DRC rules in this thread please, and describe which nets you’re trying to tune?

“Archive all project files” button on the main window is broken in RC1…reported

In the meantime here is my project, manually archived
Blank_v9 (2).zip (37.7 KB)

The custom DRC rules for that board are empty…

It is not blank when I open it… Did you open the “Blank_v9 (2).zip” from my latest post (3 hours ago)?

I suspect the issue is you’re using A.NetClass== but in V9 netclasses stack, so for the tracks you care about the actual netclass assignment will be a list of (at least) high_speed,Default. Try using A.hasNetclass('high_speed') instead.

There’s some more detail in the respective doc entries for the NetClass property and the hasNetclass() condition function. I see that there is a doc example that uses this incorrectly, which I will fix.

1 Like

Yep, opening from your zip archive. There should be a file called Blank_v9.kicad_dru included - that’s where the custom DRC rules are saved.

However, looking at the board, I think @gkeeth is spot on. Your high_speed netclass doesn’t have every parameter defined so it’s picking up the missing bits from the Default netclass. You can see this in the ‘Resolved Netclass’ parameter in the status bar:

The solution is as @gkeeth suggests to use A.hasNetclass('high_speed'). The rest looks fine.

Thanks a bunch!
It works now

2 Likes