• 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. IFV Regresssion

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 64
  • Views 15453
  • 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

IFV Regresssion

archive
archive over 17 years ago

Hello ,

   I am using IFV to check the hook up in a large SOC .
   We have around 2000 assertions .  That means the total 
   assertion run takes so much time ( I am using a single IFV gui ) .

    Is there any workaround ? like simulations can we have batch mode 
    jobs for these assertion runs . We are using a farm of servers .  

Regards

Jentil Jose


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

    Hi Jentil Jose.

    If you have more than one licence available, you could use a TCL script to control the proof, such that only N properties are proven in each run. Then run IFV on multiple machines, with a parameter to the TCL file which selects the set of properties to prove on that machine.
    If your assertions have a good naming scheme it would be easy to use the "assertion -delete" command to select the properties by IP block name for example.

    Of course you'd need to merge the results after all the runs complete, but that would be fairly easy with a bit of perl or awk scripting.


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


    Hi Steve H .

    Thanks , This sounds helpful for me . However , is there a way to run different IFV sessions
    in a single run directory ? I suppose a lock file is generated to avoid
    multiple sessions in a single run directory .

    Regards

    Jentil Jose


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

    Good point!
    I would imagine that you could use the +nclibdirname+

    option to IFV, and run each session in a new directory.
    For example:

    Project dir:
    /projects/mysoc/ifv

    Run 1st session in:
    /projects/mysoc/ifv/run1
    Using command:
    ifv -f ../mysoc.ifv +nclibdirname+/projects/mysoc/ifv/INCA_libs

    Then each subsequent session in run2, run3... using the exact same +nclibdirname option.
    You may also need a +cdslib option to specify a common cds.lib file if you're using VHDL.

    I haven't tried this with IFV, but it works fine for IUS.

    If it works, can you let us know on the forum?


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

    Jentil,

    Which version of IFV are you using?  IFV 6.11s001 provided a significant performance boost over previous versions out of the box.  Please ensure you are using s001 or newer version.

    Another thing to try is to run the proof without the GUI.  You can always bring up the gui at the end of the proof by running the tcl command "simvision" at the formalverifier prompt.  See if the runtimes are significantly improved.

    Try this before creating parallel runs. This alone may avoid you having to break up your runs.

    Regards,

    Jose


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


    Hi Jose ,

    I used IFV 6.11s001 in non GUI , this solves my problem .
    Thanks for the suggestion.

    Regards
    Jentil


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

    Jentil,

    Do you mind sharing what provided the performance boost with the community? Was it upgrading to 6.11s001 or runing in non-GUI mode or a combination of both?

    Regards,
    Jose


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


    Jose ,

    The speed improvement was mainly because of the new version 6.11s001 .

    please see the statitics -

    Previous Versions ( in GUI ) -- 5 -10 minutes per assertion

    6.11s001 ( GUI ) --- 20 seconds per assertion !

    6.11 s001 ( non GUI ) -- 14 seconds per assertion !

    In all the above we used same set of assertions .


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


    Jose ,

    The speed improvement was mainly because of the new version 6.11s001 .

    please see the statitics -

    Previous Versions ( in GUI ) -- 5 -10 minutes per assertion

    6.11s001 ( GUI ) --- 20 seconds per assertion !

    6.11 s001 ( non GUI ) -- 14 seconds per assertion !

    In all the above we used same set of assertions .


    Regards

    Jentil



    Originally posted in cdnusers.org by jent
    • 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