mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +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.lockstep): | ||||
|         Instret = str(args.locksteplog) | ||||
|         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; | ||||
|         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 + "\""; | ||||
|         suffix = "--lockstep" | ||||
|     else: | ||||
|         prefix = "" | ||||
|  | ||||
| @ -29,6 +29,14 @@ vlog +incdir+$env(WALLY)/config/$1 \ | ||||
|      +incdir+$env(WALLY)/config/shared \ | ||||
|      +define+USE_IMPERAS_DV \ | ||||
|      +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)/ImpProprietary/include/host \ | ||||
|      $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/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 \ | ||||
|      $env(IMPERAS_HOME)/ImpProprietary/source/host/idv/trace2cov.sv  \ | ||||
|     \ | ||||
|      $env(WALLY)/src/cvw.sv \ | ||||
|      $env(WALLY)/testbench/testbench-imperas.sv \ | ||||
|      $env(WALLY)/testbench/testbench.sv \ | ||||
|      $env(WALLY)/testbench/common/*.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  | ||||
| eval vsim workopt +nowarn3829  -fatal 7 \ | ||||
|      -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 | ||||
| 
 | ||||
| @ -76,4 +76,4 @@ run -all | ||||
| noview $env(WALLY)/testbench/testbench-imperas.sv | ||||
| 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)); | ||||
|         $fatal; | ||||
|       end | ||||
|        | ||||
|       void'(rvviRefConfigSetString(IDV_CONFIG_MODEL_VENDOR,            "riscv.ovpworld.org")); | ||||
|       void'(rvviRefConfigSetString(IDV_CONFIG_MODEL_NAME,              "riscv")); | ||||
|       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)); | ||||
| 
 | ||||
|       if (!rvviRefInit(elffilename)) begin | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user