VCS自带的UPF低功耗仿真demo介绍
admin
2024-01-22 05:27:41

文章目录

  • 前言
  • 1、demo所在的位置
  • 2、demo的介绍
  • 3、启动demo仿真
  • 4、利用verdi来分析UPF文件
  • 总结


前言

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

3、启动demo仿真

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


all : clean comp runclean:\rm -rf csrc* simv* vc_hdrs.h vcs_command.log ucli.key mvsim_native_reports  lp_fsm.config dump.txt comp.log run.logcomp:vcs tb_ChipTop.v -f filelist -sverilog -upf UPF/ChipTop.upf -power_top ChipTop +define+UPF -l comp.logrun:simv -l run.log

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

ln -s ../RTL RTL
ln -s ../UPF UPF

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

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

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

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

initialif($test$plusargs("DUMP_FSDB")) begin$fsdbDumpfile("test.fsdb");$fsdbDumpvars("+all");end

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

all : clean comp runclean:\rm -rf csrc* simv* vc_hdrs.h vcs_command.log ucli.key mvsim_native_reports  lp_fsm.config dump.txt comp.log run.logcomp:vcs -full64 -fsdb tb_ChipTop.v -f filelist -sverilog -upf UPF/ChipTop.upf -power_top ChipTop +define+UPF -l comp.logrun:./simv +DUMP_FSDB -l run.logverdiverdi tb_ChipTop.v -f filelist -sverilog -upf UPF/ChipTop.upf -power_top ChipTop +define+UPF -ssf test.fsdb &

到此为止,就可以对照仿真波形以及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过程中,遇到的一些问题和解决办法。

相关内容

热门资讯

山水皆有情!丽江两山一江的千年... 去过丽江、走过虎跳峡的人,大概率都听过哈巴雪山和金沙江的传说。很多人站在峡谷之下,望着奔腾不息的金沙...
活力中国调研行丨“殷”你而来 ... 9月12日,游客在殷墟博物馆“甲骨文展厅”内参观。位于河南省安阳市的殷墟博物馆新馆是首个全景式展现商...
浦江之夜赴美好相逢,第37届上... 9月12日晚,黄浦江畔灯火璀璨,第37届上海旅游节大巡游在外滩中山东一路上演。不少观众早早便来到外滩...
美丽中国丨秋韵紫鹊界 梯田入画... 这是9月11日拍摄的紫鹊界梯田(无人机照片)。 金秋九月,湖南省娄底市新化县紫鹊界梯田稻谷渐次成熟。...
中国之巅奏响《共同的节日》,千... 千吨阻尼器,“迎世赛、游上海旅游节”。9月13日,由上海市文化和旅游局指导推出上海旅游·会客│巅峰之...