To deal with the complexity of today’s designs, verification teams have developed elaborate methodologies. In most cases, the methodologies center on the creation of a set of test benches at varying levels of the design hierarchy. The figure below depicts a typical verification environment where there are test benches at the full-chip, the block, and the module level. Usually, the full-chip and block level test benches are developed by engineers in the verification team. Module level tests are often created by RTL designers to ensure that their RTL designs are at least minimally functional. Some teams take module verification one step further and perform module-level formal property verification, though this requires a totally different methodology.
Verification process
The verification process usually entails several steps:
- Create set of functional requirements
- Describes how the design should operate and what constitutes correct behavior
- May be derived from a specification document
- Create verification plan
- How to test the design
- Who writes what
- Scenarios to test
- Metrics to help decide when testing is done
- Write test bench code
- Directed tests that provide specific stimulus to check specific parts of the design
- Constrained random test generators
- Reduces amount of work required to generate a large number of tests
- Hopefully check parts parts of the design that the verification engineer never thought of.
- Measure comleteness with "coverage model"
- Ensure that interesting and importance scenarios have been tested
- Provide confidence that the design has been sufficiently tested
Of course, there are many variations of the above. Not all teams do all the above steps nor do all teams do every step in strict linear order.
Test benches
The test benches themselves can be can be quite complicated. The next figure below shows the current state-of-the-art test bench methodology as described in the Verification Methodology Manual (

Next steps
Read about characteristics of a better verification solution.
1Bergeron, et. al. System Verilog Verification Methodology Manual