Using C++TESK and SystemVerilog together » History » Revision 1
Revision 1/2
| Next »
Mikhail Chupilko, 09/28/2011 09:48 AM
Using C++TESK and SystemVerilog together¶
SystemVerilog is a proven approach to create CRV-testbenches, coverages and so on.
In case of merging a test system created by means of C++TESK and some components based on SystemVerilog,
the following tasks can be solved by some or other element of merged test system:
1) creating of stimuli flow by means of C++TESK FSM traversers
2) developing reference model showing correct results by means of SystemVerilog
3) checking the implementation reactions be means of C++TESK Test Oracle
4) checking functional coverage by means of C++TESK
5) checking event sequence coverage by means of SystemVerilog
How to connect C++TESK and SystemVerilog parts is shown in counter_sv example included into C++TESK distribution package.
Here we are going to only mention the most important modifications of original test systems (in case of Synopsys'' VCS simulator):
1) Files with reference model and test coverage written on SystemVerilog should be created (see counter.sv and coverages.sv);
2) C-functions for DPI connection should be created near to the C++TESK test system model (see counter_model.h and counter_model.cpp);
3) A file with additional setting for DPI-connection should be added (see dut.tab);
4) Set of Makefiles may be simply copied to the new test system;
5) Files testbench.v, vpi_systf.h, and vpi_systf.cpp should be modified as it is shown in the example: system tasks should be declared as extern "C", the reference model written in SystemVerilog should be instantiated in testbench.v.
Updated by Mikhail Chupilko about 13 years ago · 2 revisions