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.

53 lines
1.9 KiB

  1. OSVVM := ../../OSVVM
  2. .PHONY: sim compile clean wave
  3. sim \
  4. work/osvvm_fsm_coverage \
  5. work/osvvm_fsm_coverage.ghw: work/osvvm_fsm_coverage.o log
  6. @echo Run test ...
  7. @cd work; ghdl -r --std=08 -fpsl osvvm_fsm_coverage \
  8. --psl-report=../log/osvvm_fsm_coverage.json \
  9. --wave=../log/osvvm_fsm_coverage.ghw \
  10. --stop-time=200ns
  11. work/osvvm/%.o: work/osvvm
  12. @echo "Analyse OSVVM library ..."
  13. @cd work; ghdl -a --std=08 --work=osvvm --workdir=osvvm ../$(OSVVM)/NamePkg.vhd
  14. @cd work; ghdl -a --std=08 --work=osvvm --workdir=osvvm ../$(OSVVM)/TranscriptPkg.vhd
  15. @cd work; ghdl -a --std=08 --work=osvvm --workdir=osvvm ../$(OSVVM)/OsvvmGlobalPkg.vhd
  16. @cd work; ghdl -a --std=08 --work=osvvm --workdir=osvvm ../$(OSVVM)/TextUtilPkg.vhd
  17. @cd work; ghdl -a --std=08 --work=osvvm --workdir=osvvm ../$(OSVVM)/AlertLogPkg.vhd
  18. @cd work; ghdl -a --std=08 --work=osvvm --workdir=osvvm ../$(OSVVM)/RandomBasePkg.vhd
  19. @cd work; ghdl -a --std=08 --work=osvvm --workdir=osvvm ../$(OSVVM)/SortListPkg_int.vhd
  20. @cd work; ghdl -a --std=08 --work=osvvm --workdir=osvvm ../$(OSVVM)/RandomPkg.vhd
  21. @cd work; ghdl -a --std=08 --work=osvvm --workdir=osvvm ../$(OSVVM)/MessagePkg.vhd
  22. @cd work; ghdl -a --std=08 --work=osvvm --workdir=osvvm ../$(OSVVM)/CoveragePkg.vhd
  23. @cd work; ghdl -a --std=08 --work=osvvm --workdir=osvvm ../$(OSVVM)/MemoryPkg.vhd
  24. compile \
  25. work/osvvm_fsm_coverage.o: osvvm_fsm_coverage.vhd work work/work work/osvvm/CoveragePkg.o
  26. @echo "Analyse & elaborate test ..."
  27. @cd work; ghdl -a --std=08 -fpsl --workdir=work -Posvvm ../osvvm_fsm_coverage.vhd
  28. @cd work; ghdl -e --std=08 -fpsl --workdir=work -Posvvm -o osvvm_fsm_coverage osvvm_fsm_coverage >& /dev/null
  29. wave: work/osvvm_fsm_coverage.ghw
  30. @echo Run waveform viewer ...
  31. @gtkwave log/osvvm_fsm_coverage.ghw -S osvvm_fsm_coverage.tcl &
  32. work \
  33. work/osvvm \
  34. work/work \
  35. log:
  36. @mkdir $@
  37. clean:
  38. @echo Remove generated files ...
  39. @rm -rf work log