在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4318|回复: 3

[转贴] VMM testbech run script的编辑

[复制链接]
发表于 2011-6-3 10:02:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
run script:


#!/bin/csh -f
#################### Scan Command Line ################
set INFO  = "###(info) ${0}"
set ERROR = "###(error) ${0}"
set num = $#argv
set paras = "$argv[1-$num]"
set paras_pass = ""
set cov_arg =""
set testcase = ""
set defines = ""
set complist = "./list.f"
set seed = "0"
foreach i ($paras)
   if ( $?get_random_seed ) then
        set seed = $i
        unset get_random_seed
   else if ( "x$i" == "x-seed" ) then
        set get_random_seed
   else if ( "x$i" == "x-h" || "x$i" == "x-help" ) then
      set paras_help
      break
   else if ( "x$i" == "x-trace" ) then
      set paras_trace
   else if ( "x$i" == "x-cov" ) then
      set paras_cov
   else if ( "x$i" == "x-clean" ) then
      set paras_clean
      break
   else if ( $i =~ +* ) then
      set paras_pass = "${paras_pass} $i"
   else if ( $i !~ -*  &&  $i !~ +* ) then
      set testcase = $i
   else
      echo "${ERROR}: unknown argument $paras"
      set paras_help
      break
   endif
end
################### Remove redundant files #################
if ( $?paras_clean ) then
          echo "${INFO}: remove redundant files and directories"
          \rm -fr simv* *.vpd csrc DVEfiles *.key vcs* *.log urg* *.hex *.bin vc_hdrs.h
          \rm -fr ../cov/coverage.* ../cov/urgReport
          \rm -fr verdiLog *.fsdb VerdiLog
          exit
endif
## Whether the test case exists
if ( "$testcase" == "" ) then
   echo "${ERROR}: No testcase as parameter"
   set paras_help
endif

#################### Help Info ################
if ( $?paras_help ) then
        cat <<EOU
Usage:
  run  testcase    - run vcs simulation.
  testcase:        - testcase name,include path.
  Options:
     -help[-h]     - Display this messages.
     -clean        - Clean redundant directroy and file.
     -only         - Only Compile Assembly/C file.
     +nofsdb       - Do not dump waveform.
EOU
    exit 0
endif
## Whether the testcase directory exists
if ( ! -e "../tests/${testcase}.sv" ) then
   echo "${ERROR}: ../tests/${testcase}.sv can not open"
   exit
endif
echo  "============================================================== "
echo  "|||       Build  RAL Class                                 ||| "
echo  "============================================================== "
ralgen -l sv -t svidRegSys -b -o ../tb/ral/ral_svidRegSys.sv ../tb/ral/svidReg.ralf
echo  "============================================================== "
echo  "|||       Build VCS and Run Simulation                     ||| "
echo  "============================================================== "
set log_file = `echo $testcase | sed "s/\//_/g"`
if ( $?paras_cov ) then
  set cov_arg = "-cm line+cond+branch+fsm -cm_dir ../cov/coverage.cm"
endif
vcs -Mupdate +systemverilogext+.sv \
    -lca \
    -debug_all \
    -notice \
    -ntb_opts rvm \
    ${cov_arg} \
    -fsdb \
    $defines \
    -f $complist \
    ../tests/${testcase}.sv \
    -l ./log/${log_file}_${seed}.log
if ( $status ) then
   exit;
endif      
if ( $?paras_trace) then
  set paras_pass = "$paras_pass +vmm_log_default=trace"
else
  set paras_pass = "$paras_pass +vmm_log_default=normal"   
endif
if ( $?paras_cov ) then
  set cov_arg = "-cm line+cond+branch+fsm -cm_dir ../cov/coverage.cm -cm_name ${log_file}_${seed}"
endif
./simv ${paras_pass} ${cov_arg} +ntb_random_seed=$seed -a ./log/${log_file}_${seed}.log


原载地址
发表于 2011-6-8 17:02:05 | 显示全部楼层
???要干什么呢?
发表于 2011-6-18 12:54:28 | 显示全部楼层
有必要写这么复杂么?
发表于 2011-9-24 09:09:23 | 显示全部楼层
多谢分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-1 06:18 , Processed in 0.021219 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表