• 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. Custom IC SKILL
  3. Running skill code using perl script

Stats

  • Locked Locked
  • Replies 15
  • Subscribers 143
  • Views 19479
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Running skill code using perl script

anandmohan
anandmohan over 8 years ago

HI,

I have a perl code, using that perl code is it possible to execute a skill code?

If any example is provided  that will be very helpful

Regards

Anand

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    This is a very open-ended question. What SKILL code are you trying to execute? What's the objective?

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ebecheto
    ebecheto over 8 years ago

    Didn't you read that example : ?

    https://community.cadence.com/cadence_technology_forums/f/48/t/17013

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • anandmohan
    anandmohan over 8 years ago
    HI Andrew,

    I want to execute the skill command 'mgc_rve_load_setup_file("calibreview_setup")' from my perl script.

    (I am working on a perl code to create calibre view for multiple cells, I was able to create pex netlist using my code now i need to open the calibreview for each of these netlist)

    Anand
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • anandmohan
    anandmohan over 8 years ago
    HI ebecheto,

    I have already gone through it, it explains execution of perl from skill. But i need to execute skill code from perl.

    Regards
    Anand
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    Anand,

    Have your perl script create a file containing:

    mgc_rve_load_setup_file("calibreview_setup")

    and then have the perl script use:

    system("virtuoso -restore theScriptYouCreated.il");

    Your requirements aren't that clear, so not quite sure whether you can batch all these things together into a single virtuoso invocation or multiple invocations makes more sense.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • anandmohan
    anandmohan over 8 years ago
    HI Andrew,

    I was trying to execute skill from perl as per your comment.
    I tried a test case scenari for this, i created a perl pgm 'test.pl' and skill file 'print.il' as follows

    test.pl:
    #!/usr/bin/perl
    print "start of program";
    system("virtuoso -restore print.il");
    print "end of program";

    print.il:
    procedure(pnt()
    printf("test line")
    printf(" ends")
    )

    if I load and execute print.il it will print 'test line
    ends' in CIW window


    But same if i try to execute using perl in linux terminal I am not seeing anything getting printed in CIW window
    I even tried 'virtuoso -restore print.il' command in linux terminal directly for which i got the error message 'bash:virtuoso: command not found...'

    Is there anything mistake in the program or the way I am executing it?

    Regards
    Anand
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    Anand,

    How do you normally start Virtuoso then? What version are you running (Help->About in the CIW will tell you that)?

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • anandmohan
    anandmohan over 8 years ago
    HI Andrew,

    we used to source a shell script with variables set for virtuoso, calibre etc.
    the last line of that shell is 'virtuoso -64&'
    Version is : IC6.1.17-64b.500.7

    Today i tried executing the same command and now i see a new virtuoso window getting opened when i am executing 'virtuoso -restore print.il'. I think the mistake I made yesterday was, I tried to execute the command in same path (where I invoked virtuoso) but the terminal (linux session) was newly opened.

    But still I am not seeing skill code getting executed, it is opening new virtuoso session only

    Regards
    Anand
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    Anand,

    If you're invoking virtuoso via this script, then it is not passing any command line arguments to virtuoso so it won't work. You'd have to work with whoever has created this wrapper script so that command line arguments can be passed.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • anandmohan
    anandmohan over 8 years ago
    HI Andrew,

    The commands used in script are for setting environment variables for cadence. Format is given below.

    **************************************
    export CDS_LICENSE=(license_server)
    export OA_HOME=(cadence path)
    export PATH=$PATH:(cadence path)
    .................
    ................
    ..............
    export PDK_DIR=(pdkpath)
    virtuoso -64&

    ******************************************
    these commands are stored in a shell script and I am sourcing it.

    Can you please guide me on what needs to be included in this script for passing command line arguments?
    any additional command needs to be included in the wrapper script for this?

    Regards
    Anand
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
>

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