• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Allegro X Scripting - Skill
  3. Pass data/values between two skill codes/allegro instan...

Stats

  • State Not Answered
  • Replies 12
  • Subscribers 19
  • Views 6102
  • Members are here 0
More Content

Pass data/values between two skill codes/allegro instances

mir0mik
mir0mik over 2 years ago

Hi,

I'm working on a skill code that will in him self run another instance of allegro through batch call axlRunBatchDBProgram() and I would like to pass some variable/valuest to the batch instance as an input and vice versa.

Is this possible? Is there some way how to create/share variables between two programs?

Thanks!

Miro

  • Cancel
  • Sign in to reply
  • mir0mik
    0 mir0mik over 2 years ago in reply to B Bruekers

    Hi, tried some stuff with extracta but is quite slow...

    this code using ipcBeginProcess for extracta will crash when run on the library folder (about 4000+ psm/dra pairs)
    it probably would be OK if all symbols are already placed in the brd file, but starting new process for each dra is slow...

    /*

    qqq_cnt = 0
    qqq_tmp = list( nil nil)
    foreach( qqq_element getDirFiles( "d:/Cadence/Master_Library_Current/PCB/.")
    when( substring( lowerCase( qqq_element) -4 4) == ".psm"
    when( isFile( sprintf( nil "d:/Cadence/Master_Library_Current/PCB/%s.dra" substring( qqq_element 1 strlen( qqq_element) - 4))) == t
    qqq_cid = ipcBeginProcess( sprintf( nil "extracta -q -s -k -r d:/Cadence/Master_Library_Current/PCB/%s.dra d:/Cadence/SKILL/ext_qqq.txt d:/Cadence/SKILL/out.txt" substring( qqq_element 1 length( qqq_element) - 4)))
    ipcWait( qqq_cid)
    qqq_inPort = infile( "d:/Cadence/SKILL/out.txt")
    while(
    gets( qqq_readOutLine qqq_inPort)
    tconc( qqq_tmp list( qqq_element qqq_readOutLine))
    )
    close( qqq_inPort)
    qqq_cnt++
    )
    )
    )
    println( qqq_cnt)
    car( qqq_tmp)

    */

    however, this code I would like to run in the second instance of allegro (still not able to do that:( ), will be finished in about 2 seconds on the same folder...

    /*

    qqq_cnt = 0
    qqq_tmp = list( nil nil)
    foreach( qqq_element getDirFiles( "d:/Cadence/Master_Library_Current/PCB/.")
    when( substring( lowerCase( qqq_element) -4 4) == ".psm"
    when( isFile( sprintf( nil "d:/Cadence/Master_Library_Current/PCB/%s.dra" substring( qqq_element 1 strlen( qqq_element) - 4))) == t
    qqq_padstackID = axlLoadSymbol( "PACKAGE" substring( qqq_element 1 strlen( qqq_element) - 4))
    tconc( qqq_tmp list( qqq_element qqq_padstackID -> prop -> VERSION_ID))
    qqq_cnt++
    )
    )
    )
    println( qqq_cnt)
    car( qqq_tmp)

    */

    I don't know, maybe I'm doing something wrong with the extracta... I just need to run the axlLoadSymbol in an empty board and get back the list and it will be crazy fast...

    Miro

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • TCHA
    0 TCHA over 2 years ago in reply to mir0mik

    @mir0mik, any further update on this? Is the issue resolved?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
<
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information