• VCS自带的UPF低功耗仿真demo介绍



    前言

    VCS工具安装路径下,自带了一个UPF低功耗仿真的演示用例,本文主要介绍一下这个演示用例的使用,同时解决一些使用过程中的问题。


    1、demo所在的位置

    具体的路径在$VCS_HOME/doc/examples/NLP/MVSIM_NATIVE_DEMO。

    2、demo的介绍

    将MVSIM_NATIVE_DEMO文件夹拷贝出来,在该路径下输入tree查看层次结构,如下所示,其中,LP、LP_DVE、LP_LPA文件夹分别存放的是仿真环境,REF文件夹是不带UPF的参考对比仿真环境,RTL和UPF文件夹分别用来存放设计代码和UPF文件。

    .
    ├── LP
    │   ├── clean.csh
    │   ├── comp.csh
    │   ├── filelist
    │   ├── Makefile
    │   ├── README
    │   ├── run.csh
    │   └── tb_ChipTop.v
    ├── LP_DVE
    │   ├── clean.csh
    │   ├── comp.csh
    │   ├── filelist
    │   ├── Makefile
    │   ├── README
    │   ├── run.csh
    │   ├── run.do
    │   └── tb_ChipTop.v
    ├── LP_LPA
    │   ├── clean.csh
    │   ├── comp.csh
    │   ├── filelist
    │   ├── Makefile
    │   ├── README
    │   ├── run.csh
    │   └── tb_ChipTop.v
    ├── REF
    │   ├── clean.csh
    │   ├── comp.csh
    │   ├── filelist
    │   ├── Makefile
    │   ├── README
    │   ├── run.csh
    │   └── tb_ChipTop.v
    ├── RTL
    │   ├── addpp32.v
    │   ├── ChipTop.v
    │   ├── cla.v
    │   ├── csa.v
    │   ├── genpp32.v
    │   ├── gpr.v
    │   ├── InstDecode.v
    │   ├── mult3232.v
    │   └── tb_ChipTop.v
    └── UPF
        └── ChipTop.upf
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    3、启动demo仿真

    进入MVSIM_NATIVE_DEMO/LP文件夹,打开Makefile文件如下所示。

    
    all : clean comp run
    
    clean:
    	\rm -rf csrc* simv* vc_hdrs.h vcs_command.log ucli.key mvsim_native_reports  lp_fsm.config dump.txt comp.log run.log
    
    comp:
    	vcs tb_ChipTop.v -f filelist -sverilog -upf UPF/ChipTop.upf -power_top ChipTop +define+UPF -l comp.log
    
    run:
    	simv -l run.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    直接执行make,会报找不到UPF文件和RTL文件的错误,主要原因是当前的文件夹是LP,而RTL和UPF文件夹都在上层,这里通过做两个软链接来解决。

    ln -s ../RTL RTL
    ln -s ../UPF UPF
    
    • 1
    • 2

    再执行make后,会发现报如下错误:

    g++: /soft/eda/vcs/linux/lib/ctype-stubs_32.a: No such file or directory
    make[1]: ***[product_timestamp] Error 1
    
    • 1
    • 2

    这是因为vcs在编译的时候没有指定-full64选项,直接在vcs编译后边加上该选项即可。

    解决工具兼容性问题后,想把波形记录下来,分析一下。于是在tb_ChipTop.v文件中,加入如下代码,实现波形记录。

    initial
        if($test$plusargs("DUMP_FSDB")) begin
            $fsdbDumpfile("test.fsdb");
            $fsdbDumpvars("+all");
        end
    
    • 1
    • 2
    • 3
    • 4
    • 5

    与此同时,Makefile文件的comp编译选项中需要加入-fsdb选项,run仿真选项中需要加入+DUMP_FSDB选项,打开波形记录的开关,simv前面需要加上./用于执行仿真,为了方便verdi启动,可以加入verdi函数,用于快速启动verdi,最后的Makefile文件如下所示:

    all : clean comp run
    
    clean:
    	\rm -rf csrc* simv* vc_hdrs.h vcs_command.log ucli.key mvsim_native_reports  lp_fsm.config dump.txt comp.log run.log
    
    comp:
    	vcs -full64 -fsdb tb_ChipTop.v -f filelist -sverilog -upf UPF/ChipTop.upf -power_top ChipTop +define+UPF -l comp.log
    
    run:
    	./simv +DUMP_FSDB -l run.log
    	
    verdi
    	verdi tb_ChipTop.v -f filelist -sverilog -upf UPF/ChipTop.upf -power_top ChipTop +define+UPF -ssf test.fsdb &
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    到此为止,就可以对照仿真波形以及UPF文件来学习和分析了。

    4、利用verdi来分析UPF文件

    1)打开UPF文件。File -> Import CPF/UPF Files,可以一次性导入多个文件。
    2)查看power domain的开关状态。在Hierarchical Power Domain窗口中,可以层次化查看UPF文件的描述。
    3)打开power map。Power -> New Power Map -> Full Power Map ,可以看到完整的power design结构。


    总结

    本文主要记录一下,在使用VCS工具自带的UPF低功耗仿真demo过程中,遇到的一些问题和解决办法。

  • 相关阅读:
    JAVA:实现ternary search三元搜索算法(附完整源码)
    JavaScript反爬虫技巧详细攻略
    macOS系统下载IDEA的操作流程
    CTF-PWN-tips
    浅学Go下的ssti
    Fe-safe/Isight/Tosca2022新功能
    定义丈夫类Husband 和妻子类Wife
    springboot配置多个数据源
    优先级队列(堆)的详解
    低代码是开发的未来吗?浅谈低代码开发平台的发展现状及未来趋势
  • 原文地址:https://blog.csdn.net/hh199203/article/details/127863008