首页 > 其他分享 >为功耗分析生成仿真波形文件及RTL文件列表

为功耗分析生成仿真波形文件及RTL文件列表

时间:2023-10-07 11:56:57浏览次数:39  
标签:文件 波形 功耗 RTL top ## fsdb file

一、获取RTL文件列表

RTL文件包括vhdl,v,sv三种文件,可以根据后缀获取工程内部所有文件夹,及子文件夹内部的相关文件。

可以通过shell脚本实现该功能。

 1 #!/bin/bash
 2 ######################################################################
 3 ##                                                                  ##
 4 ##   遍历指定目录获取当前目录下指定后缀(如txt和ini)的文件名            ##
 5 ##                                                                  ##
 6 ######################################################################
 7  
 8 ##递归遍历
 9 traverse_dir()
10 {
11     filepath=$1
12     
13     for file in `ls -a $filepath`
14     do
15         if [ -d ${filepath}/$file ]
16         then
17             if [[ $file != '.' && $file != '..' ]]
18             then
19                 #递归
20                 traverse_dir ${filepath}/$file
21             fi
22         else
23             #调用查找指定后缀文件
24             check_suffix ${filepath}/$file
25         fi
26     done
27 }
28  
29  
30 ##获取后缀为txt或ini的文件
31 check_suffix()
32 {
33     file=$1
34     
35     if [ "${file##*.}"x = "vhdl"x ] || [ "${file##*.}"x = "sv"x ] || [ "${file##*.}"x = "v"x ];then
36         echo $file
37     fi    
38 }
39  
40 #测试指定目录  /data_output/ci/history
41 traverse_dir /data_output/ci/history

注意中括号前后的空格注意一定要敲上

 

二、获取fsdb波形文件

在TESTBENCH中添加下列代码

initial
    if($test$plusargs("DUMP_FSDB"))
    begin
        $fsdbDumpfile("testname.fsdb");  //记录波形,波形名字testname.fsdb
        $fsdbDumpvars(0,u_rec_intra_top);   //0表示生成u_rec_intra_top模块及以下所有的仿真数据
        $fsdbDumpSVA();   //将assertion的结果存在fsdb中
        $fsdbDumpMDA(0, top);  //dump memory arrays
        //0: 当前级及其下面所有层级,如top.A, top.A.a,所有在top下面的多维数组均会被dump
        //1: 仅仅dump当前组,也就是说,只dump top这一层的多维数组。
        $vcdpluson;   //下面这两个是保存所有仿真数据
        $vcdplusmemon;
    end
    end
end
    

在Makefile中,编译RTL时,添加 -fsdb 选项

 

三、截取部分fsdb波形

因功耗分析只需要部分波形,故通过分析波形,确定某时间段的波形需求

截取波形需要 fsdbsxtract工具,该工具在安装verdi时会同步安装

对Verilog.fsdb文件使用“-s”命令可以指定自己所需的hierarchy。

Tips:

1)可以指定多个层次结构,

2)要使用斜杠’/‘而不是点’.’
-level命令与$dumpvars命令的参数相似,指定该层次以下导出几层,比如-level1, -level3… 而-level0表示下面的所有层次;
-o命令可以改写你切割出来的波形的名字,取一个容易标记的名字吧,送给将来一定会忘记的你自己;
-bt和-et命令指定begin time和end time,现在你就可以根据时间轴随意切割你想要的波形文件了;

fsdbextract verilog.fsdb -s /top/module1 -o sub.fsdb
fsdbextract verilog.fsdb -s /top/module1 /top/module2/u_sub1 -level0 -o sub.fsdb
fsdbextract verilog.fsdb -s /top/module1 -bt 1ms -et 3ms -o sub.fsdb //bt=begin time, et=end time

 

标签:文件,波形,功耗,RTL,top,##,fsdb,file
From: https://www.cnblogs.com/yiliu666-oo/p/17745930.html

相关文章

  • Python简易HTTP文件服务器
    我超怕的-HTTPsimplefileserverusePython-https://www.cnblogs.com/iAmSoScArEd/p/17745959.htmlHowtouse安装依赖:pip3installflask保存到文本simple_file_server.py后运行:python3simple_file_server.py浏览器访问:http://ip:9999CodefromflaskimportFlask,......
  • virt-manager更换磁盘镜像文件安装目录
    先创建好要存储的目录,如mkdir/home/windowsimages,然后以安装windows虚拟机为例,当达到创建虚拟机的第四步,设置磁盘镜像时1、选择Selectorcreatecustomstorage->Manage) 2、创建存储池  点击Finish,就可以看到存储池中多了新建的存储  3、添加卷,设置磁盘映......
  • gatk 实现基于染色体合并gvcf文件,并获取变异
     001、基于染色体合并gvcf文件gatkCombineGVCFs-Rreference.fna-Vgvcf.list-LchrN-OchrN.merged.g.vcf.gz其中:referen.fna是参考基因组;gvcf.list是将要合并的gvcf文件的列表文件,一行一个个体;格式如下:ERR2985607.g.vcfERR2985608.g.vcfERR2985609.g.vcfERR2......
  • 我的Linux网络之行3-rtl9000bx驱动设计与分析
    MAC的简介Linux的大致的以太网的驱动基本上已经在上一文中做了一些介绍了,那么本文就对相应的以太网做一些介绍。以太网的MAC:MediaAccessControl,即媒体访问控制子层协议以太网的PHY:(物理层)之间的MII(MediaIndependentInterface,媒体独立接口一般的框架是:而CPU集成MAC,PH......
  • Salesforce input 标签 成熟文件上传方案,
    这次项目开发由于客户要求无法使用lwc标准的文件上传标签只能只能使用input标签来上传文件。下面是试验成功的方案。注意:只能上传3mb文件,salesforce限制。也希望看到的文章大神们指点一下。前端html<inputautocomplete="off"style="padding:0;......
  • SI3262—高度集成的低功耗SOC13.56MHz读卡器芯片 自带触摸
    Si3262是一款高度集成的低功耗SOC芯片,其集成了基于RISC-V核的低功耗MCU和工作在13.56MHz的非接触式读写器模块。MCU模块具有低功耗、LowPinCount、宽电压工作范围,集成了13/14/15/16位精度的ADC、LVD、UART、SPI、I2C、TIMER、WUP、IWDG、RTC、TSC等丰富的外设。内核采用RISC-V......
  • 数据泵(impdb)导入Oracle分片的数据库dump文件
    数据泵(impdb)导入Oracle数据库一.sqlplus登录目标数据库,创建导入的目录路径#该目录要在导入的数据库本机建立,如果是docker就在容器内部创建createdirectorydata_diras'/home/oracle/prd_imp/prd_dump';data_dir为路径名称,可自命名。路径是导出的dmp文件存放的路径必须......
  • Spring+MyBatis配置文件
    spring-config.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="h......
  • Springboot配置文件
    <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/......
  • Spring配置文件
    pom.xml如下<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://m......