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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1874|回复: 5

[原创] coverage merge脚本

[复制链接]
发表于 2021-4-16 18:38:37 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 anpengfei 于 2021-4-17 13:56 编辑

场景:vcs生成的很多个.vdb需要merge
脚本:cov_merge.sh



  1. COV_DIR="./coverage"
  2. VDB_DIR="./coverage/vdb"
  3. n=$1

  4. for i in `seq $((n-1))`
  5. do
  6.     if [ $i == 1 ]; then
  7.         if [ ! -d $VDB_DIR/A_1.vdb]; then
  8.             echo "ERROR! Can't find the vdb: $VDB_DIR/A_1.vdb"
  9.             break;
  10.         else
  11.             MER_DIR_1=$VDB_DIR/A_1.vdb
  12.         fi
  13.     else
  14.         if [ ! -d $COV_DIR/merge_all/merge$((i-1)).vdb ]; then
  15.             echo "ERROR! Can't find the vdb: $COV_DIR/mer_all/merge$((i-1)).vdb"
  16.         else
  17.             MER_DIR_1=$COV_DIR/merge_all/merge$((I-1)).vdb
  18.         fi
  19.     fi
  20.     if [ ! -d $VDB_DIR/A_$((I+1)).vdb ]; then
  21.         echo "ERROR! Can't find the vdb: $VDB_DIR/A_$((i+1)).vdb"
  22.         break;
  23.     else
  24.         MER_DIR_2=$VDB_DIR/A_$((i+1)).vdb
  25.     fi
  26.     echo "===Start merge $MER_DIR_1 and $MER_DIR_2"
  27.     URG_ARGS="-metric line+tgl+cond+fsm+branch+assert+group -warn none"
  28.     echo "===Delete previous merge dir: $COV_DIR/merge_all/merge$((i-1)).vdb and report: $COV_DIR/merge_all/report$((i-1))
  29.     rm -rf $COV_DIR/merge_all/merge$((i-1)).vdb
  30.     rm -rf $COV_DIR/merge_all/report$((i-1))
  31. done
  32. echo "=== Merge done!"


复制代码


运行:eg: ./cov_merge.sh  1000
目录层次:
coverage
              vdb
                       A_1.vdb
                       A_2.vdb
                        ......
                       A_1000.vdb

              merge_all
                              merge999.vdb
                              report999
另更好方法: 可以在仿真过程中生成一个merge一个再删除


 楼主| 发表于 2021-4-17 13:58:08 | 显示全部楼层
代码编辑框有点小啊!能不能改的大点?
发表于 2021-4-23 15:33:41 | 显示全部楼层
urg 不是可以直接merge吗
 楼主| 发表于 2021-4-23 15:37:33 | 显示全部楼层


you7 发表于 2021-4-23 15:33
urg 不是可以直接merge吗


就是urg merge啊,很多个要merge的情况
发表于 2021-4-27 17:56:17 | 显示全部楼层
urg -dir ./*/*.vdb -report urgReportALL
 楼主| 发表于 2021-4-27 19:32:40 | 显示全部楼层


hh199203 发表于 2021-4-27 17:56
urg -dir ./*/*.vdb -report urgReportALL


对哦可以通配的……那我简直脱了裤子放屁……不过过程中复习了shell语法……聊以慰藉……
谢谢老兄
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-9-23 01:32 , Processed in 0.017854 second(s), 7 queries , Gzip On, Redis On.

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