Home > Community > Forums > PCB SKILL > Routing Angle

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Routing Angle 

Last post Wed, Mar 7 2007 9:27 PM by archive. 14 replies.
Started by archive 07 Mar 2007 09:27 PM. Topic has 14 replies and 5333 views
Page 1 of 1 (15 items)
Sort Posts:
  • Wed, Mar 7 2007 9:27 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    Routing Angle Reply

    Hi, can we change the routing angle using skill, currently we can change it to "off, 45, 90", is there a setting in allegro that we need to change so we can route signal using other routing angle like "10" thanks


    Originally posted in cdnusers.org by aries
    • Post Points: 0
  • Thu, Mar 8 2007 2:18 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    Hi,

    I don't think that is possible. axlSetLineLock only allows 45, 90 or 0 (off).
    What is your application? I may be able to help if I know what you are trying to do.

    Cheers, Dave


    Originally posted in cdnusers.org by Dave Elder
    • Post Points: 0
  • Thu, Mar 8 2007 11:05 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    Dave,

    thanks for the reply, I'm doing layout (Allegro 15.2~15.7), currently we have some issues about the fabrication of our PCB and Differential Signals/High Speed signals (Fiber Weave Mitigation), in order minimize these effects we need to route high speed signals skewed against the fiber weave of our board, or route high speed signals with at least 5~10 degrees routing angle

    thanks


    Originally posted in cdnusers.org by aries
    • Post Points: 0
  • Sun, Mar 11 2007 12:40 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    Hi,
    Well, it''s got me stumped. Ithe only way I can think of to achieve this via Skill is to re-write the route command. Probably not a very desirable solution. Another alternative may be to ask your fabricator to place your boards at an offset to the weave - or use a laminate where this effect has been reduced.
    Sorry I can't be of more help.
    Cheers, Dave


    Originally posted in cdnusers.org by Dave Elder
    • Post Points: 0
  • Sun, Mar 11 2007 11:16 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    Could you route these special traces manually (using 0/45/90) then use a SKILL routine to skew them by the desired angle?
    But having the fabricator build the skew directly into the board sounds like the right solution - transparent to the designer and the skew applies to all traces.

    Keep us apprised and Good Luck,


    Chris Walters
    local Cadence guru
    ()

    PS - anyone know of a position for a(nother) Cadence guru?


    Originally posted in cdnusers.org by kerchunk
    • Post Points: 0
  • Sun, Mar 11 2007 11:24 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    Hi,

    "Could you route these special traces manually (using 0/45/90) then use a SKILL routine to skew them by the desired angle?" -- i was hoping that somebody can come up on how we could materialze this idea using skill, as for the skewing the board during fabrication may have some problems, especially when the required sigals to be routed with angle are high speed signals only and we are dealing with multi layered boards

    thanks


    Originally posted in cdnusers.org by aries
    • Post Points: 0
  • Mon, Mar 12 2007 12:20 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    I'm trying to visualise a design with some traces skewed. Do you mean something like the attached?


    Originally posted in cdnusers.org by Dave Elder
    • Post Points: 0
  • Mon, Mar 12 2007 12:30 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply


    If you manually routed a 'stairstep' trace from point A to point B

    A----
    |
    ------
    |
    ------ B

    a routine could then skew the segments from 0/270 to 350/260, yes.
    Your path is now slightly shorter, which might cause other concerns.
    Naturally, more-complex paths would require more-complex code to achieve the goal. Something like a semicircle

    A--------
    |
    ------
    |
    |
    ------
    |
    B -------

    would require 'breaking' the vertical segment at the midpoint to yield two smaller segments that can
    be skewed, one tilted backwards the other forwards.

    Or maybe we're overcomplicating the problem? If you are routing these special traces manually why not
    simply turn Routing Angle to 'OFF'

    In closing, a routine could be crafted to help you but its complexity would be in direct proportion to the
    complexity of your requirements and would definately require some fine-tuning - this is not something one
    cound crack out in a few hours.

    HTH,

    Chris Walters
    local Cadence guru
    ()

    PS - anyone know of a position for a(nother) Cadence guru?

    PSS - apologies for crude ASCII art





    Originally posted in cdnusers.org by kerchunk
    • Post Points: 0
  • Mon, Mar 12 2007 2:16 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    I can think of two ways of doing this. (Neither require skill)
    1. Rotate the entire design 5-10 degrees, route normally (0,45,90), then rotate back.
    2. Create a visual grid rotated the 5-10 degrees (on an artwork layer). Then route with rotation angle off trying to stay parallel to the grid lines.


    Originally posted in cdnusers.org by natebizu
    • Post Points: 0
  • Mon, Mar 12 2007 2:46 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    I still don't think there is currently a simple solution. I doubt that Cadence would seriously consider an "enhancement" that would allow a random line lock. There is a big mathematical difference between 45 and, say, 10 degrees as far as being able to route on grid. They effectively offer this with the "Off" option.

    I suggest the interim solution is to route visually and use Skill to verify the skew of critical traces. This code would be simple. Let me know if we can help.


    Originally posted in cdnusers.org by Dave Elder
    • Post Points: 0
  • Mon, Mar 12 2007 6:51 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    Guys,

    thanks for the ideas, I'll try these ones and let you know what will be the outcome


    Originally posted in cdnusers.org by aries
    • Post Points: 0
  • Tue, Mar 20 2007 9:48 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    natebizu's suggestion of rotating the design doesn't work, the database isn't accurate enough to avoid roundoff errors that intorduce hundreds of DRC errors ( 0.010" becomes 0.009999" )
    I used axlAddSimpleMoveDynamics() to create a 10 degree cursor to guide the user


    Originally posted in cdnusers.org by djhutchi
    • Post Points: 0
  • Tue, Mar 20 2007 8:21 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    hi guys,

    ive been trying to route signals with
    a. Routing Angle Off
    b. Specified grid so that every grid will at least create a 10 degree angle (x=5, y=28)
    c. Cursor in infinite mode with 10 degree angle for user guide
    *** any idea how to show 10 degree and 80 degree pcb cursor angle at the same time?


    result
    1. routing a bus is slow
    2. accuracy of net spacing is low

    *** ive seen some demo images from intels demo board and they really routed their bus group nicely(with at least high accuracy on net spacing and with jitters on it)


    Originally posted in cdnusers.org by aries
    • Post Points: 0
  • Tue, Mar 20 2007 8:48 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    The angle is not so much the issue as it's easy to calculate a given angle and use "ix" to start the angle and 15.7 will maintain the direction with the right option settings. The problem is all the anomalies within the software for a tight bus path that requires a large number of diff pairs to be routed from point a to point b using the zig-zag routing shown in the above post. Dodging vias or mechanical features, finishing when copying a group of segments and connecting the beginning/end all results in unpredictable anomalies that will drive you nuts. In 15.7 they added the option to "Hug Only" in diff pair mode and while this works it has a ton of issues when you set your line lock to "off". Routing using a grid or guides may work fine if you have plenty of space, but it's not practical in high density complex designs that require dense spacing.. not too mention length matching with serpentine on odd angles.. I did log an enhancment request and found 4 other request that have also been logged, it's my hope that 16.0 will include inhancements that will address this issues.


    Originally posted in cdnusers.org by fxdesign
    • Post Points: 0
  • Mon, Apr 2 2007 2:09 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: Routing Angle Reply

    Regarding aries question on 3/21 on the 10 & 80 degree cursor:

    funckey CF12 'skill (mypath=axlPathStart(list(985:174 -985:-174 -985:174 985:-174 985:174))) axlAddSimpleMoveDynamics(0:0 mypath "path" ?ref_point 0:0) (mypath=axlPathStart(list(174:985 -174:-985 174:-985 -174:985 174:985))) axlAddSimpleMoveDynamics(0:0 mypath "path" ?ref_point 0:0)'
    funckey CSF12 'skill (mypath=axlPathStart(list(573:820 -573:-820 -820:-573 820:573 573:820))) axlAddSimpleMoveDynamics(0:0 mypath "path" ?ref_point 0:0) (mypath=axlPathStart(list(-573:820 573:-820 820:-573 -820:573 -573:820))) axlAddSimpleMoveDynamics(0:0 mypath "path" ?ref_point 0:0)'


    Originally posted in cdnusers.org by djhutchi
    • Post Points: 0
Page 1 of 1 (15 items)
Sort Posts:
Started by archive at 07 Mar 2007 09:27 PM. Topic has 14 replies.