Author Topic: Altium differential pair length match problems  (Read 1354 times)

0 Members and 1 Guest are viewing this topic.

Offline FPSUsername

  • Contributor
  • Posts: 7
  • Country: nl
Altium differential pair length match problems
« on: July 15, 2019, 01:34:45 pm »
Hello,

I have issues using Altium's length tuning tools, they seem really incapable and not working well, both in Altium 17 and 19.

Lets start with the Interactive Diff Pair Length Tuning tool. From my understanding, you have to look at signal length and not routed length as routed length can give false information due to overlapping traces. As you can see in attachment 1, I want to match the length to (at that time when I didn't complete length matching yet) the longest pair (CH3).
786294-0

When I select the target length in attachment 2, you can see that it selects the Averaged Length from pair CH3. (Keep in mind, I already matched the lengths of each trace in CH3).
786288-1

When I start routing it, it is giving me the Routed Length instead of the Signal Length. This makes the Net Length Gauge useless. I have to look in the PCB tab for the signal length that it gets.

Going to the Interactive Pair Length Tuning you can see in attachment 3 that the Net Length Gauge actually shows the signal length that it's tuning.
786306-2

Also in attachment 4 you can see that the target length is the signal length.
786300-3

Furthermore, Altium has the option to reshape the Accordion, but only for the Interactive Pair Length Tuning tool. Why not for the Interactive Diff Pair Length Tuning tool as well?

Length matching takes more time than needed because I have to go back and forth every time to really match signal and pair lengths as the tuning happens at multiple places throughout the signal/pair's path.
« Last Edit: July 16, 2019, 07:56:10 am by FPSUsername »
 

Online Bud

  • Super Contributor
  • ***
  • Posts: 3832
  • Country: ca
Re: Altium differential pair length match problems
« Reply #1 on: July 15, 2019, 02:14:29 pm »
Attachments?
Facebook-free life and Rigol-free shack.
 

Offline FPSUsername

  • Contributor
  • Posts: 7
  • Country: nl
Re: Altium differential pair length match problems
« Reply #2 on: July 16, 2019, 07:45:02 am »
That's weird, they seem to be deleted. I'll upload fresh ones
 

Online ajb

  • Super Contributor
  • ***
  • Posts: 1714
  • Country: us
Re: Altium differential pair length match problems
« Reply #3 on: July 16, 2019, 03:18:52 pm »
Maybe try xSignals?  Takes a bit more setup since they need to be defined first, but IME the calculations are a lot more useful (segments with flyby connections, for instance).  I've never used them with diffpairs, though.
 

Offline Pseudobyte

  • Regular Contributor
  • *
  • Posts: 131
  • Country: us
  • Embedded Systems Guy
Re: Altium differential pair length match problems
« Reply #4 on: July 16, 2019, 07:56:02 pm »
The problem is you have no rules defined to enforce matched length.

Setup a rule for Matched Lengths and you should have no problems

https://www.altium.com/documentation/17.1/display/ADES/((Length+Tuning))_AD
« Last Edit: July 16, 2019, 07:59:13 pm by Pseudobyte »
“They Don’t Think It Be Like It Is, But It Do”
 

Offline Pseudobyte

  • Regular Contributor
  • *
  • Posts: 131
  • Country: us
  • Embedded Systems Guy
Re: Altium differential pair length match problems
« Reply #5 on: July 16, 2019, 08:33:26 pm »
A bit of help for how this can be done:

Schematic:

Setup a DiffPairClass for the diff pairs you want to tune against one another.





PCB:

Setup Rules





Results:







“They Don’t Think It Be Like It Is, But It Do”
 
The following users thanked this post: thm_w

Offline FPSUsername

  • Contributor
  • Posts: 7
  • Country: nl
Re: Altium differential pair length match problems
« Reply #6 on: July 17, 2019, 08:25:07 am »
Thank you for the help.

@ajb from my understanding, xSignals are used to connect more than two nodes, in my case I don't have more than two nodes (I do in my CSI-2 diff. class).

@Pseudobyte At first, I followed what you did in your post and this is how my results look like:
787239-0 787245-1

It is still trying to match routed length while the rule uses signal length.
I cleaned up the whole trace of any duplicates (traces under other traces) and the routed length is still far from equal to the signal length.
I am not sure what I'm doing wrong here.

Secondly, I wonder why altium's miltered lines allow 90 degree bends when using large amplitude and space settings. From what I know, you want to avoid any sharp cornering with high speed signals due to reflection. I've only seen 90 degree bends in PCB antennas, which I'm not sure how they work.

Lastly, a weird issue in 17 is that a blanket doesn't do much. In the documentation of Altium 18/19 the blanket usage is very clean. A blanket can cover all signals with just one directive. This way you don't have to add a directive to every single line. Unfortunately in 17 you still have to do that, otherwise the compiler will spit out errors.
« Last Edit: July 17, 2019, 10:35:12 am by FPSUsername »
 

Offline Pseudobyte

  • Regular Contributor
  • *
  • Posts: 131
  • Country: us
  • Embedded Systems Guy
Re: Altium differential pair length match problems
« Reply #7 on: July 17, 2019, 01:41:00 pm »
Oh did not realize that was what you were trying to accomplish. Apologies...yes the best way to accomplish this would be xSignals.
“They Don’t Think It Be Like It Is, But It Do”
 

Offline FPSUsername

  • Contributor
  • Posts: 7
  • Country: nl
Re: Altium differential pair length match problems
« Reply #8 on: July 18, 2019, 07:42:16 am »
Oh did not realize that was what you were trying to accomplish. Apologies...yes the best way to accomplish this would be xSignals.

As I stated in my previous post, aren't xSignals used to connect (for example) one output pin to two input pins? As seen in The Challenge from the documents, it's used to create a balanced T topology.
I on the other hand only have one output and one input.
I do use xSignals on my CSI-2 class since the termination resistors are placed on the PCB and aren't internally build in to the FPGA (those are reserved for the subLVDS class). xSignals do seem to report the same signal and routed length, so any length matching doesn't create weird problems.
 

Offline Pseudobyte

  • Regular Contributor
  • *
  • Posts: 131
  • Country: us
  • Embedded Systems Guy
Re: Altium differential pair length match problems
« Reply #9 on: July 18, 2019, 05:34:58 pm »
From that same link:

"An xSignal is essentially a designer-defined signal path between 2 nodes - these can be 2 nodes within the same net, or they can be 2 nodes in associated nets separated by a component. The xSignal can then be used to scope relevant design rules such as Length and Matched Length, which will then be obeyed during design tasks, such as interactive length tuning."

Then also read the section titled Accurate Length Calculations.

“They Don’t Think It Be Like It Is, But It Do”
 
The following users thanked this post: FPSUsername


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf