Generic differential design routing with CCAR

F

Farhaan

Guest
Hi,
I am trying to route a differential design and need pairs of pins to
be routed in parallel (eg. A & A_b routing must be parallel with 2um
spacing between layers). It seems though that I can make rules to do
this for one specific design, but not in general for all differential
designs in CCAR. Am I missing something or is SkiLL code required to
somehow create the do file?? Any help is appreciative. Thanks in
advance.
 
On Feb 6, 7:21 am, "Farhaan" <Farha...@gmail.com> wrote:
Hi,
I am trying to route a differential design and need pairs of pins to
be routed in parallel (eg. A & A_b routing must be parallel with 2um
spacing between layers). It seems though that I can make rules to do
this for one specific design, but not in general for all differential
designs in CCAR. Am I missing something or is SkiLL code required to
somehow create the do file?? Any help is appreciative. Thanks in
advance.
I don't use this tool that often, but sometimes I do use it for
different customers, and when I do use it, it is usually for routing
digital signals. Basically, I typically do the analog work by hand
(not that many signals, and you get exactly what you want) and then I
block out my analog sections and created my digital channels for
routing. I then route the several hundred digital controls with the
tool, and also I use it to route bias currents (I add minimum width
rules, create a class of bias signals, and then add additional
spacings from this class to all other signals, etc). Although, you can
route diff pairs, it just requires some time and deeper understanding,
etc, to get it done right, which I never had the time and was not able
to use the tool on a more frequent, regular bases to justify spending
lots of time learning about it on a deeper level. It seemed to me
though, each design was somewhat unique, and I had to always adjust
the rules somewhat for each design. However, the router would do what
I asked except sometimes there was a reason why it was misbehaving
(not enough room, etc.).
 
Thanks for your insight. It seems like the only way is to define rules
in the DO file as you stated for each design. I guess I will try to
write some skill code to grab diff pair names and see if I can create
a core list of rules in the do file. Thanks.
 
The diff-pair router works pretty good and is pretty easy to setup by
defining the nets that are pairs and the spacing between them. It
gets a bit tricky to maintain spacing around those nets. This can be
done either by creating a class definition for these nets or drawing
keep outs which is too much work for me! :^) the other drawback is
that the router will do everthing to keep these nets the same length
so it will do some strange things like zig-zag for lack of a better
term which means you will need to do some clean up. You might be able
to turn this feature off.

I prefer to create a ROD element within XL which can be used for any
net. Route all, one side to create a skelton of the net depending on
the desired result, draw the corresponding block to keep things out of
the diff-pair route. This can also be part of the ROD element.
Export it to CCAR and the router not route these nets if complete or
it will route to it as a trunk if the net has many connections. The
nice thing about this method its that its part of the floorplan so you
dont need to rebuild the critical nets each time.

Rick
 

Welcome to EDABoard.com

Sponsor

Back
Top