• 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 Design
  3. Creating digital buses in ADE XL: awvCreateBus

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 126
  • Views 19292
  • 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

Creating digital buses in ADE XL: awvCreateBus

PNadeau
PNadeau over 10 years ago

Dear folks,

I have an analog bus Q<3:0> and I'm trying to convert it to a digital bus via the awvAnalog2Digital() and awvCreateBus() commands so that I can view the numeric values.

So far I can create the bus using the GUI in the waveform viewer, but since I have a lot of buses to check, I'd like to automate this to avoid all the manual clicks after each simulation run.  To do this, I've captured the expression generated by the GUI and I use it in the ADE XL outputs table to generate the bus after each run, but I'm running into an error:

*Error* Expression awvCreateBus("Qbus" .. ) failed to evaluate. awvCreateBus does not support creation of a family bus.

 

Under certain conditions I am still able to plot this expression from the calculator and CIW (details below), which makes me think it should work in ADE XL outputs table as well. There is also a similar expression the cadence documentation for awvCreateBus().  Maybe someone has seen this before?  I'll include all my steps in the hopes this can lead to a clue:

------------------------

Running IC6.1.6.101 on RHEL6 x86_64:

1) Plot Q<3..0> from ADE XL, then in the Waveform Viewer (XL), I select the traces and go to Measurement -> Analog2Digital. Set the options and use "Make Bus" to create the bus.  Result looks good.

2) Right click on the bus and send the expression to ADE, which is: 

awvCreateBus("Qbus" list(awvAnalog2Digital(value(VT("/Q<3>") "CLK_EXT" 2.5) nil nil 0.6 nil "centre") awvAnalog2Digital(value(VT("/Q<2>") "CLK_EXT" 2.5) nil nil 0.6 nil "centre") awvAnalog2Digital(value(VT("/Q<1>") "CLK_EXT" 2.5) nil nil 0.6 nil "centre") awvAnalog2Digital(value(VT("/Q<0>") "CLK_EXT" 2.5) nil nil 0.6 nil "centre") ) "Hex")

 

 

3) Close waveform viewer to erase the bus and start again

 

 

4) Click evaluate in ADE XL, I get an error message in CIW:

 

*Error* Expression awvCreateBus("Qbus" .. ) failed to evaluate. awvCreateBus does not support creation of a family bus.

 

And the cell in the ADE XL results table has 'eval error'

 

 

5) If I copy-paste the expression from (2) into the calculator, and plot, I get the same error message (awvCreateBus does not support creation of a family bus)

 

 

6) If I first plot Q<0>..Q<3> into the waveform viewer using ADE XL table, then plot expression (2) using the calculator, it works!  But, no good if I have to copy-paste all of my bus expressions into the calculator on each run.

 

 

7) I tried a modified expression based on what I saw in the documentation (OCEAN reference, awvCreateBus article):

 

awvCreateBus("Qbus3" list(awvAnalog2Digital(v("/Q<3>" ?result "tran") nil nil 0.6 nil "centre") awvAnalog2Digital(v("/Q<2>" ?result "tran") nil nil 0.6 nil "centre") awvAnalog2Digital(v("/Q<1>" ?result "tran") nil nil 0.6 nil "centre") awvAnalog2Digital(v("/Q<0>" ?result "tran") nil nil 0.6 nil "centre")) "Hex")

 

- This one plots from calculator regardless if Q<3:0> are plotted already or not (an improvement)

- I can also put it into the ADE XL outputs table and click evaluate and the plot symbol comes up the results table (no 'eval error') this time (also an improvement)

- but when I double-click to plot, I get a blank waveform viewer window and no messages (error or otherwise) in the CIW

 

 

8) I can run:

 

plot([expression from (7)])

 

in the CIW and it plots the bus.  (Perhaps another clue?)

 

---------------------

 

If you have any tips, I would appreciate it very much, thanks!

 

  • Cancel
  • prashantpd
    prashantpd over 8 years ago

    I am having a similar issue.

    delay( \
      ?wf1 awvCreateBus("D0" list( \
         awvAnalog2Digital(v("\\D0\\<0\\> " ?result "tran") nil nil 0.6 nil "centre") \
         awvAnalog2Digital(v("\\D1\\<0\\> " ?result "tran") nil nil 0.6 nil "centre") \
        ) "Binary"), \
        ?value1 0.5, ?edge1 "either", ?nth1 1, ?td1 0.0, \
      ?wf2 awvAnalog2Digital(v("CMPLT32" ?result "tran") nil nil 0.6 nil "centre"), \
        ?value2 0.5, ?edge2 "either", ?nth2 1,  ?td2 nil , ?stop nil,  ?period1 1 ?period2 1 ?multiple t ?xName "trigger" )

    The expression when included in my Ocean script gives me the following error.

    *Error*   Expression awvCreateBus("D0" .. ) failed to evaluate.

              awvCreateBus does not support creation of a family bus.

    *Error*   delay: input waveforms are not of same dimension


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

    Can you check using IC617 ISR4 or later? (IC6.1.7.500.4) - support for families of busses was added then and I think this should be fixed. 

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • prashantpd
    prashantpd over 8 years ago

    Unfortunately I am working in a University environment, and I am not sure if moving to IC617 would be possible. I am working with IC6.1.6.500.14. I will maybe export my waveform data and plot the result and analyze using Python.

    • 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