OpenCores
URL https://opencores.org/ocsvn/pci/pci/trunk

Subversion Repositories pci

[/] [pci/] [trunk/] [sim/] [rtl_sim/] [run/] [run_pci_sim_regr.scr] - Rev 140

Go to most recent revision | 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_tst = 0
set arg_wb_b3 = 0
 
@ arg_num     = 1
set arg_check = 0
 
while($arg_num <= $#argv)
 
        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 "disable_completion_expired_tests":
            @ arg_dis_comp_exp_tst = 1
            breaksw
 
        case "vs_two_port":
            @ arg_vs_hdtp = 1
            breaksw
 
        case "wb_b3":
            @ arg_wb_b3 = 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 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 WB_DECODE_FAST      " >> ./defines.args
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            endif
 
            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 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
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_MEDIUM    " >> ./defines.args
                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
            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 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 WB_IMAGE5              " >> ./defines.args
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_SLOW     " >> ./defines.args
                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
        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 PCI_DECODE_MED         " >> ./defines.args
            echo "-DEFINE PCI_SPOCI              " >> ./defines.args
            echo "-DEFINE PCI_CPCI_HS_IMPLEMENT  " >> ./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 PCI_IMAGE0             " >> ./defines.args
            echo "-DEFINE PCI_IMAGE5             " >> ./defines.args
            echo "-DEFINE WB_IMAGE4              " >> ./defines.args
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_SLOW     " >> ./defines.args
                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
        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 PCI_DECODE_MIN          " >> ./defines.args
            echo "-DEFINE PCI_SPOCI               " >> ./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 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
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
        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 PCI_DECODE_MAX         " >> ./defines.args
            echo "-DEFINE PCI_SPOCI              " >> ./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 ADDR_TRAN_IMPL         " >> ./defines.args
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_MEDIUM    " >> ./defines.args
                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
        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 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 
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
#                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
        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 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
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_MEDIUM    " >> ./defines.args
#                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
        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 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
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_SLOW     " >> ./defines.args
#                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
        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 PCI_DECODE_MED         " >> ./defines.args
            echo "-DEFINE PCI_CPCI_HS_IMPLEMENT  " >> ./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
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_SLOW     " >> ./defines.args
#                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
        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 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 PCI_SPOCI       " >> ./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
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
#                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
        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 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
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_MEDIUM    " >> ./defines.args
#                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
 
        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 PCI_DECODE_MAX              " >> ./defines.args
            echo "-DEFINE WB_DECODE_MED               " >> ./defines.args
            echo "-DEFINE PCI_CPCI_HS_IMPLEMENT       " >> ./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
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
#                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
 
        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 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
 
            if ($arg_wb_b3 == 0) then
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
#                echo "-DEFINE REGISTER_WBS_OUTPUTS" >> ./defines.args
            else
                echo "-DEFINE WB_DECODE_FAST      " >> ./defines.args
            endif
 
 
        endif
 
        if ($arg_dis_comp_exp_tst) then
            echo "-DEFINE DISABLE_COMPLETION_EXPIRED_TESTS" >> ./defines.args
        endif
 
        if ($arg_wb_b3) then
            echo "-DEFINE PCI_WB_REV_B3" >> ./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
 
echo '-DEFINE PCI_CPCI_SIM' >> ./ncvlog.args
 
# 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 ""
        echo "wb_b3 : Run complete regression with WISHBONE Slave Unit's WB B3 to WB B2 cycle translation enabled"
        echo ""
exit
 
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.