FPGA linux环境下vcs+verdi仿真编译工程的搭建

1、源码存放在hdl路径下,将hdl路径下所有的.v文件加入到filielist中,新建file.f文件

file.f 文件如下:

+define+FPGA       //预编译宏
./hdl/*.v          //加入所有.v文件
-f fpga_lib.f     //也可以filelist文件的形式引入,

2、makefile的编写,新建makefile内容如下:

#+neg_tchk setup hold支持负值
FUNC_DEF = +neg_tchk 
COMPILE_TOOL  = vcs +systemverilogext+.sv+vpi -ntb_opts dtm
#生成vcd格式,-R 编译完成后立即执行,不必再单独执行./simv
COMPILE_OPTS  = +vcsd +vcs+lic+wait -lca -R
#定义PLI接口的列表,verdi查看波形及uvm验证时都会用到
COMPILE_OPTS += -full64 -P /tools/synopsys/verdi/vL-2016.06-SP2-7/share/PLI/VCS/LINUX64/novas.tab
COMPILE_OPTS += /tools/synopsys/verdi/vL-2016.06-SP2-7/share/PLI/VCS/LINUX64/pli.a
COMPILE_OPTS += -negdelay
#预编译宏设置
COMPILE_OPTS += +define+FSDB
#保存所有log到日志文件
COMPILE_OPTS += -l ./hello.log
COMPILE_OPTS += $(FUNC_DEF)

.PHONY:clean run_all
run_all:
	${COMPILE_TOOL} ${COMPILE_OPTS} -f ./file.f {tc}.v  #tc是测试用例的名称,执行make时指定
clean:
	rm -rf *.log *.sdf.X log* verdiLog simv.daidir novas.* csrc sdf_* simv ucli.key *.fsdb *.vf data *.f *.v

 

3、测试例top层中加入verdi的相关指令,生成fsdb格式的文件,方便仿真结束后查看波形

//500是每个fsdb文件的最大值,单位为M,100是数量
 $fsdbAutoSwitchDumpfile(500,"./test.fsdb",100,"test.log");
//将rtl中想看的模块加入到波形中
 $fsdbDumpvars(1,"tb");
 $fsdbDumpvars(1,"tb.u0");
 $fsdbDumpvars(0,"tb.u0.module0");
 $fsdbDumpvars(0,"tb.u0.module1");

4、执行makefile

5、打开verdi,加入file.f文件及测试例文件;打开生成的fsdb文件,crl+w加入要查看的数据波形。

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值