Usenet.com

www.Usenet.com

Group Index

Comp Thread Archive from Usenet.com

<-- __Chronological__ --> <-- __Thread__ -->

Re: Skill-C interface



Frank,

On Tue, 25 Nov 2003 13:16:02 -0800, "gennari" <[EMAIL PROTECTED]> wrote:

>A few years ago I had to write a separate C++ program to get around some of
>the limitations of SKILL, and then call that program from SKILL. In
>particular, SKILL/Cadence crashed when I tried to create a hash table of
>several hundred thousand x/y points. Also, I couldn't find any way of
>performing bit-level operations in SKILL such as bitshifts, bit masking,
>etc. In fact I think skill uses 32 bits in all integers, even when I only
>need to store an 8-bit value, and that's 4X memory overhead. I eventually
>had to implement the layout database and gometry query functions into my C++
>program to aviod writing I/O files of many MB. Now the program is
>independent of Cadence, but I wonder if all that work was really worth it.
>

functions such as bor, band - which are equivalent to operators | and &. Also
bnand, bnor, bxor, bxnor (operators for each of these too).
leftshift, rightshift (<< and >>).
The bitfield, bitfield1 functions as well are useful. These are equivalents
of doing something like:

a=1234
a<4:2>  => 4
a<4> => 1
a<<1 => 2468
a>>2 => 308
a&10 => 2
a|5 => 1239
a^2 => 1232 (xor)

Bet you didn't know you could do that ;-(

They're all documented, and have been there for as long as I can remember.

>Oh, and as a side note, is there any way to create a small bitmap image in
>Cadence other than building it from single pixel rectangles on the
>multi-colored "y0" - "y9" layers in the LSW? It takes a really long time to
>do this in SKILL.
>

Depends what you want to use the bitmap for. If it's for menu items, icons
etc in DFII, then hiStringToIcon and related functions would help. Some of the
^dl (displayList) functions can be used too (don't get used much, but can be
quite handy).

Andrew.

>Frank
>
>"Andrew Beckett" <[EMAIL PROTECTED]> wrote in message
>news:[EMAIL PROTECTED]
>> You could use the Integrators Toolkit (ITK-DB). This allows you to write
>> standalone applications which access the database from C, and there is
>some
>> (limited) support for invoking SKILL from this.
>>
>> However, I suspect this is not what you want. You can't (for example) link
>in
>> some C code with DFII and call that from SKILL (we don't support that, for
>> a variety of reasons - one being that it is rarely necessary). What you
>can do
>> however is to write your computationally intensive tasks in a separate
>program,
>> which you can then invoke using the ipc function calls (e.g.
>ipcBeginProcess),
>> and then communicate to that external program either synchronously or
>> asynchronously. This can be quite an effective means of doing things
>outside.
>>
>> What sort of intensive operations are you talking about? SKILL can be
>pretty
>> quick provided that you do things correctly (it's byte-code compiled,
>> and runs on a virtual machine).
>>
>> Regards,
>>
>> Andrew.
>>
>>
>> On Mon, 24 Nov 2003 15:20:13 -0700, sampath <[EMAIL PROTECTED]> wrote:
>>
>> >Hi,
>> >is there anyway that i can mix skill and c code,
>> >I am looking for a way to do some runtime intensive operations in c and
>> >get the data into a skill code?
>> >can somebody tell a solution?
>> >sampath
>>
>> --
>> Andrew Beckett
>> Senior Technical Leader
>> Custom IC Solutions
>> Cadence Design Systems Ltd
>

--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd



<-- __Chronological__ --> <-- __Thread__ -->


Usenet.com



Please check out one of the premium Usenet Newsgroup Service Providers below for access to Usenet.