SKILL tutorial

P

psitham

Guest
Hello Everybody,

Can anyone tell me the easiest way to learn SKILL to interface with
Cadence. I'm constructing layouts at the moment and it is impossible to
assemble them individually by hand for large designs. If you can
suggest some books or tutorials that you might know, because I tried
searching for it on the web and the material is really very limited. Is
the OpenBook of cadence a good starting point ?.

Thank You.
~psitham
 
fogh wrote:
this last one has many ^art functions.
I don t remember seeing so much docs on this.
Were those replaced by ^sev functions lately ?
I don't know; so I just looked up all ^art & ^sev SKILL functions
defined in the latest DFII release (ICOA5251) to get better details for
you on this question.

In that latest Design Framework II release, there are 681 ^sev
functions, of which 114 are public; in contrast, there are about as
many ^art functions (559), but vastly fewer of them are intended for
public use (15) by Cadence R&D managers.

So, I'm guessing, what you're probably seeing is the fact there are
seven times more art functions than sev functions documented &
supported & therefore visible & available for public use.

---
John Gianni
NOTHING I state on the USENET is sanctioned by my employer.
 
.... ooops ...
seven times FEWER art functions than sev functions
 
John Gianni wrote:
... ooops ...
seven times FEWER art functions than sev functions

:)
Never mind, I got your point : the tutorial uses mostly undocumented funcs.
 
BTW, to list all public functions currently defined (including your
own) in any particular session, don't use the old
listFunctions("^sev[A-Z]*") syntax (which doesn't do much more than a
help("^sev[A-Z]*"); use the new DFII listFunctions syntax proposed by
Andrew (which does exactly what a coder wants it to do).

listFunctions("^sev[A-Z]*" t)

Where the extra "t" argument tells the listFunctions program to not
consult the cdsFinder database (which takes too darn long for my tastes
and which only tells you what's documented - not what's currently
callable).

With Andrew's new "t" argument, listFunctions now does what it should
have done all along - tell you what's public and callable at this very
moment.

If any particular Cadence DFII SKILL function is not listed by
listFunctions using the optional new "t" argument, then it's probably
not safe (over time) to use that SKILL function in your DFII
customization code.

John Gianni
--
USENET opinions are my own and not necessarily that of my employer.
 
psitham wrote:
Can anyone tell me the easiest way to learn SKILL ...
I tried searching for SKILL on the web
Is the OpenBook of cadence a good starting point ?.
This question has been asked many times in the past.
Basically, the answer is yes.
To learn SKILL, do two things:
a) Read the SKILL user guides (there are plenty shipped with DFII)
b) Take a SKILL training class (some are virtually free)
For example, every year, the International Cadence User Group offers
half-day basic and advanced and Pcell SKILL programming classes for 50
bucks.

Plenty of examples abound on the Internet, for example, I just googled
for keywords of learn SKILL programming & your question popped up many
times.
For example, see this 10 Jun 2002 thread by Reuben Wilcock summarized
below:

Subject: SKILL programming
Newsgroup: comp.cad.cadence
Date: 10 Jun 2002 07:17:10 -0700

Can anyone offer advice on the best way of starting to learn to
program in SKILL - where to get manuals and examples and any other
information. Basically anything to get me started. This is going to be
aiming towards manipulating layouts and pCells - another thing which I
would be grateful for information about.

To which the esteemed Andrew Beckett suggested:
Start by reading the SKILL user guide in openbook or cdsdoc (depending
on which version you're using). The SKILL User Guide is written like
a programming book - and goes through from basics upwards, and has
some simple examples in the manual too.

You might also want to look through the SKILL reference manual, the
Design Framework II SKILL Reference manual, and the Relative Object
Design manual (for pcells).

However, I'd strongly recommend attending one of Cadence's SKILL
classes - you'll find that you'll get up to speed much quicker that
way (I know you'd expect me to say that, but it really is the quickest
way of getting up to speed).

And to which Erik Wanta expounded upon, namely:

Read the following documentation on sourcelink.
- SKILL Language User Guide
- SKILL Language Reference
- DFII SKILL Functions
- Development SKILL Functions
- User Interface SKILL Functions
- Schematic Composer SKILL Functions
- Layout Virtuoso SKILL Functions
- Techfile & Display Resources SKILL Functions
- Floorplanning SKILL Functions
- Analog Artist SKILL Functions
- Open Simulation System Reference
- IPC SKILL Functions
- SKILL++ Object Oriented Programming
- Cadence Application Infrastructure User Guide
- Component Description Format (CDF) User Guide

http://www.ee.vt.edu/~ha/cadtools/cadence/skill.html
http://www.utdallas.edu/~grinnell/ee7v81
www.informatik.uni-stuttgart.de/ipvr/ise/projekte/cadence/AA/CadenceSKILL.html

Other messages backed up these two suppositions, e.g.:

Newsgroups: comp.cad.cadence
From: Grant Erwin <g...@tinyisland.com>
Date: Fri, 15 Mar 2002 07:36:40 -0800

Don't start by reading SKILL code.
Much too intimidating.
Start by reading the online document "SKILL User's Guide".
I'd print it out and take it home and just try to read it like a
novel.

I don't know of too many people who are successful at picking up SKILL

without going to the Cadence training courses ... <snip>

Also, contact your sales or support team and obtain a SKILL Quick
Reference which contains short-form documentation on over 5000 public
SKILL functions.

John Gianni
--
Absolutely nothing I post to the USENET is sanctioned by my employer.
 
Thanks a lot ... and sorry not to have gone through previous posts to
check for something like this although I was sure it must have existed
....

~psitham

John Gianni wrote:
psitham wrote:
Can anyone tell me the easiest way to learn SKILL ...
I tried searching for SKILL on the web
Is the OpenBook of cadence a good starting point ?.

This question has been asked many times in the past.
Basically, the answer is yes.
To learn SKILL, do two things:
a) Read the SKILL user guides (there are plenty shipped with DFII)
b) Take a SKILL training class (some are virtually free)
For example, every year, the International Cadence User Group offers
half-day basic and advanced and Pcell SKILL programming classes for
50
bucks.

Plenty of examples abound on the Internet, for example, I just
googled
for keywords of learn SKILL programming & your question popped up
many
times.
For example, see this 10 Jun 2002 thread by Reuben Wilcock summarized
below:

Subject: SKILL programming
Newsgroup: comp.cad.cadence
Date: 10 Jun 2002 07:17:10 -0700

Can anyone offer advice on the best way of starting to learn to
program in SKILL - where to get manuals and examples and any other
information. Basically anything to get me started. This is going to
be
aiming towards manipulating layouts and pCells - another thing which
I
would be grateful for information about.

To which the esteemed Andrew Beckett suggested:
Start by reading the SKILL user guide in openbook or cdsdoc
(depending
on which version you're using). The SKILL User Guide is written like
a programming book - and goes through from basics upwards, and has
some simple examples in the manual too.

You might also want to look through the SKILL reference manual, the
Design Framework II SKILL Reference manual, and the Relative Object
Design manual (for pcells).

However, I'd strongly recommend attending one of Cadence's SKILL
classes - you'll find that you'll get up to speed much quicker that
way (I know you'd expect me to say that, but it really is the
quickest
way of getting up to speed).

And to which Erik Wanta expounded upon, namely:

Read the following documentation on sourcelink.
- SKILL Language User Guide
- SKILL Language Reference
- DFII SKILL Functions
- Development SKILL Functions
- User Interface SKILL Functions
- Schematic Composer SKILL Functions
- Layout Virtuoso SKILL Functions
- Techfile & Display Resources SKILL Functions
- Floorplanning SKILL Functions
- Analog Artist SKILL Functions
- Open Simulation System Reference
- IPC SKILL Functions
- SKILL++ Object Oriented Programming
- Cadence Application Infrastructure User Guide
- Component Description Format (CDF) User Guide

http://www.ee.vt.edu/~ha/cadtools/cadence/skill.html
http://www.utdallas.edu/~grinnell/ee7v81

www.informatik.uni-stuttgart.de/ipvr/ise/projekte/cadence/AA/CadenceSKILL.html

Other messages backed up these two suppositions, e.g.:

Newsgroups: comp.cad.cadence
From: Grant Erwin <g...@tinyisland.com
Date: Fri, 15 Mar 2002 07:36:40 -0800

Don't start by reading SKILL code.
Much too intimidating.
Start by reading the online document "SKILL User's Guide".
I'd print it out and take it home and just try to read it like a
novel.

I don't know of too many people who are successful at picking up
SKILL

without going to the Cadence training courses ... <snip

Also, contact your sales or support team and obtain a SKILL Quick
Reference which contains short-form documentation on over 5000 public
SKILL functions.

John Gianni
--
Absolutely nothing I post to the USENET is sanctioned by my employer.
 
John Gianni wrote:
psitham wrote:
www.informatik.uni-stuttgart.de/ipvr/ise/projekte/cadence/AA/CadenceSKILL.html
John,
this last one has many ^art functions. I don t remember seeing so much
docs on this. Were those replaced by ^sev functions lately ?
 
fogh wrote:
this last one has many ^art functions.
I don t remember seeing so much docs on this.
Were those replaced by ^sev functions lately ?
I don't know; so I just looked up all ^art & ^sev SKILL functions
defined in the latest DFII release (ICOA5251) to get better details for
you on this question.

In that latest Design Framework II release, there are 681 ^sev
functions, of which 114 are public; in contrast, there are about as
many ^art functions (559), but vastly fewer of them are intended for
public use (15) by Cadence R&D managers.

So, I'm guessing, what you're probably seeing is the fact there are
seven times more art functions than sev functions documented &
supported & therefore visible & available for public use.

---
John Gianni
NOTHING I state on the USENET is sanctioned by my employer.
 
Sorry for the posting hiccup.
I guess I hit submit a few times when the browser seemingly hung.

I got your point : the tutorial uses mostly undocumented funcs.
Someone sent me an email to my corporate address noting many of those
art functions documented in the previously mentioned Stuttgart URL are
not only undocumented, but, were removed in DFII IC 445 long ago. My
bad for reposting the url.

That mistake underscores the issue with using the 5000 DFII public
functions vs the 50000 DFII private functions ... those innumerable
private functions are not only generally written for a very specific
purpose with known input parameters but they change like the wind in a
low-pressure area and, worse yet, go away like the clouds under the sun
.... so using public documented supported functions is always a good
high-pressure area warm and clear skies recommendation.

As always, if you find you *need* to use a Cadence private SKILL
function, submit that private function to the Cadence private functions
resolution process which has worked hundreds of times in the past to
give the Customer public documented supported functionality before the
private functions dissappear (which almost all do, in time).

For those who don't already know, the SKILL Tabulator will give you a
complete personal inventory of which SKILL functions you call & how
many times, plus which you've defined (and how many times, if any,
you've called it) ... and if you send in that tabulation to Cadence,
the SKILL Survey will then tell you which functions are public and
which are private (you can't always tell from the name), which are
documented and supported, which are called but not defined (typos?
dependencies?), which are changed or deleted in what release (and how
to recover from those changes or deletions), etc.

Just press the CIW Tools -> SKILL Development -> SKILL Surveyor

Iain, Andrew, and I (and others) wrote that tool to help the SKILL
coder obtain a complete inventory of all SKILL on any network.

John Gianni
--
USENET opinions are my own and not necessarily that of my employer.
 
BTW, to list all public functions currently defined (including your
own) in any particular session, don't use the old listFunctions syntax
(which doesn't do much more than a basic help("^sev[A-Z]*"):

listFunctions("^sev[A-Z]*")

Instead, use the more powerful new (yet totally forward compatible)
DFII listFunctions syntax proposed by Andrew B. (which does exactly
what a coder wants it to do).

listFunctions("^sev[A-Z]*" t)

That optional "t" argument tells the listFunctions program to not
consult the cdsFinder database (which takes too darn long for my tastes
and which only tells you what's documented - not what's currently
callable).

With Andrew's new "t" argument, listFunctions now does what it should
have done all along (IMHO). That is, the "t" tells listFunctions to
list all SKILL functions which are both public and callable at this
very moment. That's the functionality you deserved all along.

On the other hand, if any particular Cadence DFII SKILL function is not
listed by listFunctions using the optional new "t" argument, then it's
probably not safe (over time) to use that SKILL function in your DFII
customization code.

Now would be the time to check (well before that function is changed or
deleted).

John Gianni
--
USENET opinions are my own and not necessarily that of my employer.
 

Welcome to EDABoard.com

Sponsor

Back
Top