Newsgroups: comp.cad.cadence
Subject: Re: SKILL in OCEAN a newbeginner bashes his head
NNTP-Posting-Host: 66.47.65.77
Sven Are Bjerkem wrote;
Quote:
> Hi Pete, thanks a lot for that simple interpretation of what the '
> means. Things like these make it so horrible to start of with a new
> programming language. As a HW engineer I have to learn a lot of them
> because each tool supplier have their own scripting language. Up until
> now I've had to work with Perl, Java, C and C++ and hoped that Lisp
> would be for XEmacs only. Cadence has proven me wrong
Sven, you have a very good point why must hardware designers, who are
already very over worked, having to learn so many different
languages, especially some very non-standard languages with lots of
unusual and hard to remember syntax at a cost of enormous frustration.
The answer is you don't if you use the right tools. Undertow and
Undertow Suite waveform viewing and RTL source code debugging tools
from Veritools, use standard PERL as a built in scripting language.
Adding Perl scripting to Undertow was done specifically because of the
issue you have raised. Perl is now is totally ubiquitous in the
design, EDA, CAD communities, almost every design team today uses PERL
to do all of the mundane work to connect the various design processes
together. Why should you be forced with much pain and effort on your
part to learn yet another difficult to learn, complex scripting
language.
The PERL scripting in Undertow is in fact just standard PERL, with
extensions to allow it to read data from the waveform display or
from any data base that Undertow can read, and to do in PERL any
operation that a user of the Undertow waveform display tool can do
manually, with one big exception. The internal PERL routines that read
or operate on the data are all highly optimized C routines with a PERL
encapsulator, so they run 100,000s of thousands of times if not
millions of times faster than standard PERL doing the exact same
operation.
And what are some of these operations, "Compare digital waveform
files", "Elliptic filter", "Chevechev Filter", "measure signal
deltas", integrate, differentiate, etc. Any analog or digital
operation that Undertow can do has been encapsulated into a PERL
function that runs at lighting speed.
One last point, Undertow/Undertow Suite can load even several
multi-gigabyte files almost instantly and then display any signal or
signals from any of these files again almost instantly. This data can
be analog, digital or mixed analog/digital waveform data. This tool is
specially targeted at users where viewing speed especially with large
files has become a significant issue.
If you wish you can get Undertow/Undertow Suite from
www.veritools-web.com and a license from myself or
out to see how easy it is to use and build scripts with a language
that you already know.
sven wrote;
Quote:
> > >Very simple task:
> > >- Get a list of subwindows in a window
> > >- use foreach to save in files with suffix like windownumber
> ...
> > >Why don't I get a number instead of winNum?
> > >This is very stupid and I have tried a lot of different commands from
> > >the manual but I somehow don't grasp it
> > It's because you have winNum embedded in:
> > '("tb_case1_" winNum ".ps")
> > The single quote before the open parenthesis says "don't evaluate anything
> > within the parentheses" -- so winNum becomes the symbol 'winNum.
> Hi Pete, thanks a lot for that simple interpretation of what the '
> means. Things like these make it so horrible to start of with a new
> programming language. As a HW engineer I have to learn a lot of them
> because each tool supplier have their own scripting language. Up until
> now I've had to work with Perl, Java, C and C++ and hoped that Lisp
> would be for XEmacs only. Cadence has proven me wrong.
> Now, I did what you suggested and used the opportunity to make my code
> a bit more Lisp'ish as I otherwise tend to write C or Perl syntax: