The only way I know how to do this on a single layer is with differential pin pairs. If you don't have those, you can create them with a dummy pin added to each net. Virtual pins won't work; it has to be a real part. As I'm thinking about it, it can be a part with two pins. Make the pins surface mount without soldermask or solder paste and the same size as the wider net width and spaced per your requirements. If it needs to survive ECO forward and back annotation, then the parts need to be added to the schematic too. Place them where the trace/space needs to change. Make sure the unroutes are in the correct order (use the reschedule command in Router if necessary), and then create the differential pin pairs with the values you need. It's a fair amount of extra work, but it should work.
Thanks for the reply.
I am mostly using Altium at my work, and doing such thing in Altium in design rules is as simple as breathing.
I'm struggling with PADS, about which I had a rather good opinion (thanks to hyperlynx and auto router) but as I have to do some simply tasks,
routes, almost anything this software sucks. I have been using mentor support, reading all comments, forums, etc and it always in PADS comes to such solutions.
My differential pair must basically have different width/gap coming out of the connector pins (pins located inside some other pins of the connector). Maybe it could be possible to place pads of the "component" inside there, however I don't know now. Perhaps I could remove those pins from the connector footprint and put them on the "component" so the connector footprint wouldn't change and also in the "component" put pads for wider differential pair outside a connector. But this solution horrifies me as I have multiple differential pairs...
Thank you once again for the reply. I am afraid that I don't understand the statement about unroutes in the correct order and reschedule command.
1 of 1 people found this helpful
The netlist in PADS is based on pin-pairs. A net with just two pins has one pin-pair. A net with three pins has two pin-pairs, and so on. (This is why you can't have single pin nets.)
You can assign a pair of nets as a differential pair that applies to all the pin-pairs of the net, or you can assign the individual pin-pair pairs separately.
The connections, or ratsnest, or unroutes, or whatever you want to call them, determine how the router works. Each of these represents an unrouted pin-pair.
The topology of the nets determines how the order of the connections is treated. (Setup > Design Rules)
Minimized is the default, and means you can route any pin of the net to any other pin or trace.
Serial, parallel and mid-driven are topogies for specific kinds of nets that need to be routed in a specific order. Almost all differential pairs are serial.
So when there's just two pins of a net, all the topologies are the same. When there's more, then you need to setup the pin-pairs to route in the correct order.
This is what the Reschedule command in Router is for. You can select the unroute, then the reschedule command, and are then presented with pins that are valid new destinations. Once they're in the correct order, you set the net to be protected, so no matter how the components are moved around, the routing order is maintained.
So my suggestion was based on the assumption your diff. pairs are just a single pin-pair for each net. My solution to route the net with two sets of rules was to break it up into two pin-pairs. A new part placed where the transition from one rule set to the other needs to be. You assign one pin-pair with one set of rules, and the other pin-pair with the other set.
Thanks for clarifying, so I simply have to create a component with two pins and decal that is related to my wider width/gap.
Then in my schematic I have to put it and connect it to my differential pair, and then use pin-pair rules to change width/etc. in layout/router
Will it still route me my differetnial pair together ? I can't check at the moment.
Also another differential pair question.
I would like to length match my other differentia pair (not the issue with different gap/width) in a matter as on the above image.
So when i routed out of the connector I would like to add small accordion to shorter trace to make them equal at that point (to match positive signal
Is it possible with pads ?
That's a terrible pinout for differential pairs with that connector. I feel your pain.
Yes, you can add the accordion, but only manually after the pair has been routed. The smaller grid you use, the easier it will be. I should mention I route all of my differential pairs manually, and can offer no help if you want to do it with the autorouter. I do all my length matching manually using the spreadsheet view for length checking, and for complex topologies, an actual spreadsheet.
Yes the pain is really big I can't really say what it was done this way....
I have also routed them manually. I will try to use the spreadsheet view in pads router.
Is it easy to use ? Perhaps i will find some info in support.
I almost have everything to finish the board.
I was able to configure the spreadsheet. I had to in PADS Layout set High-Speed roules for my + and - signal from differential pair.
I can now see in Net Length Monitor estimated and routed length (not sure why there are both). My previous question with the
accordion works great and I am able be using Interactive Route to add it.
Another two questions:
1. I can change one signal, how to switch into differential pair mode and add lenght to both signals ?
2. For measuring the length of traces out of the connector with the added accordion I would like to use QL command.
So I could see how good they are matched after the connector to some point close to it (i.e. next turn or trace split?). How to do it in PADS Router.
I of course considered using the whole routed lenght, however let's assume that I have the same issue on the other side, so I couldn't say that I'm matching difference both from this side of the connector and the other one.
1. I don't think you can. If you delete the segments, then the router can go into diff. pair mode by selecting the connection. Otherwise, this is where you need to play with the stretch command. In that mode, you can move one of the routes towards the other, the diff. pair spacing is maintained, and you can adjust the length depending on which direction you stretch. You can also route one half to the needed length, then the other half to get close, and use the stretch command to push them back together. This can also affect the rest of the routing if you're not careful, so protect the sections you want to keep.The move command does not work here.
2. Set the spreadsheet view to look at pin-pairs.
I have selected scheme "Pin pair length monitor", and if I manually select both nets
using pin pair filter, it shows me the same as net length monitor.
What am I missing?
Reread where I talked about rescheduling. If you added a new pin to the net, then the pin-pair is probably one for the original net, source to load, and a new one from one of the ends to the new pin. This can be true even if you've routed this with the new pins in the middle. You need the pin-pairs to be from the source to the new pin, and from the new pin to the load.
Open Project Explorer, and go down to the Nets section and select the net. Expand it to see the pin-pairs. I'm guessing that in your case, if you select one, the whole net is highlighted, and if you select the other, just the trace from one end to the new pin is highlighted. Pin-pairs can share the same trace.
Unfortunately, it is sometimes necessary to unroute part or all of an existing trace for rescheduling to work. Sometimes the trace seems to protect the pin-pair assignment and prevents the reschedule command from working.