• 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. SV Monitor

Stats

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

SV Monitor

archive
archive over 17 years ago

Hi,

How can one effectively check for the FSM Transition Correctness using SV Assertions?

-Vivek C. Prasad


Originally posted in cdnusers.org by prasad_vc
  • Cancel
Parents
  • archive
    archive over 17 years ago

    I don't think we can really give a course in assertion-based verification in this forum. But ABV sounds exactly tailored for the kind of things you want to do. ABV allows you to take an english-language specification like "when 'ap' is asserted, 1 clock after 'an' is asserted, it will go to 0" and translate it into HDL that can be embedded in your test.

    an_once: assert property ( @(posedge clk) ( ap && an ) |=> ( !an ) );

    This will be ignored by the synthesis tools, so it can be put directly in your FSM code and travel with it. It serves as both a dynamic checker for correct behavior and as documentation of the protocol that the FSM was written to implement.

    I could go on, but this would become a marketing presentation pretty quickly, since I'm a believer in the efficacy of ABV.


    Originally posted in cdnusers.org by TAM
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • archive
    archive over 17 years ago

    I don't think we can really give a course in assertion-based verification in this forum. But ABV sounds exactly tailored for the kind of things you want to do. ABV allows you to take an english-language specification like "when 'ap' is asserted, 1 clock after 'an' is asserted, it will go to 0" and translate it into HDL that can be embedded in your test.

    an_once: assert property ( @(posedge clk) ( ap && an ) |=> ( !an ) );

    This will be ignored by the synthesis tools, so it can be put directly in your FSM code and travel with it. It serves as both a dynamic checker for correct behavior and as documentation of the protocol that the FSM was written to implement.

    I could go on, but this would become a marketing presentation pretty quickly, since I'm a believer in the efficacy of ABV.


    Originally posted in cdnusers.org by TAM
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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