runall.do

来自「Actel Fusion System Management Developme」· DO 代码 · 共 120 行

DO
120
字号
# This automatically runs various core configurations through simulation

quietly set vlog   0
quietly set set_prog 0
quietly set do_one   1
quietly set do_all   0
quietly set tm   11

if { [ file exists  vlog.do ] } {quietly set vlog  1 }
# NOTE THE FOLLOWING LINE WILL MAY UPDATING TO ACTUAL LIBRARY NAME

quietly set VLOGLIB  "FUSION"
quietly set Nparas $argcwhile { $Nparas>0 } {   quietly set para  $1   quietly set Nparas [expr $Nparas - 1 ]   shift


   if { $para == "+hard" } {     quietly set set_prog 1   }  
   if { $para == "+gen" } {     quietly set set_prog 2   }  
   if { $para == "+soft" } {     quietly set set_prog 3   }  
   if { $para == "+init" } {     quietly set set_prog 4   }     if { $para == "+all"  } {     quietly set do_all   1     quietly set do_one   0   } 

   if { $para == "-all"  } {     quietly set do_all   0   } 

   if { $para == "+tm" || $para == "-tm" } {     quietly set tm  $1     quietly set Nparas [expr $Nparas - 1 ]     shift
   } 

   if { $para == "help" ||  $para == "-help"  } {     puts "This allows an Exhaustive Simulation to be run"
	 puts "do runall.do  +tb N -vlog -all +all +hard +gen +soft +init"
	 puts " +tm N  Runs setting testmode to N"	 puts " +all   Runs multiple simulations testing various core builds"	 puts " -all   Disables a +all"
	 puts " +hard  testbench forces core to operate with INSMODE=0"
	 puts "	+gen   testbench forces core to operate with INSMODE=0 and generated memory files"	 puts " +soft  testbench forces core to operate with INSMODE=1"
	 puts " +init  testbench forces core to operate with INSMODE=1 and initialises through the INITCFG interface"
     puts " "
     quietly set do_one 0
   } 

}


###########################################################################


if { $do_one == 1 && $vlog == 0  }  {  vsim -t ps -GSET_TM=$tm -GSET_PROG=$set_prog  COREABC_LIB.TESTBENCH
  do wave_abc_user.do
  run -all
}

if { $do_one == 1 && $vlog == 1  }  {  vsim -L $VLOGLIB -t ps -GSET_TM=$tm -GSET_PROG=$set_prog presynth.TESTBENCH
  do wave_abc_user.do
  run -all
}

if { $do_all == 1  && $vlog == 0 }  {

  foreach i { 1 2 3 4 5 6 11 12 13 14 15  } {    vsim -t ps -GSET_TM=$i COREABC_LIB.TESTBENCH
    run -all
  }

  foreach i { 11 12 13 20 21 22 23 24 25 26 27 28 29 } { 
    vsim -t ps -GSET_TM=$i -GSET_PROG=2 COREABC_LIB.TESTBENCH
    run -all
    vsim -t ps -GSET_TM=$i -GSET_PROG=3 COREABC_LIB.TESTBENCH
    run -all
    vsim -t ps -GSET_TM=$i -GSET_PROG=4 COREABC_LIB.TESTBENCH
    run -all
  }
}

if { $do_all == 1  && $vlog == 1 }  {
  foreach i { 1 2 3 4 5 6 11 12 13 14 15  } {
    vsim -L $VLOGLIB -L COREABC_LIB -t ps -GSET_TM=$i presynth.TESTBENCH
    run -all
  }

  foreach i { 11 12 13 20 21 22 23 24 25 26 27 28 29 } {
    vsim -L $VLOGLIB -L COREABC_LIB -t ps -GSET_TM=$i -GSET_PROG=2 presynth.TESTBENCH
    run -all
    vsim -L $VLOGLIB -L COREABC_LIB -t ps -GSET_TM=$i -GSET_PROG=3 presynth.TESTBENCH
    run -all
    vsim -L $VLOGLIB -L COREABC_LIB -t ps -GSET_TM=$i -GSET_PROG=4 presynth.TESTBENCH
    run -all
  }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?