mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-03 02:05:21 +00:00
Still don't understand why wally.do can't load testbench.sv with functional coverage. But wally-imperas-cov.do can load testbench.sv with functional coverage.
This commit is contained in:
parent
4a1e856b18
commit
48fd365b9d
4
bin/wsim
4
bin/wsim
@ -66,8 +66,8 @@ cd = "cd $WALLY/sim/" +args.sim
|
|||||||
if (args.sim == "questa"):
|
if (args.sim == "questa"):
|
||||||
if (args.lockstep):
|
if (args.lockstep):
|
||||||
Instret = str(args.locksteplog)
|
Instret = str(args.locksteplog)
|
||||||
CovEnableStr = "1\"" if int(args.covlog) > 0 else "0\"";
|
CovEnableStr = "1" if int(args.covlog) > 0 else "0";
|
||||||
prefix ="IMPERAS_TOOLS=" + WALLY + "/sim/imperas.ic OTHERFLAGS=\"+IDV_TRACE2LOG=" + Instret + " +IDV_TRACE2COV=" + str(args.covlog) + " +TRACE2COV_ENABLE=" + CovEnableStr;
|
prefix ="IMPERAS_TOOLS=" + WALLY + "/sim/imperas.ic OTHERFLAGS=\"+IDV_TRACE2LOG=" + Instret + " +IDV_TRACE2COV=" + str(args.covlog) + " +TRACE2COV_ENABLE=" + CovEnableStr + "\"";
|
||||||
suffix = "--lockstep"
|
suffix = "--lockstep"
|
||||||
else:
|
else:
|
||||||
prefix = ""
|
prefix = ""
|
||||||
|
@ -29,6 +29,14 @@ vlog +incdir+$env(WALLY)/config/$1 \
|
|||||||
+incdir+$env(WALLY)/config/shared \
|
+incdir+$env(WALLY)/config/shared \
|
||||||
+define+USE_IMPERAS_DV \
|
+define+USE_IMPERAS_DV \
|
||||||
+define+IDV_INCLUDE_TRACE2COV \
|
+define+IDV_INCLUDE_TRACE2COV \
|
||||||
|
+define+INCLUDE_TRACE2COV +define+COVER_BASE_RV64I +define+COVER_LEVEL_DV_PR_EXT \
|
||||||
|
+define+COVER_RV64I \
|
||||||
|
+define+COVER_RV64M \
|
||||||
|
+define+COVER_RV64A \
|
||||||
|
+define+COVER_RV64F \
|
||||||
|
+define+COVER_RV64D \
|
||||||
|
+define+COVER_RV64ZICSR \
|
||||||
|
+define+COVER_RV64C \
|
||||||
+incdir+$env(IMPERAS_HOME)/ImpPublic/include/host \
|
+incdir+$env(IMPERAS_HOME)/ImpPublic/include/host \
|
||||||
+incdir+$env(IMPERAS_HOME)/ImpProprietary/include/host \
|
+incdir+$env(IMPERAS_HOME)/ImpProprietary/include/host \
|
||||||
$env(IMPERAS_HOME)/ImpPublic/source/host/rvvi/rvviApiPkg.sv \
|
$env(IMPERAS_HOME)/ImpPublic/source/host/rvvi/rvviApiPkg.sv \
|
||||||
@ -39,19 +47,11 @@ vlog +incdir+$env(WALLY)/config/$1 \
|
|||||||
$env(IMPERAS_HOME)/ImpProprietary/source/host/idv/trace2api.sv \
|
$env(IMPERAS_HOME)/ImpProprietary/source/host/idv/trace2api.sv \
|
||||||
$env(IMPERAS_HOME)/ImpProprietary/source/host/idv/trace2log.sv \
|
$env(IMPERAS_HOME)/ImpProprietary/source/host/idv/trace2log.sv \
|
||||||
\
|
\
|
||||||
+define+INCLUDE_TRACE2COV +define+COVER_BASE_RV64I +define+COVER_LEVEL_DV_PR_EXT \
|
|
||||||
+define+COVER_RV64I \
|
|
||||||
+define+COVER_RV64M \
|
|
||||||
+define+COVER_RV64A \
|
|
||||||
+define+COVER_RV64F \
|
|
||||||
+define+COVER_RV64D \
|
|
||||||
+define+COVER_RV64ZICSR \
|
|
||||||
+define+COVER_RV64C \
|
|
||||||
+incdir+$env(IMPERAS_HOME)/ImpProprietary/source/host/riscvISACOV/source \
|
+incdir+$env(IMPERAS_HOME)/ImpProprietary/source/host/riscvISACOV/source \
|
||||||
$env(IMPERAS_HOME)/ImpProprietary/source/host/idv/trace2cov.sv \
|
$env(IMPERAS_HOME)/ImpProprietary/source/host/idv/trace2cov.sv \
|
||||||
\
|
\
|
||||||
$env(WALLY)/src/cvw.sv \
|
$env(WALLY)/src/cvw.sv \
|
||||||
$env(WALLY)/testbench/testbench-imperas.sv \
|
$env(WALLY)/testbench/testbench.sv \
|
||||||
$env(WALLY)/testbench/common/*.sv \
|
$env(WALLY)/testbench/common/*.sv \
|
||||||
$env(WALLY)/src/*/*.sv \
|
$env(WALLY)/src/*/*.sv \
|
||||||
$env(WALLY)/src/*/*/*.sv \
|
$env(WALLY)/src/*/*/*.sv \
|
||||||
@ -61,7 +61,7 @@ vlog +incdir+$env(WALLY)/config/$1 \
|
|||||||
vopt +acc work.testbench -G DEBUG=1 -o workopt
|
vopt +acc work.testbench -G DEBUG=1 -o workopt
|
||||||
eval vsim workopt +nowarn3829 -fatal 7 \
|
eval vsim workopt +nowarn3829 -fatal 7 \
|
||||||
-sv_lib $env(IMPERAS_HOME)/lib/Linux64/ImperasLib/imperas.com/verification/riscv/1.0/model \
|
-sv_lib $env(IMPERAS_HOME)/lib/Linux64/ImperasLib/imperas.com/verification/riscv/1.0/model \
|
||||||
+testDir=$env(TESTDIR) $env(OTHERFLAGS) +TRACE2COV_ENABLE=1
|
+ElfFile=$env(TESTDIR)/ref/ref.elf $env(OTHERFLAGS) +TRACE2COV_ENABLE=1
|
||||||
|
|
||||||
coverage save -onexit $env(WALLY)/sim/questa/riscv.ucdb
|
coverage save -onexit $env(WALLY)/sim/questa/riscv.ucdb
|
||||||
|
|
||||||
@ -76,4 +76,4 @@ run -all
|
|||||||
noview $env(WALLY)/testbench/testbench-imperas.sv
|
noview $env(WALLY)/testbench/testbench-imperas.sv
|
||||||
view wave
|
view wave
|
||||||
|
|
||||||
quit -f
|
#quit -f
|
||||||
|
@ -149,10 +149,11 @@ module testbench;
|
|||||||
$display($sformatf("%m @ t=%0t: Expecting RVVI API version %0d.", $time, RVVI_API_VERSION));
|
$display($sformatf("%m @ t=%0t: Expecting RVVI API version %0d.", $time, RVVI_API_VERSION));
|
||||||
$fatal;
|
$fatal;
|
||||||
end
|
end
|
||||||
|
|
||||||
void'(rvviRefConfigSetString(IDV_CONFIG_MODEL_VENDOR, "riscv.ovpworld.org"));
|
void'(rvviRefConfigSetString(IDV_CONFIG_MODEL_VENDOR, "riscv.ovpworld.org"));
|
||||||
void'(rvviRefConfigSetString(IDV_CONFIG_MODEL_NAME, "riscv"));
|
void'(rvviRefConfigSetString(IDV_CONFIG_MODEL_NAME, "riscv"));
|
||||||
void'(rvviRefConfigSetString(IDV_CONFIG_MODEL_VARIANT, "RV64GC"));
|
void'(rvviRefConfigSetString(IDV_CONFIG_MODEL_VARIANT, "RV64GC"));
|
||||||
void'(rvviRefConfigSetInt(IDV_CONFIG_MODEL_ADDRESS_BUS_WIDTH, 39));
|
void'(rvviRefConfigSetInt(IDV_CONFIG_MODEL_ADDRESS_BUS_WIDTH, 56));
|
||||||
void'(rvviRefConfigSetInt(IDV_CONFIG_MAX_NET_LATENCY_RETIREMENTS, 6));
|
void'(rvviRefConfigSetInt(IDV_CONFIG_MAX_NET_LATENCY_RETIREMENTS, 6));
|
||||||
|
|
||||||
if (!rvviRefInit(elffilename)) begin
|
if (!rvviRefInit(elffilename)) begin
|
||||||
@ -189,7 +190,7 @@ module testbench;
|
|||||||
end
|
end
|
||||||
if (P.SDC_SUPPORTED) begin
|
if (P.SDC_SUPPORTED) begin
|
||||||
void'(rvviRefMemorySetVolatile(P.SDC_BASE, (P.SDC_BASE + P.SDC_RANGE)));
|
void'(rvviRefMemorySetVolatile(P.SDC_BASE, (P.SDC_BASE + P.SDC_RANGE)));
|
||||||
end
|
end
|
||||||
if (P.SPI_SUPPORTED) begin
|
if (P.SPI_SUPPORTED) begin
|
||||||
void'(rvviRefMemorySetVolatile(P.SPI_BASE, (P.SPI_BASE + P.SPI_RANGE)));
|
void'(rvviRefMemorySetVolatile(P.SPI_BASE, (P.SPI_BASE + P.SPI_RANGE)));
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user