45 lines
1.4 KiB
Plaintext
45 lines
1.4 KiB
Plaintext
|
|
# ============================================================================
|
||
|
|
# QuestaSim / ModelSim run script for the Calc1 UVM environment.
|
||
|
|
# usage: vsim -do run.do
|
||
|
|
# pick a test: vsim -do "set TEST test_corner; do run.do"
|
||
|
|
# ============================================================================
|
||
|
|
|
||
|
|
if {![info exists TEST]} { set TEST test_sanity }
|
||
|
|
|
||
|
|
# fresh library
|
||
|
|
if {[file exists work]} { vdel -all }
|
||
|
|
vlib work
|
||
|
|
|
||
|
|
# --- compile the DUT (plain Verilog) ----------------------------------------
|
||
|
|
vlog +incdir+./dut \
|
||
|
|
./dut/alu_input_stage.v \
|
||
|
|
./dut/alu_output_stage.v \
|
||
|
|
./dut/exdbin_mac.v \
|
||
|
|
./dut/holdreg.v \
|
||
|
|
./dut/mux_out.v \
|
||
|
|
./dut/shifter.v \
|
||
|
|
./dut/priority.v \
|
||
|
|
./dut/calc_top.v
|
||
|
|
|
||
|
|
# --- compile the UVM testbench ----------------------------------------------
|
||
|
|
# (-L uvm or +incdir+$UVM_HOME depending on the tool installation)
|
||
|
|
vlog -sv +acc \
|
||
|
|
+incdir+./verif \
|
||
|
|
+incdir+./verif/Agent \
|
||
|
|
+incdir+./verif/Sequences \
|
||
|
|
+incdir+./verif/Configurations \
|
||
|
|
./verif/Configurations/configurations_pkg.sv \
|
||
|
|
./verif/Agent/calc_agent_pkg.sv \
|
||
|
|
./verif/Sequences/calc_seq_pkg.sv \
|
||
|
|
./verif/calc_test_pkg.sv \
|
||
|
|
./verif/calc_if.sv \
|
||
|
|
./verif/calc_verif_top.sv
|
||
|
|
|
||
|
|
# --- elaborate + run --------------------------------------------------------
|
||
|
|
vsim -coverage calc_verif_top +UVM_TESTNAME=$TEST +UVM_VERBOSITY=UVM_LOW -sv_seed random
|
||
|
|
run -all
|
||
|
|
|
||
|
|
# functional coverage report (optional)
|
||
|
|
coverage report -detail -cvg
|
||
|
|
quit -f
|