• 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. Accessing SKILL runtime error locations outside the IDE...

Stats

  • Replies 8
  • Subscribers 149
  • Views 278
  • Members are here 0

Accessing SKILL runtime error locations outside the IDE (Vim workflow)

TF202506034656
TF202506034656 1 day ago

Good evening,

I primarily develop SKILL in Vim and rarely use the SKILL IDE. The IDE has one feature that I've been looking for ways to emulate. When a runtime error occurs, it focuses the editor on the offending line and highlights it.

Is there any way to access this same functionality through the public API outside of the IDE? I understand highlighting + viewpoint shifting definitely isn't possible, but  I could emulate this myself. 


Anything would help, I could do highlighting if there was some way to at least get the line number.



I'm running version IC23.1-64b and follow the usual load("script.il") in the CIW and execute workflow.

Thanks,

Trevor Farias

  • Cancel
  • Sign in to reply
Parents
  • Andrew Beckett
    Andrew Beckett 1 day ago

    Trevor,

    There are APIs to cover much of the same functionality - you can put breakpoints on function entry and exit (breakpt()), you can trace functions (trace()), trace variables (tracev), you can continue (continue()), step() and next() and you can check info as to where you are: where(), dump(), stacktrace() etc. There's a manual that covers this... 

    The one thing you can't do is set line breakpoints or find info on the line you're currently on (it reports the line it breaks at but not the line you are on after a step or next).

    However, given that it takes the same license to use the API to perform debug, why not use the IDE for this? I don't use the IDE for writing code, but I do use it for debugging - so I don't really see the point in "emulating" this...

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • TF202506034656
    TF202506034656 1 day ago in reply to Andrew Beckett

    Hi Andrew,

    I saw those functions and read the general error-handling docs but couldn't find anything that fit this quite niche case. I do actually use the IDE for debugging in most cases, but I wanted to perform less vim->IDE transitions thus wanted to see if I could find a generic errorHandler that didn't require me to do debugger functions like trace, or breakpoints. 

    With the IDE I don't need to set breakpoints, it just magically finds the line throwing an error and positions towards it. I was just wondering if there was a way to grab this position, as to avoid having to avoid developing and debugging for minor issues on two windows. I apologize if my above post was unclear on that.

    Thanks for the response, I think Aurel B's below response probably is more what I'm looking for?
    Trevor

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • TF202506034656
    TF202506034656 1 day ago in reply to Andrew Beckett

    Hi Andrew,

    I saw those functions and read the general error-handling docs but couldn't find anything that fit this quite niche case. I do actually use the IDE for debugging in most cases, but I wanted to perform less vim->IDE transitions thus wanted to see if I could find a generic errorHandler that didn't require me to do debugger functions like trace, or breakpoints. 

    With the IDE I don't need to set breakpoints, it just magically finds the line throwing an error and positions towards it. I was just wondering if there was a way to grab this position, as to avoid having to avoid developing and debugging for minor issues on two windows. I apologize if my above post was unclear on that.

    Thanks for the response, I think Aurel B's below response probably is more what I'm looking for?
    Trevor

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett 1 day ago in reply to TF202506034656

    Hi Trevor,

    Understood. In fact there was a recent discussion about setting line breakpoints outside of the IDE (see this post); I recognise you are not asking about setting breakpoints, but the same problem exists about retrieving line number information when the error occurs remains. I don't think defining your own errorHandler helps with that (this only works if you are not using the debugger, since that supersedes the error handler registered with ilAddTopLevelErrorHandler).

    I also use the IDE for debugging in this scenario when it stops at the line with the error - I just need to refresh the code in the IDE (and I stop it asking me each time to save the contents); yes it means I need to edit in vi/vim and refresh in the IDE, but the ability to see the line in the code, hover over variables (rather than typing them in the CIW) is still worth the (slight) pain...

    Now what I'd like is proper language server protocol support for SKILL and then you'd be able to use vim or neovim with an extension or VS Code, or Jetbrains etc etc. Sadly we've not done this yet...

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • 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