• 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. Callback function for Library Manager Menu Item

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 14838
  • 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

Callback function for Library Manager Menu Item

mschw
mschw over 8 years ago

Hello,

i want to add a new menu item to the Library manager which prints the library name /cell name /... in the CIW. I added to the cdsLibMgr.il file the following piece of code

(lmgrCreateMenuItem "myLmgrMenuItem" "simple"
                    '(("label" "Print in CIW")
                      ("callback" ("myLmgrMenuItemCallback"))
                     )
)

(lmgrInsertMenuItems "copySimpleButton" "CV" '("myLmgrMenuItem"))


The callback function is

procedure(myLmgrMenuItemCallback(str1 str2 str3 str4 str5 str6)

printf("%s %s %s %s %s %s" str1 str2 str3 str4 str5 str6)

)

If I select an arbitrary cell in the library manager and after pressing the right mouse button and clicking on the new entry "Print to CIW" nothing happens. But if I subsequently select another entry in this menu (e.g. "Properties" or "Open ..") then the correct information is printed in the ciw.

I use IC6.1.7-64b.500.5


Many thanks in advance,
mschw

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 8 years ago
    You need to add a "\n" to the end of the first argument of the printf - i.e. printf("%s %s %s %s %s %s\n" str1 str2 str3 str4 str5 str6) - so that it prints a carriage return. Then it will print immediately - otherwise it's being buffered until there's enough output or a carriage return appears...

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 8 years ago
    You need to add a "\n" to the end of the first argument of the printf - i.e. printf("%s %s %s %s %s %s\n" str1 str2 str3 str4 str5 str6) - so that it prints a carriage return. Then it will print immediately - otherwise it's being buffered until there's enough output or a carriage return appears...

    Andrew
    • 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