specifying default symbolic contact

D

danmc

Guest
I have a tech file which defines various symbolic contacts with
symContactDevice:

symContactDevice(
; (name viaLayer viaPurpose layer1 purpose1 layer2 purpose2
; w l (row column xPitch yPitch xBias yBias) encByLayer1 encByLayer2
legalRegion)

; contact defines here
)


There are a couple of metal layers that have more than once choice for
connecting vias. The choice of which is the correct one depends on how
many layers of metal you're using.

My question is there anything you can put in a .cdsinit or .cdsenv to
specify which symbolic contact should be prefered. In other words if
I'm doing a layout with 3 metal layers and routing with paths, I want
to automatically have the 2-3 via with top metal rules picked. If I'm
doing a layout with 4 metal layers, I want to automatically have the
2-3 via with lower metal rules picked.

Can the default be picked without modifying the tech file?

Thanks
-Dan
 
I've tried this:

techId = techGetTechFile(ddGetObj("myLibName"))
techSetDeviceProp( techId "VIA34_TOP" "symbolic" list("defaultVia" t))

but I end up with:

*WARNING* Failed to reopen cellView (VIA34_TOP symbolic), Permission
denied
*WARNING* Cannot open cellview in append mode: can't add property to
device, VIA34_TOP.

which is no suprise because "myLibName" is the PDK library and as a
user I can't (and shouldn't) write to it. It seems like something like
the "effective" CDF is needed where I can add the defaultVia (is that
even the right property) in my running cadence session with out writing
to the pdk.

Any ideas?

-Dan
 
On 15 Feb 2006 08:29:24 -0800, "danmc" <spam@mcmahill.net> wrote:

I've tried this:

techId = techGetTechFile(ddGetObj("myLibName"))
techSetDeviceProp( techId "VIA34_TOP" "symbolic" list("defaultVia" t))

but I end up with:

*WARNING* Failed to reopen cellView (VIA34_TOP symbolic), Permission
denied
*WARNING* Cannot open cellview in append mode: can't add property to
device, VIA34_TOP.

which is no suprise because "myLibName" is the PDK library and as a
user I can't (and shouldn't) write to it. It seems like something like
the "effective" CDF is needed where I can add the defaultVia (is that
even the right property) in my running cadence session with out writing
to the pdk.

Any ideas?

-Dan
Dan,

There's a solution which covers this partly - see http://sourcelink.cadence.com
and search for solution 11002496 .

If the vias already have the defaultVia property on them, you can use:

envSetVal("layout" "useDefaultVia" 'boolean t)

but I think you'll have problems with setting the defaultVia property if it
doesn't already exist. The tech file can be modified in memory only, but in this
case a cellView is created for the via, and that needs to be updated. At
a pinch you might be able to do:

cv=dbOpenCellViewByType("libName" "VIA34_TOP" "symbolic" "" "s")

first - to open the via in scratch mode. However, it's quite likely that it will
still try to open the symbolic device in append mode...

Better to actually fix the PDK!

Regards,

Andrew.
 
yeah, opening in scratch mode first doesn't do it.

So what does it actually mean to "fix the PDK"? Can a tech file have
switches in it? It seems that if I set the defaultVia property on, for
example VIA34_TOP, that will be fine until someone does a design with 5
layers of metal in which case VIA34 would be the correct default.

Or are you saying I should add the defaultVia property to all the
possible symbolics (possibly setting the value to nil) and then a user
can change the property?

-Dan
 
On 16 Feb 2006 08:03:34 -0800, "danmc" <spam@mcmahill.net> wrote:

yeah, opening in scratch mode first doesn't do it.

So what does it actually mean to "fix the PDK"? Can a tech file have
switches in it? It seems that if I set the defaultVia property on, for
example VIA34_TOP, that will be fine until someone does a design with 5
layers of metal in which case VIA34 would be the correct default.

Or are you saying I should add the defaultVia property to all the
possible symbolics (possibly setting the value to nil) and then a user
can change the property?

-Dan
Hi Dan,

No, I think you can only have one default for each layer combination. I don't
know how to handle the situation you describe - that's a good question...

Best thing is to log a service request with customer support - it may need an
enhancement (or somebody who has time to research it properly ;-> )

Regards,

Andrew.
 

Welcome to EDABoard.com

Sponsor

Back
Top