• 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. Setting up Emacs for SKILL

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 15884
  • 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

Setting up Emacs for SKILL

snezana111
snezana111 over 9 years ago

Hello,

I am fairly new to SKILL and I don't have the option to use SKILL IDE in my version of Cadence.

My current working version of Cadence is IC6.1.6-64b.500.11

I am also novice in EMACS, and I have covered the basics in Common Lisp and SKILL, now I would like to organize my work and I understood there is a way you could use EMACS as an IDE for SKILL. I read through some threads like http://community.cadence.com/cadence_technology_forums/f/48/p/12625/1293515#1293515

but I am not sure how to set it up. What compiler to use in order to use skillMode.el that is mentioned in the link above? (like, SBCL, or can I use some that are built in in EMACS, like IELM?)

What should happen if I load skillMode.el in emacs? And what is the proper way in doing that? Does it mean I can invoke procedures and function from Emacs and get the results i.e. for adding an instance in Schematic to display in the Schematic window?

Any help and advice appreciated

  • Cancel
Parents
  • ebecheto
    ebecheto over 9 years ago

    quick answer, (no time to debug it now). When i shared my code to a 'stagiaire', it looped also ...

    Yes, you have to $> chmod +x ~/Skill/ipcPipe2CAT.sh

    if it loop just , $> rm ~/.emacs2icfb.il

    Otherwise, just try from cadence :

    ipcBeginProcess(strcat(getShellEnvVar("SKILLDIR") "/ipcPipe2CAT.sh") "" 'socketHandler)

    then from a shell $>echo "1+2EOF"> /tmp/ipcPipe2CAT_$USER

    maybe change the socketHandler function so that is only `evalstring(data)' (for debug)



    _________

    Last thing in emacs, if you have not uncommented (add-to-list 'auto-mode-alist '("\\.il$" . skill-mode))
    you need to activate the mode, by pressing (Meta-x), i mean : Alt-x and the write :
    skill-mode
    normally you have the completion (tab key) that works for writing skill-mode in the mini-buffer.
    then in emacs, bindey C-v should execute the code of the current line. C-s should write the results as a comment on the following line if needed.

    I will make a patch of the socketHandler function so that it recognise, whether i launch a line, a region, or if i want to 'load a file'.
    But i'm too busy write now.


    Hope it helps.
    ++

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • ebecheto
    ebecheto over 9 years ago

    quick answer, (no time to debug it now). When i shared my code to a 'stagiaire', it looped also ...

    Yes, you have to $> chmod +x ~/Skill/ipcPipe2CAT.sh

    if it loop just , $> rm ~/.emacs2icfb.il

    Otherwise, just try from cadence :

    ipcBeginProcess(strcat(getShellEnvVar("SKILLDIR") "/ipcPipe2CAT.sh") "" 'socketHandler)

    then from a shell $>echo "1+2EOF"> /tmp/ipcPipe2CAT_$USER

    maybe change the socketHandler function so that is only `evalstring(data)' (for debug)



    _________

    Last thing in emacs, if you have not uncommented (add-to-list 'auto-mode-alist '("\\.il$" . skill-mode))
    you need to activate the mode, by pressing (Meta-x), i mean : Alt-x and the write :
    skill-mode
    normally you have the completion (tab key) that works for writing skill-mode in the mini-buffer.
    then in emacs, bindey C-v should execute the code of the current line. C-s should write the results as a comment on the following line if needed.

    I will make a patch of the socketHandler function so that it recognise, whether i launch a line, a region, or if i want to 'load a file'.
    But i'm too busy write now.


    Hope it helps.
    ++

    • 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