Few questions about skill, for experts

Discussion in 'Cadence' started by bu-bu, Aug 27, 2008.

  1. bu-bu

    bu-bu Guest

    Hello all,

    I have some questions about skill and Cadence. Thanks to help me!

    ~Is it possible to display Japanese font in skill ? I mean, messages
    in CIW or when creating a user interface ?
    I guess it's not possible, maybe someone can confirm ?

    ~ how to make a script resident in memory ?
    i have a script that i want to use every time. I would like to make it
    resident in memory, to avoid to click my buttons many times a day.

    ~ Is it possible to create a checksum for a view ? (symbol, schematic
    or layout ?)
    I would like to create a versioning tool that detects automatically
    the changes in these view and update a text file.
    I thought it could be easy with checksums.


    thanks a lot for your help !!!

    Best Regards,

    bu.
     
    bu-bu, Aug 27, 2008
    #1
  2. bu-bu wrote, on 08/27/08 02:59:
    I don't believe this is possible. I may be wrong though - I've never tried...
    Not sure what you mean. When SKILL is loaded, it's in memory. Perhaps you're
    asking to have something that is called on a regular basis? If so,
    take a look at my sourcelink solution number 11381132
    You could invoke the UNIX "cksum" command on the data files.
    Regards,

    Andrew.
     
    Andrew Beckett, Aug 29, 2008
    #2
  3. bu-bu

    wre Guest


    If you want to run a script every few seconds you could do this.

    hiRegTimer( "yourfunction( \"your input\")" 10)

    I use this in a showproperties function which shows the w and l of
    the
    current selected transistor or resistor for example. I implemented
    a value input to start, stop or repeat the function. This enables
    you to stop it from repeat mode. Sample code to get the idea:

    procedure( wrShowProperties( @optional value instance)

    let( ( all internal vars ...)

    wrText = nil
    unless( boundp( 'wrShowPropertiesValue)
    wrShowPropertiesValue = "start"
    wrShowPropertiesTextPrev = ""
    )

    if( null( value) && null( instance)
    then
    if( wrShowPropertiesValue == "repeat"
    then
    wrShowPropertiesValue = "stop"
    else
    wrShowPropertiesValue = "repeat"
    )
    )

    case( wrShowPropertiesValue
    ( "stop"
    wrText = "stopped"
    instancepointerPrev = nil
    )
    ( t
    ....
    code to get interesting properties to show
    ....
    if( wrShowPropertiesValue == "repeat" && null( instance)
    then
    hiRegTimer( "wrShowProperties( \"repeat\")" 10)
    )
    if( wrShowPropertiesValue == "stop"
    then
    wrText = "stopped"
    )
    )
    ) ;; case
    if( wrDecodeBindKeysText == " Alt-q Alt-q"
    then
    wrTextStop =" (Alt-q to stop)"
    else
    wrTextStop =" (Alt-q Alt-q to stop)"
    )
    if( stringp( wrText) && wrText != wrShowPropertiesTextPrev &&
    wrWriteModeTxt == wrWriteModeTxtPrev
    then
    wrWindowName( strcat( wrWriteModeTxt "wrShowProperties: " wrText
    wrTextStop))
    wrShowPropertiesTextPrev = wrText
    )
    ) ;; let
    ;; test: wrShowProperties( )
    )

    see my blog for more details: http://relyveld.wordpress.com/

    Greetings, William.
     
    wre, Aug 29, 2008
    #3
  4. bu-bu

    bu-bu Guest

    Hello All,

    thanks a lot for your answers. I will study the code you gave me :)

    regards,

    b.
     
    bu-bu, Sep 1, 2008
    #4
  5. wre wrote, on 08/29/08 11:45:
    In fact, the solution I mentioned in my previous post (11381132) uses hiRegTimer
    internally. It's a convenient wrapper around it to make it easier to set up
    repeating events.

    Still, it's not clear that this is what was actually being requested...

    Andrew.
     
    Andrew Beckett, Sep 1, 2008
    #5
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.