• 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. How to return from a SKILL procedure

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 144
  • Views 18218
  • 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

How to return from a SKILL procedure

LakshmanQual
LakshmanQual over 5 years ago

Hi all,

I am writing a SKILL script as mentioned below for some utility, Meanwhile i got some issues. Could you please give me the proper commands to use at the required place?

I want to exit/return from procedure. I tried to use 'return()', ipcCloseProcess(), ipckillAllProcesses(), ipcStopProcess(). But they are throwing evaluation errors. Could you please let me know how to use process ending functions and using the return values from dialog boxes to run another procedure..

procedure(proc_main()

;some definitions and  functions here

proc2(a)

proc3(b)

)

procedure(proc2(a)

a=b+c

x=y+z

if (x then

proc3(b)

else

-- I want to exit the main procedure with a dialogue box

hidisplayAppDBox(?name 'ERROR

                             ?dboxText "Error message")

;;;return command or some other dialog box for further process here.

) ; end if

) ; end proc2

  • Cancel
Parents
  • Pranjay Mehta
    Pranjay Mehta over 5 years ago

    Hello,

    You have to use "prog" if you want to use return statement.

    E.g., 

    procedure( proc2(a)

         prog((x y z a)         ; declare local variables

              ;;;;

              ;;;;

              return(1)

         );prog

    );proc2

    prog : Used to prevent any conflict between global and local variables with same names. Here, a, x, y, z will be local to this procedure proc2 and any global variables with these names will not be affected.

    And, interestingly, prog allows us to use "return" statement.....which you can use in your case. 

    It should be our common practice to use prog/let in our procedures.

    Thanks,

    Regards,

    Pranjay Mehta

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Pranjay Mehta
    Pranjay Mehta over 5 years ago

    Hello,

    You have to use "prog" if you want to use return statement.

    E.g., 

    procedure( proc2(a)

         prog((x y z a)         ; declare local variables

              ;;;;

              ;;;;

              return(1)

         );prog

    );proc2

    prog : Used to prevent any conflict between global and local variables with same names. Here, a, x, y, z will be local to this procedure proc2 and any global variables with these names will not be affected.

    And, interestingly, prog allows us to use "return" statement.....which you can use in your case. 

    It should be our common practice to use prog/let in our procedures.

    Thanks,

    Regards,

    Pranjay Mehta

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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