I’m currently routing a PCB with an STM32 BGA and an SDRAM 143MHz BGA. I have resistors in series with the Data lines and the Address lines.
I need to tune the length of the tracks, but the KiCAD tool only takes the track on one side of the resistor or the other side. I need to account for the whole connection, from the STM32 pad to the Memory pad (P14 to N3 on the image). Is there a way to do that?
Otherwise, I would need to look at one side of the resistor and add the length to the other side to tune, but it sounds cumbersome…
That’s the only way to do it…but, it’s simple and takes less time than spent posting the question (unless having many to do).
I’m sure you know what/how to do it so, I’m posting for curious others…
Say you have two tracks and Resistor having Total end-to-end length of 80mm and you want a final Tuned-Length = 100mm.
Thus,
Left side: L1 + Lr/2 = 54.45
Right side: L2 + Lr/2 = 45.56
Total= 100, where Lr = Length of Resistor
Now, determine the delta to add to each side - that will be the Tuning setting to set for each side…
I did Not fuss with picking exact grid points but, you get the idea…
Hi BlackCoffee,
Thank you. I have 70 tracks to sort out like this, so it will take a while then…
First I need to find the longest track, then elongate all the others to match the length.
That would require both nets to share the same name, and therefore a connection (shorting the diode) would be missing.
I thought of doing that for the time to route the whole board, and then remove the naming,.But I’m afraid it could go wrong when reverting the net names afterward.
Both methods will need cleanup of the schematic afterwards, but I guess the time saving for the length matching is worth it.
Edit: Third workaround I thought up afterwards.
Design a custom schematic symbol that has two pins “one”.
Use Schematic Editor / Tools / Edit Schematic Library Links to temporarily replace the resistors.
Design a custom footprint. A copy from the resistor size you want to use, but also with two pads with number “one”.
Use those on the PCB.
This workaround is pretty similar to workaround 2, but you can use more automation. You don’t have to manually short all the resistors, and “unshort” them afterwards, but can use the library management tools to do this instead. It’s more work to set up, but when doing 70 length tunigs, it may be worth it. I have not tested this though.
I gave you a bit of in advance, but there is no hurry at all to respond quickly from your side. I only did some quick tests, and instead of telling us what you are going to do, it’s (a little bit) better to just do it and then report back what works best, and maybe add some tips and tricks to fine tune the workaround.