• 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. Blogs
  2. Verification
  3. Verification Hierarchy of Needs
jasona
jasona

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
Verification planning and management
System Design and Verification
Run and Debug

Verification Hierarchy of Needs

13 Jul 2008 • 2 minute read

Verification consultant Brian Bailey recently started blogging for Chip Design Magazine. One of his first posts was to define verification. He did a great job and I encourage people to read over what he wrote.

What you realize when you read his post is that verification is not directly related to two other topics that are often discussed as part of verification. These topics are important to verification, but are not verification. I call these topics Run and Debug.

I often meet with engineers to talk about system verification and almost always we spend much of the time discussing ways to execute the hardware design, ways to execute the software, and methods to debug the combination of hardware and software.

My conclusion is that there is a verification hierarchy of needs, and just like Maslow's hierarchy of needs there is a pyramid that represents the hierarchy. Also just like Maslow, the higher needs in this hierarchy only come into focus when the lower needs in the pyramid are satisfied. The verification hierarchy of needs is Run, Debug, and Verify.

 

 Engineers say things like:

  • My simulator is too slow to execute enough cycles to run meaningful software
  • How can I boot my operating system in a shorter time?
  • Fitting the hardware design into a set of FPGAs on a board is complicated and debugging visibility is poor
  • It is possible to correlate the software debugger with what is happening in the hardware?
  • I want to use abstract models of my design to run embedded software, but I'm missing models and I don't have time to create them

I'm sure many of you are struggling with similar questions and have figured out some ways to overcome the Run and Debug issues in your projects. Even if you have achieved the needs of Run and Debug, remember from Brian's post that verification is about metrics (and preferably using as much automation as possible to gather and analyze those metrics).  

Before you can Verify anything, you need to be able to Debug it. Before you Debug anything you need to be able to Run it.

Remember, Run != Verify

Feel free to share ways you have overcome issues with Run and Debug, and better yet share ways you have automated the gathering of verification metrics to reach the Verify level of the pyramid, especially at the system level where performance and visibility can be real challenges.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information