Cadence virtuoso customizations

W

wre

Guest
As addicted user of shortcuts, I recently placed my Cadence Virtuoso
customizations
on a blog. You can find it at

http://relyveld.wordpress.com/cadence-page

Extract:
It all started with the wish to use Alt-1 to toggle metal1 visibility,
and Alt-2 to toggle
metal2 visibility. Then I started to want other posibilities, get rid
of the LSW window,
raise the library manager etc. I quickly grew out of Alt-... keys and
introduced
Alt-a Alt-b combinations, typed after each other.

Example: switch to schematic view when in a Virtuoso layout window:
Alt-i : go to library manager mode
Alt-e : switch to schematic view of this cell
Alt-e : switch back to the layout view

Example: select all single vias in a Virtuoso layout window:
Alt-f : go to filter mode
Alt-v : select vias (in the visible part of the active window)
Shift-Alt-b : filter smaller items (works with transistors, vias,
rectangles etc.)
repeat Shift-Alt-b until you get only the single

Example: save netlist from schematic view:
Alt-s : create netlist. (Need to set the simulator once first)

Greetings, William.
 
wre wrote:
I recently placed my Cadence Virtuoso customizations
on a blog. You can find it at
http://relyveld.wordpress.com/cadence-page
Without looking at all inside the SKILL code, purely from a 5-minute
DFII CIW: Tools->SKILL->Survey "syntactical goodness" standpoint, this
code (wrAltEdit.il) is pretty well written for portability between
releases.

The wrAltEdit.il SKILL file makes use of 308 SKILL functions, 179 of
which are public in IC610 and only 3 are considered private
(undocumented, unsupported); 0 have been deleted in any release from
IC440 to IC610; 0 were redefined Cadence production functions; 3 have
syntactically changed between IC5251 and IC610 (mostly optional new
arguments & argument type improvements); and 117 were defined in the
code under test (5 of which are redefined Cadence Customer Support
SKILL functions).

I don't know the legalities of re-distribution of Cadence Customer
Support functions (I'll leave that to others to ponder) but it was nice
to see of the 112 remaining user-defined functions, all started with
the same prefix (albeit it was a lower-case prefix contrary to current
Cadence recommendations for user-defined SKILL functions).

Unfortunately, 6 functions were called in the code that did not have
corresponding definitions either in the code under test or in any
Cadence production CDROM. These would generally be typos or
dependencies on other code. I noticed at the
http://relyveld.wordpress.com/cadence-page web site that a second set
of code (wrDrf.il) was necessary ... but the link came up with a "404
Not Found" error when I clicked on it today so I was unable to
determine if the missing functions were defined there.

Since it took longer to type this up than it took to run the DFII
CIW:Tools -> SKILL -> Survey, I won't go into further detail. Anyone
could find out all of this (and more) in two minutes simply by running
the same SKILL Survey I just ran.

One recommendation I would make though is to follow the
private-function resolution process to convert the 3 private
(undocumented unsupported) function calls to public documented and
supported function calls. That process works exceedingly well hundreds
of times in the past few years by providing user with either:
- An existing equivalent public replacement, or,
- By classifying the function as public, or,
- By giving the source code to the function (if that src code is all
public), or,
- By providing a different way to perform the task which uses public
functions
etc.

All in all, for its size (7K lines), this is syntactically decent SKILL
code.

Good luck and thanks for helping others by providing (presumably)
working SKILL examples (once those undefined functions are cleared up)!

John Gianni
--
Absolutely nothing I say here should be construed as company policy.
This post is a personal opinion and is not prior reviewed by my
employer!
 
Blog for Cadence customization and SKILL code,
good idea.

Bernd
 
William,

This Skill code contains foundry's confidential information.
You are not allowed to make it public.
You need to remove all specific foundry's code inside this file
before publishing it in your blog site.
The other alternative would be to make it running with the Cadence
GPDK and publish it on the Cadence Repository for Electronic
Transfer & Education ( http://crete.cadence.com ).

Have you got the foundry's design-kit from CMP ?

======================
Kholdoun TORKI
Kholdoun.Torki@imag.fr
http://cmp.imag.fr
======================

wre wrote:

As addicted user of shortcuts, I recently placed my Cadence Virtuoso
customizations
on a blog. You can find it at

http://relyveld.wordpress.com/cadence-page

Extract:
It all started with the wish to use Alt-1 to toggle metal1 visibility,
and Alt-2 to toggle
metal2 visibility. Then I started to want other posibilities, get rid
of the LSW window,
raise the library manager etc. I quickly grew out of Alt-... keys and
introduced
Alt-a Alt-b combinations, typed after each other.

Example: switch to schematic view when in a Virtuoso layout window:
Alt-i : go to library manager mode
Alt-e : switch to schematic view of this cell
Alt-e : switch back to the layout view

Example: select all single vias in a Virtuoso layout window:
Alt-f : go to filter mode
Alt-v : select vias (in the visible part of the active window)
Shift-Alt-b : filter smaller items (works with transistors, vias,
rectangles etc.)
repeat Shift-Alt-b until you get only the single

Example: save netlist from schematic view:
Alt-s : create netlist. (Need to set the simulator once first)

Greetings, William.
 
Hello Kholdoun,

I will replace all actual names as proposed. Sadly enough, I disabled
the
link for the wrAltEdit.il file and will ask cadence about the cadence
customer functions before enabling it again. Btw, I am working with
Philips and we are cooperating with ST and Freescale as you might know.

Thanks for the feedback.

Greetings, William.


Kholdoun TORKI wrote:

William,

This Skill code contains foundry's confidential information.
You are not allowed to make it public.
You need to remove all specific foundry's code inside this file
before publishing it in your blog site.
The other alternative would be to make it running with the Cadence
GPDK and publish it on the Cadence Repository for Electronic
Transfer & Education ( http://crete.cadence.com ).

Have you got the foundry's design-kit from CMP ?

======================
Kholdoun TORKI
Kholdoun.Torki@imag.fr
http://cmp.imag.fr
======================
 
wre wrote:
I will replace all actual names as proposed. Sadly enough, I disabled
the link for the wrAltEdit.il file and will ask cadence about the cadence
customer functions before enabling it again. Btw, I am working with
Philips and we are cooperating with ST and Freescale as you might know.
I emailed you the results of a SKILL Survey so you can see what to do
about the undefined functions and any other issues. I don't wish to
discourage anyone from posting SKILL code for others to benefit so I do
suggest you simply work on the issues.

If you like, I can get you in touch with the Cadence Customer Support
folks (you have my real email address - don't use the one on this
posting as it's merely a spam trap) by email or by phone. Just send me
an email and I'll set it up for you.

With respect to Kholdoun Torki's helpful suggestion, the only problem
is that Cadence recently reduced funding for that program so the
http://crete.cadence.com web site and all the previously available
design kits (e.g., the gCDK180) and designs (e.g., the Hummingbird PLL
and the Eaglet RF/Analog/Mixed-Signal/Digital/Memory test chip are no
longer published at that location). Incidentally, the Eaglet test chip,
which was used at more than a few universities in their classes I am
told, was also fab'd in the Tower 180nm mixed-signal process. That's a
great testament to an EDA company's university partnership test chip!

That having been said, porting your code to a generic process is
probably a 'good thing'. The Cadence gPDK090 was never shipeed with
DFII code, but, the gPDK180 was shipped in a few releases of DFII way
back when (someone else may remember exactly which releases) so you may
even already have it handy. And, of course, the gCDK180 was on the
Cadence Repository for Electronic Transfer & Education for many years
(a CDK is a complete design kit, which means it contains everything
needed to run the desired flow, which includes standard cell libraries,
IO libraries, Celtic CDB views, NeoCell config files, model files,
verification rule decks, LEF & LIB, memory compilers, etc.)

Good luck,
John Gianni
--
Absolutely nothing I state here is a company statement!
Everything I say on the Internet is a personal opinion & is not prior
reviewed nor sanctioned by anyone!
 
Hello John,

Thanks for the proposal to contact cadence about the public use of
their customer support functions. I thought that the disclamer in those

functions already allowed me to reuse freely:
********************************************************************
* DISCLAIMER: The following code is provided for Cadence customers *
* to use at their own risk. The code may require modification to *
* satisfy the requirements of any user. The code and any *
* modifications to the code may not be compatible with current or *
* future versions of Cadence products. *
* THE CODE IS PROVIDED "AS IS" AND WITH NO WARRANTIES, INCLUDING *
* WITHOUT LIMITATION ANY EXPRESS WARRANTIES OR IMPLIED WARRANTIES *
* OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. *
********************************************************************
But I would like it if you would get in touch with Customer Support and
let us
know in this newsgroup if it is allowed to reuse it this way.

About the PDK, I specially posted my customizations to make them more
general applicable. Now they work for Philips processes and I don't
know
how different our PDKs are from other PDKs. My expectation is that it
should not
be that difficult to rename a few things like width/length and spacing
names.
And then you are able to increase the contact to poly spacing of ten
different w/l transistors with layout grid steps with:
Select the wanted transistors (both nmos/pmos possible in one
selection)
Alt-q : goto property mode
Alt-s : contact to gate spacing
Alt-up : increase space with one grid
Done, no question windows involved.

Greetings, William.

John Gianni wrote:

I emailed you the results of a SKILL Survey so you can see what to do
about the undefined functions and any other issues. I don't wish to
discourage anyone from posting SKILL code for others to benefit so I do
suggest you simply work on the issues.

If you like, I can get you in touch with the Cadence Customer Support
folks (you have my real email address - don't use the one on this
posting as it's merely a spam trap) by email or by phone. Just send me
an email and I'll set it up for you.

With respect to Kholdoun Torki's helpful suggestion, the only problem
is that Cadence recently reduced funding for that program so the
http://crete.cadence.com web site and all the previously available
design kits (e.g., the gCDK180) and designs (e.g., the Hummingbird PLL
and the Eaglet RF/Analog/Mixed-Signal/Digital/Memory test chip are no
longer published at that location). Incidentally, the Eaglet test chip,
which was used at more than a few universities in their classes I am
told, was also fab'd in the Tower 180nm mixed-signal process. That's a
great testament to an EDA company's university partnership test chip!

That having been said, porting your code to a generic process is
probably a 'good thing'. The Cadence gPDK090 was never shipeed with
DFII code, but, the gPDK180 was shipped in a few releases of DFII way
back when (someone else may remember exactly which releases) so you may
even already have it handy. And, of course, the gCDK180 was on the
Cadence Repository for Electronic Transfer & Education for many years
(a CDK is a complete design kit, which means it contains everything
needed to run the desired flow, which includes standard cell libraries,
IO libraries, Celtic CDB views, NeoCell config files, model files,
verification rule decks, LEF & LIB, memory compilers, etc.)

Good luck,
John Gianni
 
wre wrote:
I would like it if you would get in touch with Customer Support and
let us know in this newsgroup if it is allowed to reuse it this way.
Hi WIlliam,
I am, by no means, a spokesperson for the legal use of SKILL code but I
did send an email just now to those in Customer Support and IP
Protection who may have a say in the matter.

If they choose to answer me and if that answer can be made available to
you or to the newsgroup, I'll do that as a courtesy to all.

If not, I'll have to leave it as it lies. However, I do congratulate
you for taking the time and effort to post SKILL code that can benefit
a wide audience of Cadence Virtuoso users. I merely recommend folks run
a quick two-minute DFII CIW:Tools -> SKILL -> Survey on all SKILL code
so as to ascertain the "syntactical goodness" of the code.

Good luck,
John Gianni
--
This is a personal opinion which is in no way prior sanctioned by my
employer!
 
Hi WIlliam,
When you get this all sorted out re the legal issues, you are
encouraged to also post any non-proprietary SKILL code on the Cadence
user group website at www.cdnusers.org. This site has a forum
specifically for Virtuoso SKILL.

Linda
 
LindaM wrote:

Hi WIlliam,

When you get this all sorted out re the legal issues, you are
encouraged to also post any non-proprietary SKILL code on the Cadence
user group website at www.cdnusers.org. This site has a forum
specifically for Virtuoso SKILL.

Linda
It was not clear if I could publish the Cadence Customer Support
functions this way, but I found other CCS functions on usenet too. I
asked this on the www.cdnusers.org forum but
did not yet got a reply. So I assume now that this is not a big issue.
If it is, I can remove those functions in an update if needed. The
functionality also doesn't depend much on the CCS functions.
So I posted the file again. You can download it from:
http://relyveld.wordpress.com/
I will also post a message to the www.cdnusers.org site.

Greetings, William.
 
William,

thank you for your post on www.cdnusers.org. We are gathering data
internally re SKILL posting issues, so that is why you have not yet
received a message.

Linda M
wre wrote:
LindaM wrote:

Hi WIlliam,

When you get this all sorted out re the legal issues, you are
encouraged to also post any non-proprietary SKILL code on the Cadence
user group website at www.cdnusers.org. This site has a forum
specifically for Virtuoso SKILL.

Linda

It was not clear if I could publish the Cadence Customer Support
functions this way, but I found other CCS functions on usenet too. I
asked this on the www.cdnusers.org forum but
did not yet got a reply. So I assume now that this is not a big issue.
If it is, I can remove those functions in an update if needed. The
functionality also doesn't depend much on the CCS functions.
So I posted the file again. You can download it from:
http://relyveld.wordpress.com/
I will also post a message to the www.cdnusers.org site.

Greetings, William.
 

Welcome to EDABoard.com

Sponsor

Back
Top