• 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. Printing in engineering notation

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 143
  • Views 18902
  • 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

Printing in engineering notation

swdesigner
swdesigner over 13 years ago

In IC6 (maybe even in IC5) the ADE outputs are displayed in engineering notation with symbols - that is, 10e-6 is 10u, 10e-3 is 10m, etc.

This is convenient.

Is there any way to print numbers this way using printf or some other function in skill?

Note, I don't want to print 10e-3 as 10e-3, I want it to come out as 10m.

Thanks!

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    aelSuffixNotation() is probably what you're after. So for example:

    aelSuffixNotation(10e-3) => "10m"

    You could also use:

    cdfFormatFloatString("10e-3" "m") => "10m"

    assuming you've got the number in a string in the first place, and you know which suffix you want to use.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • swdesigner
    swdesigner over 13 years ago

    Thanks. You're the best.

     

    How could I have found this - the documentation on your internal site is fragmented and not searhable. I searched the forum for engineering notation, nada.

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

    I don't know what you mean by "your internal site". I just searched in cdnshelp for "engineering notation" and it was one of the hits. Similarly if I search in cdsdoc (the old IC5141 documentation system) for "engineering notation", it also finds the right document.

    So both the old and new documentation systems are searchable.

    I also tried searching on Cadence Online Support (http://support.cadence.com) and whilst "engineering notation" threw up quite a few hits, it wasn't that far from the top of the product manuals results (given that this covers all Cadence products, far wider than just the IC tools).

    Searching for "suffix notation" is I think even more specific... (but you probably had to know it was called that).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • swdesigner
    swdesigner over 13 years ago

    Thanks Andrew, cdnshelp is a great resource. Maybe I'm not using it very well :

    I'm looking for  help on

    _vvCalculatorPlot 

    and

    _vivaGetSessionName

    to see if it has documentation on IC6 functions and nothing comes up. Any thoughts?

    Thanks

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

    Why are you looking for those? They're private functions - so that's why they're not documented...

    Generally speaking function names that begin with "_" are private (with very few exceptions - usually as temporary workarounds, because the naming convention is definitely that an underscore prefix means private).

    What exactly are you trying to do?

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • swdesigner
    swdesigner over 13 years ago

    Good question - in this case, I don't need to pass arguments to them.

    In my schematic, I want to hit a bindkey and then select a net or terminal current to plot. THe way this happens is - it first gets sent to the buffer field (?) of the calculator.

     THen, I hit another bindkey and plot what's in the buffer of the calculator in the waveform window.

    Since I hadn't seen these functions before, I was curious what else I might be missing out on. THere's things I want to do to make life easier, so I'm looking to see what's available. Bindkeys are a big part of productivity - and for that, one needs to know what functions are available or being called during routine interactions.

    With appropriate settings for the log filter options, most of the interactions get logged in the CDS.log and it's easy to build up bindkeys. However, with viva, very little shows up in the log, so I've been working with CCS on that..

    Thanks!

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

    The way you would do this is with calSetBuffer() to put something into the calculator buffer, and then calGetBuffer() to retrieve the buffer contents, and awvPlotSimpleBLOCKED EXPRESSION to plot it.

    Andrew.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • swdesigner
    swdesigner over 13 years ago

    Hi,

              Looking at default bindkeys in viva (Help > Bindkey), I notice things like

     

    selectAllTracesInSTrip and zoomModeX

    But, using cdnshelp, I couldn't find any documentation on these. Any thoughts on how I would find these?

    Here are some things I'd like to be able to bindkey in Viva :

     

    Toggle grid ON/OFF

    Toggle plot thickness

    Increase signal name font (for example, in the schematic editor, I use CTRL-UP to increase all pin name display text 25%)

    Any help would be super. CCS has given me some links to read, and I'm trying to digest that for now. 

    Thanks for helping!

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

     Given the major reimplementation of the ViVA graph in IC615, a conscious decision was taken not to make the API public initially - until the functionality had bedded in and had been refined - there has been some polish over the life of IC615 so far. Because of that, the functions used on the default bindkeys all begin with underscore - and not all functionality is available via bindkeys (although anything on a menu can be accessed using Alt-type accellerators). The reason for this is that locking down the API when it is changing would make it harder to change things during this initial phase - because we'd have to keep supporting that API on an ongoing basis. The idea is to make a public API available in the next release.

    The best thing to do is to contact customer support over your needs in the short term.

    Regards,

    Andrew.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • swdesigner
    swdesigner over 13 years ago

    That definitely makes sense.

    Do you know if ViVa inherits simVision's facility with handling large files? 

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