• 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. what do you mean by assertion block

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 64
  • Views 13581
  • 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

what do you mean by assertion block

BharathECE
BharathECE over 12 years ago

Hi

Iam having some of the assertions result as block.What do you mean by block and how to make those assertions passing or failing. 

 

Thanks

Bharath 

  • Cancel
Parents
  • maheshs
    maheshs over 12 years ago

    IFV can display the status of an assertion as ‘blocked’ if it detects any combinational loop in the signals involved in the assertion's cone-of-influence. The status ‘blocked’ indicates that the assertion could not be verified, because combinational loops exist in the design. Please follow below steps to identify and resolve the combinational loops.

    Step - 1:

    If you get a blocked status, first of all, please run the following command for the blocked assertion. It will let you know if indeed the assertion was blocked because of combinational loops.

    formalVerifier> assertion –show <blocked_assertion_name > -verbose

    For example

    formalVerifier> assertion –show my_assertion –verbose
    my_assertion: Block (0)
    Combinational loop(s) found in the design. Use the debug command to view the nets involved in the combinational loop(s).


    Step 2:

    Now you would be interested in knowing which module has combinational loops and what signals are involved? In order to get this information, please run the "debug" command as suggested below.

    formalverifier> debug my_assertion

    Counter-example launched.
    Number of combinational loop : 1
    1) Net(s) in combinational loop : 2
    combinational_loop.Y (File: ./test.sv)
    combinational_loop.W (File: ./test.sv)

    So now we know that Y, W are the signals involved. It also points out the file name where those signals are declared. We can now easily check the indicated code and remodel the HDL to remove the combinational loop.

    Thanks

    -Mahesh Soni

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • maheshs
    maheshs over 12 years ago

    IFV can display the status of an assertion as ‘blocked’ if it detects any combinational loop in the signals involved in the assertion's cone-of-influence. The status ‘blocked’ indicates that the assertion could not be verified, because combinational loops exist in the design. Please follow below steps to identify and resolve the combinational loops.

    Step - 1:

    If you get a blocked status, first of all, please run the following command for the blocked assertion. It will let you know if indeed the assertion was blocked because of combinational loops.

    formalVerifier> assertion –show <blocked_assertion_name > -verbose

    For example

    formalVerifier> assertion –show my_assertion –verbose
    my_assertion: Block (0)
    Combinational loop(s) found in the design. Use the debug command to view the nets involved in the combinational loop(s).


    Step 2:

    Now you would be interested in knowing which module has combinational loops and what signals are involved? In order to get this information, please run the "debug" command as suggested below.

    formalverifier> debug my_assertion

    Counter-example launched.
    Number of combinational loop : 1
    1) Net(s) in combinational loop : 2
    combinational_loop.Y (File: ./test.sv)
    combinational_loop.W (File: ./test.sv)

    So now we know that Y, W are the signals involved. It also points out the file name where those signals are declared. We can now easily check the indicated code and remodel the HDL to remove the combinational loop.

    Thanks

    -Mahesh Soni

     

    • 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