SKILL callback problem, please help

M

Marius C.

Guest
Hi all,

I'm somehow new in the field, and I have a question:

How I can do some callback/triggering mechanism to receive messages
from Virtuoso to my own SKILL program?

I'm not speaking about BindKeys, I want to receive messages for:
- creating a rectangle
- creating a polygon
- moving a polygon, and so on...

I already read tons of SKILL PDF's and my patience is over :)
Please help me...
 
Hi Marius, as far as I know there is no public way of having events
triggered
when shapes are created, moved, modified and deleted. There is a
private
event control interface that is quite limited and even if made public
still only
provides events for some layout modifications and not all.


of course if you write your own SKILL code then you can write your own
version of dbCreateRect, dbCreatePolygon, dbSet etc... which will
trigger
whichever events you want before or after. But of course then you
must
always use your wrapper functions to create and modify shapes and never
simply the built in function. This does not however give you any way
of
intercepting dbCreate* calls in the lower level code which you did not
yourself write... :-(

-jim

Marius C. wrote:
Hi all,

I'm somehow new in the field, and I have a question:

How I can do some callback/triggering mechanism to receive messages
from Virtuoso to my own SKILL program?

I'm not speaking about BindKeys, I want to receive messages for:
- creating a rectangle
- creating a polygon
- moving a polygon, and so on...

I already read tons of SKILL PDF's and my patience is over :)
Please help me...
 
Thank you for help.
This will save me from wasting time searching for something that does
not exists.

Anyway, Cadence software tells me now interesting things:
*Error* def: given function is internal and cannot be redefined -
dbCreateRect

This is indeed something. Any other ideeas? cause now I'm really in
big trouble...

Marius
 
Hello Marius,

Can you explain why you want this? Maybe this helps to find an
alternative solution.

Greetings, William
 
Hi,

Please find my answer bellow
Can you explain why you want this? Maybe this helps to find an
alternative solution.
I develop a program that needs to know and internally update
whatever the user is doing in Layout Editor. I don't want to scan the
entire database periodically to see what is modified...

Best,
Marius
 
Can you not just parse or monitor the CDS.log file.

Bernd
 
On 26 Nov 2006 23:23:26 -0800, "Marius C." <mariusc@eed.usv.ro> wrote:

Hi,

This is the solution I try to avoid.
It sound bad to me cause is not a "round" programming solution from
many points of view:
- what if Cadence change even one byte to their output to CDS.log
- or, even bad, what if they change the output format on next version
of the software?

There must be another way to see what a user is doing (add, move,
delete) in Layout Editor in real time and not polling...

Best,
Marius
There are no triggers available at the SKILL level for doing this. Internally at
the C level, there are, but at the SKILL level, no.

The closest you could get is to wrap the commands used in bindkeys
and menus with functions that looked at the new data, but that's not
going to be easy with interactive commands - probably doomed to failure.

Regards,

Andrew.
--
Andrew Beckett
Principal European Technology Leader
Cadence Design Systems, UK.
 
Hi Andrew,

First, thanks for your response.

There are no triggers available at the SKILL level for doing this. Internally at
the C level, there are, but at the SKILL level, no.
What kind of C /C++ functions are you talking about: ITKDB, OpenAcess
or something else?
This functions can be used by general public or just internally by
Cadence programmers?

Best,
Marius
 
"Marius C." <mariusc@eed.usv.ro> writes:

Hi Andrew,

First, thanks for your response.

There are no triggers available at the SKILL level for doing this. Internally at
the C level, there are, but at the SKILL level, no.

What kind of C /C++ functions are you talking about: ITKDB,
I don't think those are available with ITKDB but I could be wrong.

OpenAcess
OA provides such functionnality (see oaObserver<>)

or something else?
This functions can be used by general public or just internally by
Cadence programmers?
OA observers are usable by the general public, for stand alone programs
they write.

I know of no way to link them into one of Cadence executables. (BTW, the same
thing hold for ITKDB interface if there is one).

Yours,

--
Jean-Marc
 
On 29 Nov 2006 07:10:57 -0800, "Marius C." <mariusc@eed.usv.ro> wrote:

Hi Andrew,

First, thanks for your response.

There are no triggers available at the SKILL level for doing this. Internally at
the C level, there are, but at the SKILL level, no.

What kind of C /C++ functions are you talking about: ITKDB, OpenAcess
or something else?
This functions can be used by general public or just internally by
Cadence programmers?

Best,
Marius
ITKDB won't help you (even if this was allowed within ITKDB, which it isn't)
since ITKDB only allows you to access the database from C from a standalone
program, not within DFII.

The same is true of OpenAccess (perhaps some kind of plugin might allow this,
I don't know), I believe.

So the C access I was talking about is for internal use only.

Normally this level of access is not needed - the existing APIs are usually
sufficient.

Regards,

Andrew.
--
Andrew Beckett
Principal European Technology Leader
Cadence Design Systems, UK.
 
Hi,

This is the solution I try to avoid.
It sound bad to me cause is not a "round" programming solution from
many points of view:
- what if Cadence change even one byte to their output to CDS.log
- or, even bad, what if they change the output format on next version
of the software?

There must be another way to see what a user is doing (add, move,
delete) in Layout Editor in real time and not polling...

Best,
Marius

Bernd Fischer a scris:
Can you not just parse or monitor the CDS.log file.

Bernd
 

Welcome to EDABoard.com

Sponsor

Back
Top