• 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. Functional Verification
  3. re: new version 14.10-s012 with assertions

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 65
  • Views 14258
  • 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

re: new version 14.10-s012 with assertions

Srikanth Madam
Srikanth Madam over 10 years ago

Hi,

i have written a simple assertion to check for 2 pulse as

property(p1);

     @(posedge clk)

      ($rose(in1) ##1 $fell(in1)) |-> ##[1:$] ($rose(out1) ##1 $fell(out1));

endproperty

Assuming at out1 is remains as 0(zero) through out the simulation. I should get assertion failure at the end of the simulation, but instead it is not giving messages (like vacuous success). But with the older version i am getting failure message. So help me out here.

Thanks

Srikanth M.

  • Cancel
  • muffi
    muffi over 10 years ago

    Can you add the "–abvevalnochange" switch and see if it makes a difference?

    This is a compile time option that enables assertion evaluation even if the assertion input variables/expressions are not changing. By default such assertion evaluations are optimized out.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Srikanth Madam
    Srikanth Madam over 10 years ago
    Still no change
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TAM1
    TAM1 over 10 years ago
    In the original SVA spec, all assertions were "strong" and had to complete before the end of a simulation. But in the latest version, a new "strong" keyword was added and all assertions became "weak" by default. This was preferred so people didn't get a lot of spurious errors when they terminated their simulations. You surround the terminating sequence with "strong ( ##[1:$] $rose(out1) ##1 $fell(out1) )".
    • 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