5141 Double Via while using Path command

P

PolyPusher

Guest
Hi,

I am trying to both change the "default" via used during metal
transitions while using the path command(ie, start on m1, transition
to m2 and via is placed) AND require a doubl via.

I found the below in a previous post, but I am having issues. I
assumed I can just load the code into the CIW:

define(class ALLNETS *)
#
circuit class ALLNETS(use_via v12 v23m (use_array v12 1 2 ) (use_array
v23m 1 2))
#
set enforce_use_array_rule on

.....and this would change the default via AND require a 1 by 2 row and
column, but I get syntax errors that I don't understand when loading
into the CIW.

OR if just defining double via at specific width, no change of vias
used:

rule layer met1(minimumcut(width 1.0 numcuts 2)(width 2.0 numcuts
3))

Is this info just for the router? I am trying to change the cuts and
vias used with transitioning with the Path Command.

Thank you for any help in advance,
Eric





======================previous post info==============================
define (class ALLNETS *)
#
circuit class ALLNETS (use_via M2_M1 M3_M2 M4_M3 (use_array M2_M1 1
2 )
(use_array M3_M2 1 2) (use_array M4_M3 1 2))
#
set enforce_use_array_rule on


Looks remarkably similar. I'm not sure I've told you this before, so
perhaps it
came from me to another AE to you...


Of course the difference is the wildcard for the net names.


Regards,


Andrew.


--
Andrew Beckett
Senior Solution Architect - Cadence Design Systems Ltd (UK)




Reply Reply to author Forward Rate this post: Text
for clearing space







You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before
posting.
You do not have the permission required to post.



Rajesh View profile
More options May 8, 1:32 am

Newsgroups: comp.cad.cadence
From: Rajesh <rai...@yahoo.com>
Date: Thu, 7 May 2009 23:32:13 -0700 (PDT)
Local: Fri, May 8 2009 1:32 am
Subject: Re: Wire editor 5141 double via
Reply | Reply to author | Forward | Print | Individual message | Show
original | Report this message | Find messages by this author
I would suggest to use the minimumcut rule which can place more
number
of via's based on width of the wire.

rule layer metal1 (minimumcut (width 1.0 numcuts 2) (width 2.0
numcuts 3))


The example above means that at least 2 cuts are needed for any
connection to metal1 wires or pins that are greater than 1.0 microns
wide and 3 cuts are needed for connections greater than 2.0 microns
wide. The assumption is that number of cuts is increasing as width
increases.


This won't be restricted to a particular net because it is based on
layer rule.


Note: This works on releases later than IC5141USR2.


Regards,
 
PolyPusher schrieb:
Hi,

I am trying to both change the "default" via used during metal
transitions while using the path command(ie, start on m1, transition
to m2 and via is placed) AND require a doubl via.

I found the below in a previous post, but I am having issues. I
assumed I can just load the code into the CIW:

define(class ALLNETS *)
#
circuit class ALLNETS(use_via v12 v23m (use_array v12 1 2 ) (use_array
v23m 1 2))
#
set enforce_use_array_rule on

....and this would change the default via AND require a 1 by 2 row and
column, but I get syntax errors that I don't understand when loading
into the CIW.

OR if just defining double via at specific width, no change of vias
used:

rule layer met1(minimumcut(width 1.0 numcuts 2)(width 2.0 numcuts
3))

Is this info just for the router? I am trying to change the cuts and
vias used with transitioning with the Path Command.

Thank you for any help in advance,
Eric
Hi Eric,

these rules are for the VCAR router. In 5.1.41 if you use VXL you can
use the so called "Wire Editor" which is basically VCARs interactive
routing engine. You have to write these rule commands into a file
(double.rule) and load that file via the Options->Router (or Wire
Editor, I am working out of my head here).

Marc

======================previous post info==============================
define (class ALLNETS *)
#
circuit class ALLNETS (use_via M2_M1 M3_M2 M4_M3 (use_array M2_M1 1
2 )
(use_array M3_M2 1 2) (use_array M4_M3 1 2))
#
set enforce_use_array_rule on


Looks remarkably similar. I'm not sure I've told you this before, so
perhaps it
came from me to another AE to you...


Of course the difference is the wildcard for the net names.


Regards,


Andrew.


--
Andrew Beckett
Senior Solution Architect - Cadence Design Systems Ltd (UK)




Reply Reply to author Forward Rate this post: Text
for clearing space







You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before
posting.
You do not have the permission required to post.



Rajesh View profile
More options May 8, 1:32 am

Newsgroups: comp.cad.cadence
From: Rajesh <rai...@yahoo.com
Date: Thu, 7 May 2009 23:32:13 -0700 (PDT)
Local: Fri, May 8 2009 1:32 am
Subject: Re: Wire editor 5141 double via
Reply | Reply to author | Forward | Print | Individual message | Show
original | Report this message | Find messages by this author
I would suggest to use the minimumcut rule which can place more
number
of via's based on width of the wire.

rule layer metal1 (minimumcut (width 1.0 numcuts 2) (width 2.0
numcuts 3))


The example above means that at least 2 cuts are needed for any
connection to metal1 wires or pins that are greater than 1.0 microns
wide and 3 cuts are needed for connections greater than 2.0 microns
wide. The assumption is that number of cuts is increasing as width
increases.


This won't be restricted to a particular net because it is based on
layer rule.


Note: This works on releases later than IC5141USR2.


Regards,
 
On Jun 26, 6:48 am, Marc Heise <mhe...@NcOaSdPeAnMce.dotcalm> wrote:
PolyPusher schrieb:





Hi,

I am trying to both change the "default" via used during metal
transitions while using the path command(ie, start on m1, transition
to m2 and via is placed) AND require a doubl via.

I found the below in a previous post, but I am having issues.   I
assumed I can just load the code into the CIW:

define(class ALLNETS *)
#
circuit class ALLNETS(use_via v12 v23m (use_array v12 1 2 ) (use_array
v23m  1 2))
#
set enforce_use_array_rule on

....and this would change the default via AND require a 1 by 2 row and
column, but I get syntax errors that I don't understand when loading
into the CIW.

OR if just defining double via at specific width, no change of vias
used:

rule layer met1(minimumcut(width 1.0  numcuts 2)(width 2.0 numcuts
3))

Is this info just for the router?   I am trying to change the cuts and
vias used with transitioning with the Path Command.

Thank you for any help in advance,
Eric

Hi Eric,

these rules are for the VCAR router. In 5.1.41 if you use VXL you can
use the so called "Wire Editor" which is basically VCARs interactive
routing engine. You have to write these rule commands into a file
(double.rule) and load that file via the Options->Router (or Wire
Editor, I am working out of my head here).

Marc





======================previous post info=============================> > define (class ALLNETS *)
#
circuit class ALLNETS (use_via M2_M1 M3_M2 M4_M3 (use_array M2_M1 1
2 )
(use_array M3_M2  1 2) (use_array M4_M3 1 2))
#
set enforce_use_array_rule on

Looks remarkably similar. I'm not sure I've told you this before, so
perhaps it
came from me to another AE to you...

Of course the difference is the wildcard for the net names.

Regards,

Andrew.

--
Andrew Beckett
Senior Solution Architect - Cadence Design Systems Ltd (UK)

    Reply    Reply to author    Forward       Rate this post:  Text
for clearing space

You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before
posting.
You do not have the permission required to post.

Rajesh    View profile
  More options May 8, 1:32 am

Newsgroups: comp.cad.cadence
From: Rajesh <rai...@yahoo.com
Date: Thu, 7 May 2009 23:32:13 -0700 (PDT)
Local: Fri, May 8 2009 1:32 am
Subject: Re: Wire editor 5141 double via
Reply | Reply to author | Forward | Print | Individual message | Show
original | Report this message | Find messages by this author
I would suggest to use the minimumcut rule which can place more
number
of via's based on width of the wire.

rule layer metal1 (minimumcut (width 1.0  numcuts 2) (width 2.0
numcuts 3))

The example above means that at least 2 cuts are needed for any
connection to metal1 wires or pins that are greater than 1.0 microns
wide and 3 cuts are needed for connections greater than 2.0 microns
wide. The assumption is that number of cuts is increasing as width
increases.

This won't be restricted to a particular net because it is based on
layer rule.

Note: This works on releases later than IC5141USR2.

Regards,- Hide quoted text -

- Show quoted text -- Hide quoted text -

- Show quoted text -
Hi,

I am interested in changing the Create Path Command behavior only, I
am not sureif "Wire Editor" applies. I have found the method to
change which via is the default, userVia. However, I am still trying
to find a way to enforce a Minimum of Two Vias despite the wire
width. I realize this sometimes will cause DRCs, but are team uses
Double Vias as a minimum on most routes. Everything is hand routed,
we do not use routers.

Thank you in advance for any help,
Eric


userVia

layout userVia string { name_of_any_valid_via | nil }

Description

Specifies the which via is selected during path stitching using the
Create - Path command or when adding a contact using the Auto Contact
field on the Create - Contact command. When the environment variable
useDefaultVia is set to t, the via is selected in the following order:
the default via for the two layers, the via for the two layers
specified by userVia, the first valid via defined in the technology
file for the two layers, or no via if no valid via is defined in the
technology file for the two layers. When useDefaultVia is set to nil,
the via is selected in the following order: the via for the two layers
specified by userVia, a list of valid vias defined in the technology
file for the two layers, or no via if no valid via is defined in the
technology file for the two layers. You can override the technology
file default via by setting useDefaultVia to nil and userVia to the
required via. If userVia is set to nil, the setting of useDefaultVia
will be used. The default is nil.

GUI Equivalent:

Command


n/a

Form Field


n/a

Setting Method:

envSetVal

example
envSetVal( "layout" "userVia" 'string "v12"
 
PolyPusher schrieb:
On Jun 26, 6:48 am, Marc Heise <mhe...@NcOaSdPeAnMce.dotcalm> wrote:
PolyPusher schrieb:





Hi,
I am trying to both change the "default" via used during metal
transitions while using the path command(ie, start on m1, transition
to m2 and via is placed) AND require a doubl via.
I found the below in a previous post, but I am having issues. I
assumed I can just load the code into the CIW:
define(class ALLNETS *)
#
circuit class ALLNETS(use_via v12 v23m (use_array v12 1 2 ) (use_array
v23m 1 2))
#
set enforce_use_array_rule on
....and this would change the default via AND require a 1 by 2 row and
column, but I get syntax errors that I don't understand when loading
into the CIW.
OR if just defining double via at specific width, no change of vias
used:
rule layer met1(minimumcut(width 1.0 numcuts 2)(width 2.0 numcuts
3))
Is this info just for the router? I am trying to change the cuts and
vias used with transitioning with the Path Command.
Thank you for any help in advance,
Eric
Hi Eric,

these rules are for the VCAR router. In 5.1.41 if you use VXL you can
use the so called "Wire Editor" which is basically VCARs interactive
routing engine. You have to write these rule commands into a file
(double.rule) and load that file via the Options->Router (or Wire
Editor, I am working out of my head here).

Marc





======================previous post info==============================
define (class ALLNETS *)
#
circuit class ALLNETS (use_via M2_M1 M3_M2 M4_M3 (use_array M2_M1 1
2 )
(use_array M3_M2 1 2) (use_array M4_M3 1 2))
#
set enforce_use_array_rule on
Looks remarkably similar. I'm not sure I've told you this before, so
perhaps it
came from me to another AE to you...
Of course the difference is the wildcard for the net names.
Regards,
Andrew.
--
Andrew Beckett
Senior Solution Architect - Cadence Design Systems Ltd (UK)
Reply Reply to author Forward Rate this post: Text
for clearing space
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before
posting.
You do not have the permission required to post.
Rajesh View profile
More options May 8, 1:32 am
Newsgroups: comp.cad.cadence
From: Rajesh <rai...@yahoo.com
Date: Thu, 7 May 2009 23:32:13 -0700 (PDT)
Local: Fri, May 8 2009 1:32 am
Subject: Re: Wire editor 5141 double via
Reply | Reply to author | Forward | Print | Individual message | Show
original | Report this message | Find messages by this author
I would suggest to use the minimumcut rule which can place more
number
of via's based on width of the wire.
rule layer metal1 (minimumcut (width 1.0 numcuts 2) (width 2.0
numcuts 3))
The example above means that at least 2 cuts are needed for any
connection to metal1 wires or pins that are greater than 1.0 microns
wide and 3 cuts are needed for connections greater than 2.0 microns
wide. The assumption is that number of cuts is increasing as width
increases.
This won't be restricted to a particular net because it is based on
layer rule.
Note: This works on releases later than IC5141USR2.
Regards,- Hide quoted text -
- Show quoted text -- Hide quoted text -

- Show quoted text -

Hi,

I am interested in changing the Create Path Command behavior only, I
am not sureif "Wire Editor" applies. I have found the method to
change which via is the default, userVia. However, I am still trying
to find a way to enforce a Minimum of Two Vias despite the wire
width. I realize this sometimes will cause DRCs, but are team uses
Double Vias as a minimum on most routes. Everything is hand routed,
we do not use routers.

Thank you in advance for any help,
Eric


userVia

layout userVia string { name_of_any_valid_via | nil }

Description

Specifies the which via is selected during path stitching using the
Create - Path command or when adding a contact using the Auto Contact
field on the Create - Contact command. When the environment variable
useDefaultVia is set to t, the via is selected in the following order:
the default via for the two layers, the via for the two layers
specified by userVia, the first valid via defined in the technology
file for the two layers, or no via if no valid via is defined in the
technology file for the two layers. When useDefaultVia is set to nil,
the via is selected in the following order: the via for the two layers
specified by userVia, a list of valid vias defined in the technology
file for the two layers, or no via if no valid via is defined in the
technology file for the two layers. You can override the technology
file default via by setting useDefaultVia to nil and userVia to the
required via. If userVia is set to nil, the setting of useDefaultVia
will be used. The default is nil.

GUI Equivalent:

Command


n/a

Form Field


n/a

Setting Method:

envSetVal

example
envSetVal( "layout" "userVia" 'string "v12"
In this case you need to define the double cut in the techfile and make
it the default. So instead of:

(M1_M2 via1 drawing metal1 drawing metal2 drawing
0.25 0.25 (1 1 0.5 0.5 center center) 0.1 0.1 _NA_)

you do:

(M1_M2 via1 drawing metal1 drawing metal2 drawing
0.25 0.25 (1 2 0.5 0.5 center center) 0.1 0.1 _NA_)
 

Welcome to EDABoard.com

Sponsor

Back
Top