• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. PCB Design
  3. Differential Pair Gather Points

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 164
  • Views 14862
  • Members are here 0
More Content
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Differential Pair Gather Points

archive
archive over 17 years ago

Hi All, I'm hoping someone can help me to better control my differential pair routing. As some background, our boards typically contain 200+ differential pairs running at 2.5 Gbps. We typically fanout by hand all differential pairs from BGA land patterns or SMT pads and constain the router to route the pairs on mid layers only, using no vias. Crosstalk rules also apply here. Because of the high frequency content of these signals, we go through great pains post-route to ensure that the pairs are clean and coupled to the greatest extent possible. This involves ensuring that as the pairs enter the mid layer and begin their coupling that both legs exit the via pair and come directly together with the shortest length possible. The IDEAL routes are shown in the attached image. We're running v16.01 of the Allegro Autorouter and we always have great difficulty in controlling the endpoints of the differential pair. No matter how I constain it, a good number of pairs do not quickly come together but seem to do crazy things at the endpoints. See the NON-IDEAL routes in the attached image. I am wondering if anyone in the forum has experienced this and what cures they have if any. When dealing with boards of at least 200+ pairs, the misbehaviour of the router leads to tons of post-route cleanup time. Getting the router to produce clean routes all the time would greatly reduce our clean-up time not to mention decrease my headache size. Typical Pair Definition includes the following commands: define (pair (nets FPGA_LOCAL_19.44MHZ_P FPGA_LOCAL_19.44MHZ_N (gap 4.4))) define (class FPGA_LOCAL_19.44MHZ FPGA_LOCAL_19.44MHZ_P FPGA_LOCAL_19.44MHZ_N) circuit class FPGA_LOCAL_19.44MHZ (match_net_length on (tolerance 100)) rule class FPGA_LOCAL_19.44MHZ (width 3.6) rule class FPGA_LOCAL_19.44MHZ (max_total_vias 0) circuit class FPGA_LOCAL_19.44MHZ (use_layer Mid2 Mid3 Mid4 Mid5) rule class FPGA_LOCAL_19.44MHZ (max_uncoupled_length 0) rule class FPGA_LOCAL_19.44MHZ (min_line_spacing 4.4) rule class FPGA_LOCAL_19.44MHZ (edge_coupled_tolerance_minus 0) rule class FPGA_LOCAL_19.44MHZ (edge_coupled_tolerance_plus 0) rule class FPGA_LOCAL_19.44MHZ (neck_down_width 3.6) rule class FPGA_LOCAL_19.44MHZ (neck_down_gap 4.4) rule class FPGA_LOCAL_19.44MHZ (diffpair_line_width 3.6) rule class FPGA_LOCAL_19.44MHZ (edge_primary_gap 4.4) rule class FPGA_LOCAL_19.44MHZ (ignore_gather_length on) Thanks in advance for your thoughts, Chuck Remaley Design Engineer WMI, Inc.


Originally posted in cdnusers.org by remaley228
  • diffpair_example.JPG
  • View
  • Hide
  • Cancel
  • archive
    archive over 17 years ago

    If you are using Allegro as the CAD tool you want to set:

    Menu > Setup > User Preferences > Etch > padentry_factor

    to 10 or so. Play around with the settings.


    Originally posted in cdnusers.org by CDL
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Thanks for the reply, but I'm using P-CAD 2004 as my CAD environment. Is there any way to do what you recommend in a DO file?


    Originally posted in cdnusers.org by remaley228
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    It's been years since I've used "do" files but I think you want to use "ignore_gather_length off" for each class instead of "ignore_gather_length on"


    Originally posted in cdnusers.org by CDL
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    This doesn't seem to make a difference, but thanks again.

    I've noticed that this stuff seems to occur when the router can't get to the area between the fanout vias in the shortest distance between TX and RX fanouts as possible. The router won't use "wrong way" routing to route the pair even though I'm only really concerned with keeping the pair coupled as long as possible. It doesn't matter to me that the optimal pair is not using an "as the crow flies" philosophy.


    Originally posted in cdnusers.org by remaley228
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    I just got a response back from Cadence support saying this is a known issue and is supposed to be corrected in the 16.3 Release


    Originally posted in cdnusers.org by remaley228
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information