SKILL callback problem, please help

Discussion in 'Cadence' started by Marius C., Nov 22, 2006.

  1. Marius C.

    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...
     
    Marius C., Nov 22, 2006
    #1
  2. Marius C.

    Jimka Guest

    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
     
    Jimka, Nov 22, 2006
    #2
  3. Marius C.

    Marius C. Guest

    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
     
    Marius C., Nov 23, 2006
    #3
  4. Marius C.

    wre Guest

    Hello Marius,

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

    Greetings, William
     
    wre, Nov 23, 2006
    #4
  5. Marius C.

    Marius C. Guest

    Hi,

    Please find my answer bellow
    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
     
    Marius C., Nov 23, 2006
    #5
  6. Can you not just parse or monitor the CDS.log file.

    Bernd
     
    Bernd Fischer, Nov 23, 2006
    #6
  7. Marius C.

    Marius C. Guest

    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:
     
    Marius C., Nov 27, 2006
    #7
  8. 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, Nov 29, 2006
    #8
  9. Marius C.

    Marius C. Guest

    Hi Andrew,

    First, thanks for your response.
    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., Nov 29, 2006
    #9
  10. I don't think those are available with ITKDB but I could be wrong.
    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 Bourguet, Nov 29, 2006
    #10
  11. 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, Nov 30, 2006
    #11
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.