mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Fixed bug with gui mode testbench_fp
removed old wally-linux-imperas.do
This commit is contained in:
		
							parent
							
								
									4cc8859612
								
							
						
					
					
						commit
						970af9551c
					
				
							
								
								
									
										5
									
								
								bin/wsim
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								bin/wsim
									
									
									
									
									
								
							| @ -59,7 +59,10 @@ if (args.sim == "questa"): | |||||||
|     if (args.coverage): |     if (args.coverage): | ||||||
|         cmd += " --coverage" |         cmd += " --coverage" | ||||||
|     if (args.gui):  # launch Questa with GUI; add +acc to keep variables accessible |     if (args.gui):  # launch Questa with GUI; add +acc to keep variables accessible | ||||||
|          cmd = cd + "; vsim -do \"" + cmd + " +acc -GDEBUG=1\""         |         if(args.tb == "testbench"):  | ||||||
|  |             cmd = cd + "; vsim -do \"" + cmd + " +acc -GDEBUG=1\"" | ||||||
|  |         elif(args.tb == "testbench_fp"): | ||||||
|  |             cmd = cd + "; vsim -do \"" + cmd + " +acc\"" | ||||||
|     else: # launch Questa in batch mode |     else: # launch Questa in batch mode | ||||||
|         cmd = cd + "; vsim -c -do \"" + cmd + "\"" |         cmd = cd + "; vsim -c -do \"" + cmd + "\"" | ||||||
|     print("Running Questa with command: " + cmd) |     print("Running Questa with command: " + cmd) | ||||||
|  | |||||||
| @ -1,84 +0,0 @@ | |||||||
| # wally.do  |  | ||||||
| # SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 |  | ||||||
| # |  | ||||||
| # Modification by Oklahoma State University & Harvey Mudd College |  | ||||||
| # Use with Testbench  |  | ||||||
| # James Stine, 2008; David Harris 2021 |  | ||||||
| # Go Cowboys!!!!!! |  | ||||||
| # |  | ||||||
| # Takes 1:10 to run RV64IC tests using gui |  | ||||||
| 
 |  | ||||||
| # run with vsim -do "do wally-pipelined.do rv64ic riscvarchtest-64m" |  | ||||||
| 
 |  | ||||||
| # Use this wally-pipelined.do file to run this example. |  | ||||||
| # Either bring up ModelSim and type the following at the "ModelSim>" prompt: |  | ||||||
| #     do wally.do |  | ||||||
| # or, to run from a shell, type the following at the shell prompt: |  | ||||||
| #     vsim -do wally.do -c |  | ||||||
| # (omit the "-c" to see the GUI while running from the shell) |  | ||||||
| 
 |  | ||||||
| onbreak {resume} |  | ||||||
| 
 |  | ||||||
| # create library |  | ||||||
| if [file exists work] { |  | ||||||
|     vdel -all |  | ||||||
| } |  | ||||||
| vlib work |  | ||||||
| 
 |  | ||||||
| # compile source files |  | ||||||
| # suppress spurious warnngs about  |  | ||||||
| # "Extra checking for conflicts with always_comb done at vopt time" |  | ||||||
| # because vsim will run vopt |  | ||||||
| 
 |  | ||||||
| # start and run simulation |  | ||||||
| # remove +acc flag for faster sim during regressions if there is no need to access internal signals |  | ||||||
| if {$2 eq "buildroot"} { |  | ||||||
|     vlog -lint -work work_${1}_${2} \ |  | ||||||
|       +define+USE_IMPERAS_DV \ |  | ||||||
|       +incdir+../../config/deriv/$1 \ |  | ||||||
|       +incdir+../../config/shared \ |  | ||||||
|       +incdir+$env(IMPERAS_HOME)/ImpPublic/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/rvviTrace.sv      \ |  | ||||||
|       $env(IMPERAS_HOME)/ImpProprietary/source/host/idv/idvApiPkg.sv  \ |  | ||||||
|       $env(IMPERAS_HOME)/ImpProprietary/source/host/idv/idvPkg.sv   \ |  | ||||||
|       $env(IMPERAS_HOME)/ImpProprietary/source/host/idv/idvApiPkg.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/trace2cov.sv  \ |  | ||||||
|       $env(IMPERAS_HOME)/ImpProprietary/source/host/idv/trace2bin.sv  \ |  | ||||||
|       ../../src/cvw.sv \ |  | ||||||
|        ../../testbench/testbench.sv \ |  | ||||||
|        ../../testbench/common/*.sv ../../src/*/*.sv \ |  | ||||||
|        ../../src/*/*/*.sv -suppress 2583 |  | ||||||
| 
 |  | ||||||
|     # |  | ||||||
|     # start and run simulation |  | ||||||
|     # for profiling add |  | ||||||
|     # vopt -fprofile |  | ||||||
|     # vsim -fprofile+perf |  | ||||||
|     # visualizer -fprofile+perf+dir=fprofile |  | ||||||
|     # |  | ||||||
|     eval vopt +acc work_${1}_${2}.testbench -work work_${1}_${2} -G RISCV_DIR=$3 \ |  | ||||||
|          -o testbenchopt  |  | ||||||
|     eval vsim -lib work_${1}_${2} testbenchopt +TEST=$2 -suppress 8852,12070,3084,3829,13286  -fatal 7 \ |  | ||||||
|         -sv_lib $env(IMPERAS_HOME)/lib/Linux64/ImperasLib/imperas.com/verification/riscv/1.0/model \ |  | ||||||
|         $env(OTHERFLAGS) |  | ||||||
| 
 |  | ||||||
|     #-- Run the Simulation |  | ||||||
|     echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" |  | ||||||
|     echo "Don't forget to change DEBUG_LEVEL = 0." |  | ||||||
|     echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" |  | ||||||
|     #run 100 ns |  | ||||||
|     #force -deposit testbench/dut/core/priv/priv/csr/csri/IE_REGW 16'h2aa |  | ||||||
|     #force -deposit testbench/dut/uncore/uncore/clint/clint/MTIMECMP 64'h1000 |  | ||||||
|     run 9800 ms |  | ||||||
|     add log -recursive /testbench/dut/* |  | ||||||
|     do wave.do |  | ||||||
|     run 200 ms |  | ||||||
|     #run -all |  | ||||||
| 
 |  | ||||||
|     exec ./slack-notifier/slack-notifier.py |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
| @ -18,7 +18,7 @@ | |||||||
| #     vsim -do wally-batch.do -c | #     vsim -do wally-batch.do -c | ||||||
| # (omit the "-c" to see the GUI while running from the shell) | # (omit the "-c" to see the GUI while running from the shell) | ||||||
| 
 | 
 | ||||||
| set DEBUG 0 | set DEBUG 1 | ||||||
| 
 | 
 | ||||||
| onbreak {resume} | onbreak {resume} | ||||||
| onerror {quit -f} | onerror {quit -f} | ||||||
| @ -102,15 +102,17 @@ set LockStepIndex [lsearch -exact $lst "--lockstep"] | |||||||
| if {$LockStepIndex >= 0} { | if {$LockStepIndex >= 0} { | ||||||
|     set lockstep 1 |     set lockstep 1 | ||||||
| 
 | 
 | ||||||
|  |     # ideally this would all be one or two variables, but questa is having a real hard time | ||||||
|  |     # with this.  For now they have to be separate. | ||||||
|     set lockstepvoptstring "+define+USE_IMPERAS_DV" |     set lockstepvoptstring "+define+USE_IMPERAS_DV" | ||||||
|     set ImperasPubInc +incdir+$env(IMPERAS_HOME)/ImpPublic/include/host |     set ImperasPubInc +incdir+$env(IMPERAS_HOME)/ImpPublic/include/host | ||||||
|     set ImperasPrivInc +incdir+$env(IMPERAS_HOME)/ImpProprietary/include/host |     set ImperasPrivInc +incdir+$env(IMPERAS_HOME)/ImpProprietary/include/host | ||||||
|     set rvviFiles       $env(IMPERAS_HOME)/ImpPublic/source/host/rvvi/*.sv |     set rvviFiles       $env(IMPERAS_HOME)/ImpPublic/source/host/rvvi/*.sv | ||||||
|     set idvFiles $env(IMPERAS_HOME)/ImpProprietary/source/host/idv/*.sv |     set idvFiles $env(IMPERAS_HOME)/ImpProprietary/source/host/idv/*.sv | ||||||
| 
 |  | ||||||
|     set SVLib "-sv_lib" |     set SVLib "-sv_lib" | ||||||
|     set SVLibPath $env(IMPERAS_HOME)/lib/Linux64/ImperasLib/imperas.com/verification/riscv/1.0/model |     set SVLibPath $env(IMPERAS_HOME)/lib/Linux64/ImperasLib/imperas.com/verification/riscv/1.0/model | ||||||
|     set OtherFlags $env(OTHERFLAGS) |     set OtherFlags $env(OTHERFLAGS) | ||||||
|  | 
 | ||||||
|     set lst [lreplace $lst $LockStepIndex $LockStepIndex] |     set lst [lreplace $lst $LockStepIndex $LockStepIndex] | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -137,18 +139,13 @@ if {$DEBUG > 0} { | |||||||
| # "Extra checking for conflicts with always_comb done at vopt time" | # "Extra checking for conflicts with always_comb done at vopt time" | ||||||
| # because vsim will run vopt | # because vsim will run vopt | ||||||
| 
 | 
 | ||||||
| echo $lockstepvoptstring |  | ||||||
| 
 |  | ||||||
| vlog -lint -work ${WKDIR}  +incdir+${CONFIG}/${CFG} +incdir+${CONFIG}/deriv/${CFG} ${lockstepvoptstring} ${ImperasPubInc} ${ImperasPrivInc} +incdir+${CONFIG}/shared ${rvviFiles} ${idvFiles} ${SRC}/cvw.sv ${TB}/${TESTBENCH}.sv ${TB}/common/*.sv  ${SRC}/*/*.sv ${SRC}/*/*/*.sv -suppress 2583 -suppress 7063,2596,13286 | vlog -lint -work ${WKDIR}  +incdir+${CONFIG}/${CFG} +incdir+${CONFIG}/deriv/${CFG} ${lockstepvoptstring} ${ImperasPubInc} ${ImperasPrivInc} +incdir+${CONFIG}/shared ${rvviFiles} ${idvFiles} ${SRC}/cvw.sv ${TB}/${TESTBENCH}.sv ${TB}/common/*.sv  ${SRC}/*/*.sv ${SRC}/*/*/*.sv -suppress 2583 -suppress 7063,2596,13286 | ||||||
| 
 | 
 | ||||||
| # start and run simulation | # start and run simulation | ||||||
| # remove +acc flag for faster sim during regressions if there is no need to access internal signals | # remove +acc flag for faster sim during regressions if there is no need to access internal signals | ||||||
| vopt $accFlag wkdir/${CFG}_${TESTSUITE}.${TESTBENCH} -work ${WKDIR} ${lst} -o testbenchopt ${CoverageVoptArg} | vopt $accFlag wkdir/${CFG}_${TESTSUITE}.${TESTBENCH} -work ${WKDIR} ${lst} -o testbenchopt ${CoverageVoptArg} | ||||||
| 
 | 
 | ||||||
| #  *** tbArgs producees a warning that TEST not found in design when running sim-testfloat-batch.  Need to separate -G and + arguments to pass separately to vopt and vsim |  | ||||||
| vsim -lib ${WKDIR} testbenchopt +TEST=${TESTSUITE} ${PlusArgs} -fatal 7 ${SVLib} ${SVLibPath} ${OtherFlags} -suppress 3829 ${CoverageVsimArg} | vsim -lib ${WKDIR} testbenchopt +TEST=${TESTSUITE} ${PlusArgs} -fatal 7 ${SVLib} ${SVLibPath} ${OtherFlags} -suppress 3829 ${CoverageVsimArg} | ||||||
| # -sv_lib $env(IMPERAS_HOME)/lib/Linux64/ImperasLib/imperas.com/verification/riscv/1.0/model \ |  | ||||||
|         $env(OTHERFLAGS) |  | ||||||
| 
 | 
 | ||||||
| #    vsim -lib wkdir/work_${1}_${2} testbenchopt  -fatal 7 -suppress 3829 | #    vsim -lib wkdir/work_${1}_${2} testbenchopt  -fatal 7 -suppress 3829 | ||||||
| # power add generates the logging necessary for said generation. | # power add generates the logging necessary for said generation. | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user