differential pairs - wow. - Page 1
Forum section: electronics / general

author: phil from seattle
author_rank: Super Contributor
timestamp: October 19, 2020, 05:50:35 pm
content: I am in the process of switching over to kicad from eagle. One of my complaints about eagle is that differential pairs are a complete mess. I can get get them length matched through basically a voodoo process. I recently did an ethernet magjack eval board for a product I am working on. It has 6 magjacks on it. In eagle I got wild-ass differential pair routing. Last night I pulled it into Kicad and redid the differential pairs. Wow, what a difference. Once I figured out how kicad does it, the process turns out to be actually quite simple! Kicad gives you a lot more control and it's easier to figure out than Eagle.First picture is eagle, second from Kicad. As you can see from Kicad, there is no need to take up so much space. Eagle seems like the scribblings of a drunken fool. Kicad looks positively orderly. I don't think I could get close to that in eagle.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: October 19, 2020, 06:56:13 pm
content: How did the Eagle -> KiCad go for you? Was it also a "wow" moment, did you have some troubles, or was it so smooth that you did you did not have time for a "wow moment?For some day in the future (Do not do too many things at once)If if happens often that you have a design "with 6 MAG jack connectors" or otherwise repetitive parts of the design, checkout the "replicate layout" script.The overall workflow is as follows:1. Put the repetitive part on a hierarchical sheet.2. Include this sheet in the hierarchy as many times as you need it repeated.3. In PCBnew, draw the layout for the components of one of the hierarchical sheets.4. Place a "reference" component for each of the sheets on the PCB (For example the MagJack connector itself)5. Run the script. It takes the reference layout from step 3 as an template and replicates the component and track layout to the other copies.The script can be run multiple times, for example after a schematic change

author: phil from seattle
author_rank: Super Contributor
timestamp: October 19, 2020, 07:43:50 pm
content: I've been dabbling with Kicad for years but never pushed to make the move because I am really fast with eagle. The earlier versions were just not there for me. Better now but Kicad still feels a bit like doing brain surgery with ski gloves on. That will change as I get to know it better. The driver for me is the free eagle size constraint - I've been making the transition over the last 6 months or so. I don't really see a huge difference over all between the two - though differential pairs is one standout. Another reason to make the move now is that Kicad clearly has a lot development going on so it will only be getting better. Eagle is kind of "done" because I will never go to their subscription model and will stick with the last non-sub version.The 6 magjacks are all different so there is no real benefit to replicating the layout for each but it's worth knowing about anyway. I'm using the board to decide which magjack I will standardize on for my next couple of boards. They will be manufactured in China and thus going to use LCSC as the disti so picked from their catalog.

author: nali
author_rank: Frequent Contributor
timestamp: October 19, 2020, 07:56:39 pm
content: Quote from: Doctorandus_P on October 19, 2020, 06:56:13 pmI've used this for a multi-channel amplifier, it's great!

author: nctnico
author_rank: Super Contributor
timestamp: October 25, 2020, 06:57:45 pm
content: Still I'd route this differently because the phase matching is allover the place. Try to make the differential pair arrive at the pins so the lengths of each line stays as equal as possible.

author: asmi
author_rank: Super Contributor
timestamp: November 20, 2020, 06:18:21 pm
content: Quote from: nctnico on October 25, 2020, 06:57:45 pmYep, I love how this is implemented in Orcad (they call it "dynamic phase matching" or something like this). Basically you want to keep signal travelling right along each other over as much of differential pair length as possible. And all your length matching needs to happen as close as possible to the place that difference appeared.

author: phil from seattle
author_rank: Super Contributor
timestamp: November 20, 2020, 10:33:57 pm
content: Quote from: asmi on November 20, 2020, 06:18:21 pmWhat does it do? Spread the "squiggle" over the length of the run? Seems like that would be hard to do in a tight layout.

author: nctnico
author_rank: Super Contributor
timestamp: November 21, 2020, 12:22:09 am
content: Quote from: phil from seattle on November 20, 2020, 10:33:57 pmIt looks something like this (in Orcad) where Orcad shows you where the problem is:

author: asmi
author_rank: Super Contributor
timestamp: November 21, 2020, 01:52:37 am
content: Quote from: phil from seattle on November 20, 2020, 10:33:57 pmComplete opposite - length matching needs to happen as close as possible to place where divergence appeared. See attached screenshot from TI's guidelines. Like I said, the idea is that complementary signal fronts need to travel together for as long as possible in order to realize common mode noise immunity. Look at the picture attached and think about where fronts are going to be as the signal is launched from diff. pair driver - on the top illustration signal front in the top trace is going to be ahead for most of the length of the line, while on the bottom picture fronts will be travelling right next to each other after the equalization sawtooth region is over.