Examples and design pattern for VHDL verification
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
1.6 KiB

8 years ago
8 years ago
  1. # vhdl_verification
  2. Examples and design pattern for VHDL verification. All examples run with GHDL, the open source VHDL simulator.
  3. You have to use the latest version of GHDL, as the examples use features which where added to GHDL very recently.
  4. ### osvvm_fsm_coverage
  5. Example to use OSVVMs CoveragePkg package to do FSM state coverage. State changes are used as BINS which are counted
  6. in an object of type CovPType. The testbench accesses these state coverage data CoveragePkg procedures. So, the testbench
  7. can react to the FSM coverage if necessary. Furthermore the state changes are checked by some PSL assertions.
  8. ### osvvm_fsm_psl_coverage
  9. This is the same as the osvvm_fsm_coverage but instead of using cross coverage of previous and current FSM state it's using
  10. PSL endpoints to cover FSM state changes. There is a PSL endpoint for each state change we want to cover. The endpoints
  11. are synched in clock domain and used as simple BINs to do FSM state coverage as in the osvvm_fsm_coverage example.
  12. This example shows the power of evaluating PSL endpoints in VHDL, as you can describe complex behaviour over time a lot
  13. simpler in PSL than in VHDL.
  14. ### psl_endpoint_eval_in_vhdl
  15. Example to show a recently feature added to GHDL which allows to evaluate PSL endpoints in VHDL code. It simply defines
  16. an PSL endpoint and sets a boolean value dependent on the value of the PSL endpoint.
  17. ### psl_test_endpoint
  18. This example was as test case to check the feature of evaluating PSL endpoints in VHDL, which was recently added to GHDL.
  19. See GHDL issue [#45](https://github.com/tgingold/ghdl/issues/45) for details.