• 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. For loop

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 144
  • Views 25112
  • 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

For loop

sprinter
sprinter over 15 years ago

Hi,

 The 'for' loop increments in steps of 1. Is there a way to increment or decrement with a non-unity step?

If I've a list of values to evaluate an expression(s) then 'foreach' is used but I couldn't find something for a range of values & with an arbritrary step size. Any comments?

Thanks,

Adil.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    You could use the SKILL++ do() function, or simply use a while loop:

    i=0
    while(i<20
      println(i)
      i=i+2
    )

    Or look at solution 11025352 on support.cadence.com - this is one I wrote on "Understanding SKILL macros". There's a macro on implementing a C-like for loop.

    Regards,

    Andrew.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sprinter
    sprinter over 15 years ago

    Thanks a lot.

    The note on the macro is quite useful for new users like me.

    On a different subject, I'm wondering what's the best way to debug a SKILL code? I mean is there a tool which could be used for the editor. Right now I"m relying on the error messages I see in my CIW.

     

    Adil.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    Adil,

    If using IC613/IC614 you have Tools->SKILL Development Environment (New) which is a GUI based tool which allows you to place breakpoints on lines in the code, trap errors, trace variables and so on.

    You also have the older Tools->SKILL Development menu which brings up the toolbox which gives access to a debugger - again, it can intercept errors and put breakpoints at the beginning or end of functions.This is also in older releases.

    For more info look in  <instdir>/doc/skhelp/skhelp.pdf and <instdir>/doc/skdevref/skdevref.pdf

    Note that this is a licensed tool - it requires product 900 (SKILL Development Environment).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sprinter
    sprinter over 15 years ago

    Thanks once again for the info on the development tool - sounds very useful indeed. I checked the list of products we've currently & unfortunately this is not available.

     

    Best regards,

    Adil.

     

    Andrew Beckett said:

    Adil,

    If using IC613/IC614 you have Tools->SKILL Development Environment (New) which is a GUI based tool which allows you to place breakpoints on lines in the code, trap errors, trace variables and so on.

    You also have the older Tools->SKILL Development menu which brings up the toolbox which gives access to a debugger - again, it can intercept errors and put breakpoints at the beginning or end of functions.This is also in older releases.

    For more info look in  <instdir>/doc/skhelp/skhelp.pdf and <instdir>/doc/skdevref/skdevref.pdf

    Note that this is a licensed tool - it requires product 900 (SKILL Development Environment).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mir0mik
    mir0mik over 4 years ago

    I know this is a pretty old topic, but I was looking for exactly this and I think of this solution...

    for( cnt -10 0

    println( abs( cnt))

    )

    10

    9

    8

    7

    6

    5

    4

    3

    2

    1

    0

    • Cancel
    • Vote Up +1 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