• 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. Nested ddt Operator

Stats

  • Replies 2
  • Subscribers 125
  • Views 558
  • Members are here 0

Nested ddt Operator

JF202408126026
JF202408126026 1 month ago

I have a Verilog-A script that had previously been used in a competitor's tool suite without issue. In Cadence Spectre though, I have an error telling me:

Encountered nested `ddt' operator. Do not nest `ddt' operators

The offending line looks like this:

F_accel=mass*ddt(ddt(V(x)))*(V(Lin)<0.5)

I couldn't find any information in the VA standards that explains why this is a problem or what the workaround is—nothing obvious in this website either.

Any ideas?

--

Kind regards,

Justin Fisher

  • Sign in to reply
  • Cancel
  • Andrew Beckett
    Andrew Beckett 1 month ago

    Justin,

    This is covered in the Supported and Unsupported Language Elements chapter of the Cadence Verilog-A Language Reference manual (chapter 20 in SPECTRE24.1). I explain a bit about how to deal with this in community.cadence.com/.../nested-ddt-suport_ - it's all related to needing to keep track of the discipline of the intermediate result, and in our implementation you have to explicitly declare that yourself.

    It's a long-standing limitation of our implementation, and happens so rarely (and is easy enough to workaround when it does happen) that fixing this has not been prioritised. By all means contact customer support (submit a support case after logging in) to request that this is fixed in Spectre.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • JF202408126026
    JF202408126026 1 month ago in reply to Andrew Beckett

    This works!

    Thanks.

    --

    Kind regards,

    Justin Fisher

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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