• 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 PCB Editor
  3. Skill Routine Loads From Command Line but Not ilinit

Stats

  • Replies 4
  • Subscribers 158
  • Views 13631
  • Members are here 0
More Content

Skill Routine Loads From Command Line but Not ilinit

archive
archive over 17 years ago

I know this may be a pretty broad question, but here it comes :) I have a skill routine in my Skill path that has no problem loading from the command line, ex: (load "tools.il") The skill routine works perfectly with no errors. The registerd functions work without issue. However when I try to load it through allegro.ilinit I get an error: E- *Error* load: error while loading file - "tools.il" With no other error messages. When I try to run a registered function (ex function_name) it gives an error like: E- *Error* toplevel: undefined variable - function_name At this point if I load it manually at the command line it works fine. Is there something different required to load skill from the ilinit as opposed to loading from the command line? Why would it work one way and not the other? Thanks for any help. Chris


Originally posted in cdnusers.org by CJB
  • Sign in to reply
  • Cancel
  • archive
    archive over 17 years ago

    Sorry for the big paragraph. I typed it out with paragraphs but the formatting was lost when I posted??


    Originally posted in cdnusers.org by CJB
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 17 years ago

    Two possiblities that I can think of:
    1) You may need to use skill load command syntax; i.e. load(filename,...) see the sklangref.pdf in the Allegro installation doc subdirectory
    2) You may need to specify the full pathname. Maybe the Skill path isn't active at the time the ilinit file is checked?


    Originally posted in cdnusers.org by Randy R.
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 17 years ago

    You should make sure you do not execute any AXL APIs during allegro.ilinit except for axlCmdRegister.
    Neither the Allegro database nor the user interface is active when allegro.ilinit is parsed, so you need to stay away
    from having any AXL code execute.

    For example the following is not legal because an AXL function is executed during:
    p = axlDBGetDesign()

    But the following will work since the AXL API is inside a function that is not excecuted
    procedure( testme()
    p = axlDBGetDesign()
    printf("%L" p)
    )
    axlCmdRegister("test" 'testme)


    Contents of allegro.ilinit:
    1) Define new functions (procedures)
    2) axlCmdRegister allowed
    3) minimize the number of global scope variables. If you need to them keep it as simple as possible (e.g initialize to nil)


    Originally posted in cdnusers.org by fxf
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 17 years ago

    Thanks for the replies! fxf you got it. I had a single AXL API executing (besides axlCmdRegister) to define a global variable. Removed that and all is working good. Thanks you so much :)


    Originally posted in cdnusers.org by CJB
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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