Thursday, January 08, 2009     Register | Login | Search | Contact Us
     

Many of you already received communications about the move of the Cadence user community into cadence.com. And many of you have already joined, with over 4000 registrations in the first two weeks.

The new Cadence Community enhances the ability of Cadence users to connect and collaborate. In addition to moving the community into cadence.com -- enabling single sign-on for community, Sourcelink and Cadence events -- the new site is organized around nine technology segments, giving you easy access to product information, training, forums and blogs. Some of the new features include:
  • Ability to respond to posts via e-mail
  • Technology-specific blogs
  • Latest Web 2.0 social networking capabilities
  • Public profile options
  • Private messaging
  • Friends lists
Visit the new Cadence Community today at www.cadence.com/community and join the discussions!

Registration note: Due to the scope of the enhancements and the new SSO registration system, we were not able to migrate existing cdnusers.org member accounts. So new registrations are required, but this enables a broader set of functionality we think you'll enjoy.

Forum note: Under the guidance of forum moderators, we have taken the 20+ cdnusers.org forums and consolidated them into 11 forums on the new site. Posts have been brought over so you can leverage that posting history. CDNusers forums will be set to read only starting 7/30, and cdnusers.org will be redirected to the new community on 8/4.

Best regards,
Mike and Tom

Michael A. Catrambone - Steering Committee Chairman
Distinguished Engineer
PCB/Mechanical
UTStarcom, Inc.

Tom Diederich
Cadence Community Manager
Home
Forums
Subject: Routing Angle
Posting to forums is available to community members only.
Login or Register
Rate this topic:
   
Author Messages
aries
Posts: 0
Online: User is Offline
3/07/2007 9:27 PM  
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
Dave Elder
Moderator
Posts: 150
Online: User is Offline
3/08/2007 2:18 PM  
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

Dave Elder
Tait Electronics
aries
Posts: 0
Online: User is Offline
3/08/2007 11:05 PM  
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
Dave Elder
Moderator
Posts: 150
Online: User is Offline
3/11/2007 12:40 PM  
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

Dave Elder
Tait Electronics
kerchunk
Posts: 0
Online: User is Offline
3/11/2007 11:16 PM  
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?
aries
Posts: 0
Online: User is Offline
3/11/2007 11:24 PM  
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
Dave Elder
Moderator
Posts: 150
Online: User is Offline
3/12/2007 12:20 PM  
I'm trying to visualise a design with some traces skewed. Do you mean something like the attached?






Dave Elder
Tait Electronics
kerchunk
Posts: 0
Online: User is Offline
3/12/2007 12:30 PM  

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




natebizu
Posts: 7
Online: User is Offline
3/12/2007 2:16 PM  
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.
Dave Elder
Moderator
Posts: 150
Online: User is Offline
3/12/2007 2:46 PM  
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.

Dave Elder
Tait Electronics
aries
Posts: 0
Online: User is Offline
3/12/2007 6:51 PM  
Guys,

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

djhutchi
Posts: 2
Online: User is Offline
3/20/2007 9:48 AM  
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
djhutchi
Posts: 2
Online: User is Offline
3/20/2007 9:48 AM  
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
aries
Posts: 0
Online: User is Offline
3/20/2007 8:21 PM  
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)

fxdesign
Posts: 0
Online: User is Offline
3/20/2007 8:48 PM  
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.
djhutchi
Posts: 2
Online: User is Offline
4/02/2007 2:09 PM  
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)'
djhutchi
Posts: 2
Online: User is Offline
4/02/2007 2:09 PM  
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)'
Posting to forums is available to community members only.
Login or Register



ActiveForums 3.6
     
Copyright 2006 Cadence Design Systems, Inc.