• 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. VerilogA simulation error

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 126
  • Views 7063
  • 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

VerilogA simulation error

TUKA
TUKA over 2 years ago

Dear all,

I am facing an error in a verilogA model simulation.

I have a transfer function in the form of

I have modelled it using the statement:

   V(Vout) <+ laplace_nd(V(Vin), {A,0}, {C,B});

But in my case, A, Band C are variables, whose values are computed depending on the real parameters I set.

Is it true that the simulator does not allow us to have variable expressions inside laplce_nd function? If so, any other possible approach to resolve this issue?

Thanks and regards,

Tuka

  • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago

    Dear TUKA,

    TUKA said:
    Is it true that the simulator does not allow us to have variable expressions inside laplce_nd function?

    I will not pretend to be a verilog-A expert (or even a novice!), but it appears this is stated in the verilog-A Language Reference Manual (Product Version 21.1, January 2023)on page 193, where it states "You cannot use array values defined by variables."

    TUKA said:
    If so, any other possible approach to resolve this issue?

    There is an example of a means to use an array variable within the laplace_nd() function on the top of page 196 of the verilog-A Language Reference manual. Please download the manual from URL:

    https://support.cadence.com/apex/techpubDocViewerPage?path=veriaref/veriaref21.1/veriarefTOC.html

    I hope this is helpful TUKA!

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TUKA
    TUKA over 2 years ago in reply to ShawnLogan

    Dear Shawn,

    Thanks a lot for getting back to me.

    Sure, I will check and follow the Verilog-A Language reference manual. Thanks a lot for mentioning the corresponding page numbers and the download link for the URL.

    Regards,

    Tuka

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to TUKA

    It's OK (using the method shown in the documentation) to have the coefficient arrays computed during the initial_step - even if that involves intermediate variables to compute from constants and parameters. What you can't do is have the coefficients changing over time.

    Anyway, the references that Shawn gave will give you the information. You can also look at this manual by running <SPECTREinstDir>/bin/cdnshelp or looking in <SPECTREinstDir>/doc/veriaref/veriaref.pdf - it's in your software installation.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TUKA
    TUKA over 2 years ago in reply to Andrew Beckett

    Dear Andrew,

    Thank you for your feedback.

    Sure, I will follow the manual provided in the software installation.

    Regards,

    Tuka

    • 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