URL
https://opencores.org/ocsvn/pci/pci/trunk
Subversion Repositories pci
[/] [pci/] [tags/] [rel_9/] [sim/] [rtl_sim/] [run/] [run_pci_sim_regr.scr] - Rev 154
Compare with Previous | Blame | View Log
#!/bin/csh -f set arg_num = $#argv; # number of arguments # current iterration set iter = 1; # number of tests with DEFINES + test with user defined constants! set all_iterations = 14; # variables set iter_failed = 0; set all_iters = 0; set subtest_failed = 0; set sub_tests = 0; set test_failed = 0; set all_tests = 0; # Process arguments set arg_regression = 0; set arg_xilinx = 0; set arg_artisan = 0; set arg_waves = 0; set arg_vs_hdtp = 0 set arg_dis_comp_exp_test = 0 set arg_wb_b3 = 0 set arg_wbs_non_alligned = 0 @ arg_num = 1 set arg_check = 0 while($arg_num <= $#) switch ( $argv[$arg_num] ) case "help": goto help breaksw case "regression": @ arg_regression = 1 breaksw case "xilinx": @ arg_xilinx = 1 breaksw case "artisan": @ arg_artisan = 1 breaksw case "waves": @ arg_waves = 1 breaksw case "vs_two_port": @ arg_vs_hdtp = 1 breaksw case "disable_completion_expired_tests": @ arg_dis_comp_exp_test = 1 breaksw case "wb_b3": @ arg_wb_b3 = 1 breaksw case "wb_na": @ arg_wbs_non_alligned = 1 breaksw case "iter": @ arg_num = $arg_num + 1 @ iter = $argv[$arg_num] @ all_iterations = $iter breaksw default: echo "Invalid argument!" goto help breaksw endsw @ arg_num++ end # ITERATION LOOP iteration: echo "" echo "<<<" echo "<<< Iteration ${iter}" echo "<<<" if ($arg_regression == 1) then # Preparing defines into file if ($iter <= $all_iterations) then if ($iter == 1) then echo "<<< Defines:" if ($arg_xilinx == 0) then echo "\tREGR_FIFO_SMALL_GENERIC, " else echo "\tREGR_FIFO_SMALL_XILINX, " endif echo "\tHOST, WB_DECODE_FAST, PCI_DECODE_MAX, " echo "\tWB_DECODE_MIN, PCI33, WB_CLK10, ACTIVE_LOW_OE, REGISTER_WBM_OUTPUTS, " echo "\tREGISTER_WBS_OUTPUTS, ADDR_TRAN_IMPL, PCI_IMAGE0, PCI_IMAGE2. " echo "-DEFINE REGRESSION" > ./defines.args if ($arg_xilinx == 0) then echo "-DEFINE REGR_FIFO_SMALL_GENERIC" >> ./defines.args else echo "-DEFINE REGR_FIFO_SMALL_XILINX" >> ./defines.args endif echo "-DEFINE HOST " >> ./defines.args echo "-DEFINE WB_DECODE_FAST " >> ./defines.args echo "-DEFINE PCI_DECODE_MAX " >> ./defines.args echo "-DEFINE WB_DECODE_MIN " >> ./defines.args echo "-DEFINE PCI33 " >> ./defines.args echo "-DEFINE WB_CLK10 " >> ./defines.args echo "-DEFINE ACTIVE_LOW_OE " >> ./defines.args echo "-DEFINE REGISTER_WBM_OUTPUTS" >> ./defines.args echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args echo "-DEFINE ADDR_TRAN_IMPL " >> ./defines.args echo "-DEFINE PCI_IMAGE0 " >> ./defines.args echo "-DEFINE PCI_IMAGE2 " >> ./defines.args endif if ($iter == 2) then echo "<<< Defines:" if ($arg_xilinx == 1) then echo "\tREGR_FIFO_MEDIUM_XILINX, " else if ($arg_artisan == 1) then echo "\tREGR_FIFO_MEDIUM_ARTISAN, " else echo "\tREGR_FIFO_MEDIUM_GENERIC, " endif echo "\tHOST, WB_DECODE_MEDIUM, PCI_DECODE_MED, " echo "\tWB_DECODE_MED, PCI33, WB_CLK66, ACTIVE_LOW_OE, REGISTER_WBM_OUTPUTS, " echo "\tREGISTER_WBS_OUTPUTS, ADDR_TRAN_IMPL, PCI_IMAGE0, PCI_IMAGE2, " echo "\tPCI_IMAGE3, PCI_IMAGE4, PCI_IMAGE5, WB_IMAGE2, WB_IMAGE5. " echo "-DEFINE REGRESSION " > ./defines.args if ($arg_xilinx == 1) then echo "-DEFINE REGR_FIFO_MEDIUM_XILINX" >> ./defines.args else if ($arg_artisan == 1) then echo "-DEFINE REGR_FIFO_MEDIUM_ARTISAN" >> ./defines.args else echo "-DEFINE REGR_FIFO_MEDIUM_GENERIC" >> ./defines.args endif echo "-DEFINE HOST " >> ./defines.args echo "-DEFINE WB_DECODE_MEDIUM " >> ./defines.args echo "-DEFINE PCI_DECODE_MED " >> ./defines.args echo "-DEFINE WB_DECODE_MED " >> ./defines.args echo "-DEFINE PCI33 " >> ./defines.args echo "-DEFINE WB_CLK66 " >> ./defines.args echo "-DEFINE ACTIVE_LOW_OE " >> ./defines.args echo "-DEFINE REGISTER_WBM_OUTPUTS" >> ./defines.args echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args echo "-DEFINE ADDR_TRAN_IMPL " >> ./defines.args echo "-DEFINE PCI_IMAGE0 " >> ./defines.args echo "-DEFINE PCI_IMAGE2 " >> ./defines.args echo "-DEFINE PCI_IMAGE3 " >> ./defines.args echo "-DEFINE PCI_IMAGE4 " >> ./defines.args echo "-DEFINE PCI_IMAGE5 " >> ./defines.args echo "-DEFINE WB_IMAGE2 " >> ./defines.args echo "-DEFINE WB_IMAGE5 " >> ./defines.args endif if ($iter == 3) then echo "<<< Defines:" echo "\tHOST, REGR_FIFO_LARGE_GENERIC, WB_DECODE_SLOW, PCI_DECODE_MIN, " echo "\tWB_DECODE_MAX, PCI66, WB_CLK66, ACTIVE_LOW_OE, REGISTER_WBM_OUTPUTS, " echo "\tREGISTER_WBS_OUTPUTS, WB_IMAGE5. " echo "-DEFINE REGRESSION " > ./defines.args echo "-DEFINE HOST " >> ./defines.args echo "-DEFINE REGR_FIFO_LARGE_GENERIC" >> ./defines.args echo "-DEFINE WB_DECODE_SLOW " >> ./defines.args echo "-DEFINE PCI_DECODE_MIN " >> ./defines.args echo "-DEFINE WB_DECODE_MAX " >> ./defines.args echo "-DEFINE PCI66 " >> ./defines.args echo "-DEFINE WB_CLK66 " >> ./defines.args echo "-DEFINE ACTIVE_LOW_OE " >> ./defines.args echo "-DEFINE REGISTER_WBM_OUTPUTS " >> ./defines.args echo "-DEFINE REGISTER_WBS_OUTPUTS " >> ./defines.args echo "-DEFINE WB_IMAGE5 " >> ./defines.args endif if ($iter == 4) then echo "<<< Defines:" echo "\tGUEST, REGR_FIFO_SMALL_GENERIC, WB_DECODE_SLOW, PCI_DECODE_MED, " echo "\tWB_DECODE_MIN, PCI66, WB_CLK220, ACTIVE_LOW_OE, REGISTER_WBM_OUTPUTS, " echo "\tREGISTER_WBS_OUTPUTS, PCI_IMAGE0, PCI_IMAGE5, WB_IMAGE4. " echo "-DEFINE REGRESSION" > ./defines.args echo "-DEFINE GUEST " >> ./defines.args echo "-DEFINE REGR_FIFO_SMALL_GENERIC" >> ./defines.args echo "-DEFINE WB_DECODE_SLOW " >> ./defines.args echo "-DEFINE PCI_DECODE_MED " >> ./defines.args echo "-DEFINE WB_DECODE_MIN " >> ./defines.args echo "-DEFINE PCI66 " >> ./defines.args echo "-DEFINE WB_CLK220 " >> ./defines.args echo "-DEFINE ACTIVE_LOW_OE " >> ./defines.args echo "-DEFINE REGISTER_WBM_OUTPUTS " >> ./defines.args echo "-DEFINE REGISTER_WBS_OUTPUTS " >> ./defines.args echo "-DEFINE PCI_IMAGE0 " >> ./defines.args echo "-DEFINE PCI_IMAGE5 " >> ./defines.args echo "-DEFINE WB_IMAGE4 " >> ./defines.args endif if ($iter == 5) then echo "<<< Defines:" if ($arg_artisan == 1) then echo "\tREGR_FIFO_MEDIUM_ARTISAN, " else echo "\tREGR_FIFO_MEDIUM_GENERIC, " endif echo "\tGUEST, WB_DECODE_FAST, PCI_DECODE_MIN, " echo "\tWB_DECODE_MAX, PCI33, WB_CLK220, ACTIVE_LOW_OE, REGISTER_WBM_OUTPUTS, " echo "\tREGISTER_WBS_OUTPUTS, ADDR_TRAN_IMPL, PCI_IMAGE0, PCI_IMAGE2, " echo "\tWB_IMAGE2, WB_IMAGE3, WB_IMAGE4. " echo "-DEFINE REGRESSION" > ./defines.args if ($arg_artisan == 1) then echo "-DEFINE REGR_FIFO_MEDIUM_ARTISAN" >> ./defines.args else echo "-DEFINE REGR_FIFO_MEDIUM_GENERIC" >> ./defines.args endif echo "-DEFINE GUEST " >> ./defines.args echo "-DEFINE WB_DECODE_FAST " >> ./defines.args echo "-DEFINE PCI_DECODE_MIN " >> ./defines.args echo "-DEFINE WB_DECODE_MAX " >> ./defines.args echo "-DEFINE PCI33 " >> ./defines.args echo "-DEFINE WB_CLK220 " >> ./defines.args echo "-DEFINE ACTIVE_LOW_OE " >> ./defines.args echo "-DEFINE REGISTER_WBM_OUTPUTS " >> ./defines.args echo "-DEFINE REGISTER_WBS_OUTPUTS " >> ./defines.args echo "-DEFINE ADDR_TRAN_IMPL " >> ./defines.args echo "-DEFINE PCI_IMAGE0 " >> ./defines.args echo "-DEFINE PCI_IMAGE2 " >> ./defines.args echo "-DEFINE WB_IMAGE2 " >> ./defines.args echo "-DEFINE WB_IMAGE3 " >> ./defines.args echo "-DEFINE WB_IMAGE4 " >> ./defines.args endif if ($iter == 6) then echo "<<< Defines:" echo "\tGUEST, REGR_FIFO_LARGE_GENERIC, WB_DECODE_MEDIUM, PCI_DECODE_MAX, " echo "\tWB_DECODE_MED, PCI66, WB_CLK10, ACTIVE_LOW_OE, REGISTER_WBM_OUTPUTS, " echo "\tREGISTER_WBS_OUTPUTS, ADDR_TRAN_IMPL. " echo "-DEFINE REGRESSION" > ./defines.args echo "-DEFINE GUEST " >> ./defines.args echo "-DEFINE REGR_FIFO_LARGE_GENERIC" >> ./defines.args echo "-DEFINE WB_DECODE_MEDIUM " >> ./defines.args echo "-DEFINE PCI_DECODE_MAX " >> ./defines.args echo "-DEFINE WB_DECODE_MED " >> ./defines.args echo "-DEFINE PCI66 " >> ./defines.args echo "-DEFINE WB_CLK10 " >> ./defines.args echo "-DEFINE ACTIVE_LOW_OE " >> ./defines.args echo "-DEFINE REGISTER_WBM_OUTPUTS " >> ./defines.args echo "-DEFINE REGISTER_WBS_OUTPUTS " >> ./defines.args echo "-DEFINE ADDR_TRAN_IMPL " >> ./defines.args endif if ($iter == 7) then echo "<<< Defines:" if ($arg_xilinx == 0) then echo "\tREGR_FIFO_SMALL_GENERIC, " else echo "\tREGR_FIFO_SMALL_XILINX, " endif echo "\tHOST, WB_DECODE_FAST, PCI_DECODE_MAX, " echo "\tWB_DECODE_MIN, PCI66, WB_CLK220, ACTIVE_HIGH_OE, WB_CNF_BASE_ZERO, " echo "\tNO_CNF_IMAGE, PCI_IMAGE0, PCI_IMAGE4. " echo "-DEFINE REGRESSION" > ./defines.args if ($arg_xilinx == 0) then echo "-DEFINE REGR_FIFO_SMALL_GENERIC" >> ./defines.args else echo "-DEFINE REGR_FIFO_SMALL_XILINX" >> ./defines.args endif echo "-DEFINE HOST " >> ./defines.args echo "-DEFINE WB_DECODE_FAST " >> ./defines.args echo "-DEFINE PCI_DECODE_MAX " >> ./defines.args echo "-DEFINE WB_DECODE_MIN " >> ./defines.args echo "-DEFINE PCI66 " >> ./defines.args echo "-DEFINE WB_CLK220 " >> ./defines.args echo "-DEFINE ACTIVE_HIGH_OE " >> ./defines.args echo "-DEFINE WB_CNF_BASE_ZERO" >> ./defines.args echo "-DEFINE NO_CNF_IMAGE " >> ./defines.args echo "-DEFINE PCI_IMAGE0 " >> ./defines.args echo "-DEFINE PCI_IMAGE4 " >> ./defines.args endif if ($iter == 8) then echo "<<< Defines:" echo "\tHOST, REGR_FIFO_MEDIUM_GENERIC, WB_DECODE_MEDIUM, PCI_DECODE_MED, " echo "\tWB_DECODE_MED, PCI66, WB_CLK10, ACTIVE_HIGH_OE, WB_CNF_BASE_ZERO, " echo "\tNO_CNF_IMAGE, PCI_IMAGE0, PCI_IMAGE2, PCI_IMAGE3, PCI_IMAGE4, " echo "\tPCI_IMAGE5, WB_IMAGE2, WB_IMAGE3, WB_IMAGE4, WB_IMAGE5. " echo "-DEFINE REGRESSION" > ./defines.args echo "-DEFINE HOST " >> ./defines.args echo "-DEFINE REGR_FIFO_MEDIUM_GENERIC" >> ./defines.args echo "-DEFINE WB_DECODE_MEDIUM " >> ./defines.args echo "-DEFINE PCI_DECODE_MED " >> ./defines.args echo "-DEFINE WB_DECODE_MED " >> ./defines.args echo "-DEFINE PCI66 " >> ./defines.args echo "-DEFINE WB_CLK10 " >> ./defines.args echo "-DEFINE ACTIVE_HIGH_OE " >> ./defines.args echo "-DEFINE WB_CNF_BASE_ZERO " >> ./defines.args echo "-DEFINE NO_CNF_IMAGE " >> ./defines.args echo "-DEFINE PCI_IMAGE0 " >> ./defines.args echo "-DEFINE PCI_IMAGE2 " >> ./defines.args echo "-DEFINE PCI_IMAGE3 " >> ./defines.args echo "-DEFINE PCI_IMAGE4 " >> ./defines.args echo "-DEFINE PCI_IMAGE5 " >> ./defines.args echo "-DEFINE WB_IMAGE2 " >> ./defines.args echo "-DEFINE WB_IMAGE3 " >> ./defines.args echo "-DEFINE WB_IMAGE4 " >> ./defines.args echo "-DEFINE WB_IMAGE5 " >> ./defines.args endif if ($iter == 9) then echo "<<< Defines:" echo "\tHOST, REGR_FIFO_LARGE_GENERIC, WB_DECODE_SLOW, PCI_DECODE_MIN, " echo "\tWB_DECODE_MAX, PCI33, WB_CLK220, ACTIVE_HIGH_OE, ADDR_TRAN_IMPL, " echo "\tWB_CNF_BASE_ZERO, NO_CNF_IMAGE, WB_IMAGE3. " echo "-DEFINE REGRESSION" > ./defines.args echo "-DEFINE HOST " >> ./defines.args echo "-DEFINE REGR_FIFO_LARGE_GENERIC" >> ./defines.args echo "-DEFINE WB_DECODE_SLOW " >> ./defines.args echo "-DEFINE PCI_DECODE_MIN " >> ./defines.args echo "-DEFINE WB_DECODE_MAX " >> ./defines.args echo "-DEFINE PCI33 " >> ./defines.args echo "-DEFINE WB_CLK220 " >> ./defines.args echo "-DEFINE ACTIVE_HIGH_OE " >> ./defines.args echo "-DEFINE ADDR_TRAN_IMPL " >> ./defines.args echo "-DEFINE WB_CNF_BASE_ZERO " >> ./defines.args echo "-DEFINE NO_CNF_IMAGE " >> ./defines.args echo "-DEFINE WB_IMAGE3 " >> ./defines.args endif if ($iter == 10) then echo "<<< Defines:" echo "\tGUEST, REGR_FIFO_SMALL_GENERIC, WB_DECODE_SLOW, PCI_DECODE_MED, " echo "\tWB_DECODE_MIN, PCI33, WB_CLK66, ACTIVE_HIGH_OE, ADDR_TRAN_IMPL, " echo "\tWB_CNF_BASE_ZERO, NO_CNF_IMAGE, PCI_IMAGE0, PCI_IMAGE3. " echo "-DEFINE REGRESSION" > ./defines.args echo "-DEFINE GUEST " >> ./defines.args echo "-DEFINE REGR_FIFO_SMALL_GENERIC" >> ./defines.args echo "-DEFINE WB_DECODE_SLOW " >> ./defines.args echo "-DEFINE PCI_DECODE_MED " >> ./defines.args echo "-DEFINE WB_DECODE_MIN " >> ./defines.args echo "-DEFINE PCI33 " >> ./defines.args echo "-DEFINE WB_CLK66 " >> ./defines.args echo "-DEFINE ACTIVE_HIGH_OE " >> ./defines.args echo "-DEFINE ADDR_TRAN_IMPL " >> ./defines.args echo "-DEFINE WB_CNF_BASE_ZERO " >> ./defines.args echo "-DEFINE NO_CNF_IMAGE " >> ./defines.args echo "-DEFINE PCI_IMAGE0 " >> ./defines.args echo "-DEFINE PCI_IMAGE3 " >> ./defines.args endif if ($iter == 11) then echo "<<< Defines:" if ($arg_xilinx == 1) then echo "\tREGR_FIFO_MEDIUM_XILINX, " else if ($arg_artisan == 1) then echo "\tREGR_FIFO_MEDIUM_ARTISAN, " else echo "\tREGR_FIFO_MEDIUM_GENERIC, " endif echo "\tGUEST, WB_DECODE_FAST, PCI_DECODE_MIN, " echo "\tWB_DECODE_MAX, PCI66, WB_CLK66, ACTIVE_HIGH_OE, WB_CNF_BASE_ZERO, " echo "\tNO_CNF_IMAGE, PCI_IMAGE0, PCI_IMAGE2, PCI_IMAGE3, PCI_IMAGE4, " echo "\tPCI_IMAGE5, WB_IMAGE2. " echo "-DEFINE REGRESSION" > ./defines.args if ($arg_xilinx == 1) then echo "-DEFINE REGR_FIFO_MEDIUM_XILINX" >> ./defines.args else if ($arg_artisan == 1) then echo "-DEFINE REGR_FIFO_MEDIUM_ARTISAN" >> ./defines.args else echo "-DEFINE REGR_FIFO_MEDIUM_GENERIC" >> ./defines.args endif echo "-DEFINE GUEST " >> ./defines.args echo "-DEFINE WB_DECODE_FAST " >> ./defines.args echo "-DEFINE PCI_DECODE_MIN " >> ./defines.args echo "-DEFINE WB_DECODE_MAX " >> ./defines.args echo "-DEFINE PCI66 " >> ./defines.args echo "-DEFINE WB_CLK66 " >> ./defines.args echo "-DEFINE ACTIVE_HIGH_OE " >> ./defines.args echo "-DEFINE WB_CNF_BASE_ZERO" >> ./defines.args echo "-DEFINE NO_CNF_IMAGE " >> ./defines.args echo "-DEFINE PCI_IMAGE0 " >> ./defines.args echo "-DEFINE PCI_IMAGE2 " >> ./defines.args echo "-DEFINE PCI_IMAGE3 " >> ./defines.args echo "-DEFINE PCI_IMAGE4 " >> ./defines.args echo "-DEFINE PCI_IMAGE5 " >> ./defines.args echo "-DEFINE WB_IMAGE2 " >> ./defines.args endif if ($iter == 12) then echo "<<< Defines:" echo "\tGUEST, REGR_FIFO_LARGE_GENERIC, WB_DECODE_MEDIUM, PCI_DECODE_MAX, " echo "\tWB_DECODE_MED, PCI33, WB_CLK10, ACTIVE_HIGH_OE, WB_CNF_BASE_ZERO, " echo "\tNO_CNF_IMAGE, WB_IMAGE2, WB_IMAGE3, WB_IMAGE4, WB_IMAGE5. " echo "-DEFINE REGRESSION" > ./defines.args echo "-DEFINE GUEST " >> ./defines.args echo "-DEFINE REGR_FIFO_LARGE_GENERIC" >> ./defines.args echo "-DEFINE WB_DECODE_MEDIUM " >> ./defines.args echo "-DEFINE PCI_DECODE_MAX " >> ./defines.args echo "-DEFINE WB_DECODE_MED " >> ./defines.args echo "-DEFINE PCI33 " >> ./defines.args echo "-DEFINE WB_CLK10 " >> ./defines.args echo "-DEFINE ACTIVE_HIGH_OE " >> ./defines.args echo "-DEFINE WB_CNF_BASE_ZERO " >> ./defines.args echo "-DEFINE NO_CNF_IMAGE " >> ./defines.args echo "-DEFINE WB_IMAGE2 " >> ./defines.args echo "-DEFINE WB_IMAGE3 " >> ./defines.args echo "-DEFINE WB_IMAGE4 " >> ./defines.args echo "-DEFINE WB_IMAGE5 " >> ./defines.args endif if ($iter == 13) then echo "<<< Defines:" if ($arg_xilinx == 0) then echo "\tREGR_FIFO_SMALL_GENERIC, " else echo "\tREGR_FIFO_SMALL_XILINX, " endif echo "\tGUEST, WB_DECODE_FAST, PCI_DECODE_MAX, " echo "\tWB_DECODE_MED, PCI66, WB_CLOCK_FOLLOWS_PCI_CLOCK, ACTIVE_HIGH_OE, WB_CNF_BASE_ZERO, " echo "\tNO_CNF_IMAGE " echo "-DEFINE REGRESSION" > ./defines.args if ($arg_xilinx == 0) then echo "-DEFINE REGR_FIFO_SMALL_GENERIC" >> ./defines.args else echo "-DEFINE REGR_FIFO_SMALL_XILINX" >> ./defines.args endif echo "-DEFINE GUEST " >> ./defines.args echo "-DEFINE WB_DECODE_FAST " >> ./defines.args echo "-DEFINE PCI_DECODE_MAX " >> ./defines.args echo "-DEFINE WB_DECODE_MED " >> ./defines.args echo "-DEFINE PCI66 " >> ./defines.args echo "-DEFINE WB_CLK66 " >> ./defines.args echo "-DEFINE ACTIVE_HIGH_OE " >> ./defines.args echo "-DEFINE WB_CNF_BASE_ZERO " >> ./defines.args echo "-DEFINE NO_CNF_IMAGE " >> ./defines.args echo "-DEFINE WB_CLOCK_FOLLOWS_PCI_CLOCK=2" >> ./defines.args endif if ($iter == 14) then echo "<<< Defines:" echo "\tREGR_FIFO_SMALL_GENERIC, " echo "\tGUEST, WB_DECODE_FAST, PCI_DECODE_MAX, " echo "\tWB_DECODE_MED, PCI66, WB_CLOCK_FOLLOWS_PCI_CLOCK, ACTIVE_HIGH_OE, WB_CNF_BASE_ZERO, " echo "\tNO_CNF_IMAGE " echo "-DEFINE REGRESSION" > ./defines.args echo "-DEFINE REGR_FIFO_SMALL_GENERIC" >> ./defines.args echo "-DEFINE GUEST " >> ./defines.args echo "-DEFINE WB_DECODE_FAST " >> ./defines.args echo "-DEFINE PCI_DECODE_MAX " >> ./defines.args echo "-DEFINE WB_DECODE_MED " >> ./defines.args echo "-DEFINE PCI66 " >> ./defines.args echo "-DEFINE WB_CLK66 " >> ./defines.args echo "-DEFINE ACTIVE_HIGH_OE " >> ./defines.args echo "-DEFINE WB_CNF_BASE_ZERO " >> ./defines.args echo "-DEFINE NO_CNF_IMAGE " >> ./defines.args echo "-DEFINE PCI_CLOCK_FOLLOWS_WB_CLOCK=2" >> ./defines.args endif if ($arg_dis_comp_exp_test) then echo "-DEFINE DISABLE_COMPLETION_EXPIRED_TESTS" >> ./defines.args endif if ($arg_wb_b3) then echo "-DEFINE PCI_WB_REV_B3" >> ./defines.args endif if ($arg_wbs_non_alligned) then echo "-DEFINE PCI_WBS_ALLOW_NON_ALLIGNED_CONFIG_ACCESS" >> ./defines.args endif endif endif # Run NC-Verilog compiler echo "" echo "\t@@@" echo "\t@@@ Compiling sources" echo "\t@@@" # creating .args file for ncvlog and adding main parameters echo "-cdslib ../bin/cds.lib" > ./ncvlog.args echo "-hdlvar ../bin/hdl.var" >> ./ncvlog.args echo "-logfile ../log/ncvlog.log" >> ./ncvlog.args echo "-update" >> ./ncvlog.args echo "-messages" >> ./ncvlog.args echo "-INCDIR ../../../bench/verilog" >> ./ncvlog.args echo "-INCDIR ../../../rtl/verilog" >> ./ncvlog.args # adding defines to .args file if (($arg_regression == 1) && ($iter <= $all_iterations)) then cat ./defines.args >> ./ncvlog.args endif # adding RTL and Sim files to .args file cat ../bin/rtl_file_list.lst >> ./ncvlog.args cat ../bin/sim_file_list.lst >> ./ncvlog.args # adding device dependent files to .args file if ($arg_xilinx == 1) then cat ../bin/xilinx_file_list.lst >> ./ncvlog.args endif if ($arg_artisan == 1) then cat ../bin/artisan_file_list.lst >> ./ncvlog.args endif if ($arg_vs_hdtp == 1) then cat ../bin/vs_file_list.lst >> ./ncvlog.args endif ncvlog -file ./ncvlog.args #> /dev/null; echo "" # Run the NC-Verilog elaborator (build the design hierarchy) echo "" echo "\t@@@" echo "\t@@@ Building design hierarchy (elaboration)" echo "\t@@@" if ($arg_xilinx == 1) then ncelab -file ../bin/ncelab_xilinx.args #> /dev/null; else ncelab -file ../bin/ncelab.args #> /dev/null; endif echo "" # Run the NC-Verilog simulator (simulate the design) echo "" echo "\t###" echo "\t### Running tests (this takes a long time!)" echo "\t###" # creating ncsim.args file for ncsim and adding main parameters echo "-cdslib ../bin/cds.lib" > ./ncsim.args echo "-hdlvar ../bin/hdl.var" >> ./ncsim.args echo "-licqueue" >> ./ncsim.args echo "-logfile ../log/ncsim.log" >> ./ncsim.args echo "-messages" >> ./ncsim.args echo "-tcl" >> ./ncsim.args if ($arg_waves == 1) then echo "-input ../bin/ncsim_waves.rc" >> ./ncsim.args else echo "-input ../bin/ncsim.rc" >> ./ncsim.args endif echo "worklib.bridge32:fun" >> ./ncsim.args ncsim -file ./ncsim.args #> /dev/null if ($status != 0) then echo "" echo "TESTS couldn't start due to Errors!" echo "" exit else grep -c "FAILED" ../log/pci_tb.log > ./result_fail.out grep -c "SUCCESSFULL" ../log/pci_tb.log > ./result_succ.out set subtest_failed = `tail -1 result_fail.out`; set sub_tests = `tail -1 result_succ.out`; @ sub_tests = $sub_tests + $subtest_failed; if ($subtest_failed != 0) then echo "\t### FAILED $subtest_failed out of $sub_tests testcases of $iter. iteration!" echo "\t###" @ iter_failed += 1; @ all_iters += 1; else echo "\t### Passed all $sub_tests testcases of $iter. iteration!" echo "\t###" @ all_iters += 1; endif if (($arg_regression == 1) && ($iter <= $all_iterations)) then if ($arg_waves == 1) then mv ../out/waves.shm ../out/i${iter}_waves.shm endif mv ../log/pci_mon.log ../log/i${iter}_pci_mon.log mv ../log/pci_tb.log ../log/i${iter}_pci_tb.log mv ../log/pciu_mon.log ../log/i${iter}_pciu_mon.log mv ../log/wbu_mon.log ../log/i${iter}_wbu_mon.log mv ../log/ncsim.log ../log/i${iter}_ncsim.log mv ../log/ncvlog.log ../log/i${iter}_ncvlog.log mv ../log/ncelab.log ../log/i${iter}_ncelab.log endif endif echo "" @ test_failed = $test_failed + $subtest_failed; @ all_tests = $all_tests + $sub_tests; @ iter += 1; if (($arg_regression == 1) && ($iter <= $all_iterations)) then rm -f ../bin/INCA_libs/worklib/* rm -f ../bin/INCA_libs/worklib/.* goto iteration else rm ./defines.args echo "" echo "<<<" echo "<<< End of Regression Iterations" echo "<<<" echo "<<<" echo "<<< FAILED $iter_failed out of $all_iters iterations!" echo "<<<" echo "<<< FAILED $test_failed out of $all_tests testcases!" echo "<<<" echo "<<< -------------------------------------------------" echo "<<<" echo "<<< See following files for detailed test results:" echo "<<< ../log/*pci_tb.log " echo "<<< ../log/*pci_mon.log " echo "<<< ../log/*pciu_mon.log " echo "<<< ../log/*wbu_mon.log " echo "<<< ../log/*ncsim.log " echo "<<<" endif exit help: echo "" echo "Script arguments:" echo "" echo "regression : run all implemented regression iterations on PCI Bridge Design" echo "" echo "xilinx : if you want to run simulation with xilinx RAM primitives. You have to provide RAM16X1D.v, RAMB4_S16_S16.v and glbl.v simulation files." echo " : you have to edit ../bin/xilinx_file_list.lst file with the correct paths to these files. Leave other paths as they are!" echo "" echo "artisan : if you want to run simulation with artisan ASIC library vendor RAM primitives. You have to provide simulation models for these, edit ../bin/artisan_file_list.lst," echo " : and optionaly ../../../rtl/verilog/pci_user_constants.v, ../../../bench/verilog/pci_regression_constants.v, ../../../rtl/verilog/wb_tpram.v and ../../../rtl/verilog/pci_tpram.v" echo "" echo "waves : if you want to dump all the signals in the testbench to the signalscan output file in ../out/ directory" echo "" echo "vs_two_port : if you want to run simulation with virtual silicon ASIC library vendor RAM primitives. You have to provide simulation models for these, edit ../bin/vs_file_list.lst," echo " : and optionaly ../../../rtl/verilog/pci_user_constants.v, ../../../bench/verilog/pci_regression_constants.v, ../../../rtl/verilog/wb_tpram.v and ../../../rtl/verilog/pci_tpram.v" echo "" echo "disable_completion_expired_tests : if you want to disable completion expiration testing during regression run, because these are time consuming tests" echo "" exit