Makefile脚本启动VCS+Verdi(以fifo为例)

fifo的源码:https://github.com/dadongshangu/async_FIFO

一、VCS+Verdi使用流程(快速入门)

1.1 环境配置

在终端中输入:vim ~/.bashrc进入.bashrc文件,添加如下路径:
在这里插入图片描述
其中,

VCS_HOME:VCS路径
UVM_HOME:库的路径
WORK_HOME:工程的路径(此代码没用到WORK_HOME可不设置)
NOVAS_HOME:Verdi的安装路径

1.2 makefile文件

makefile文件如下,可参考:

case0: simv
   ./simv +UVM_TESTNAME=asyncf_case0 -l case0_run.log 

case1: simv
   ./simv +UVM_TESTNAME=asyncf_case1 -l case1_run.log 
simv: 
   vcs 	+v2k -debug_acc+all -full64 \
   	-fsdb\
   	-ntb_opts uvm-1.1\
   	-sverilog\
   	-timescale=1ns/1ps\
   	-f ../flist/filelist_uvm.f \
   	-cpp g++-4.8 -cc gcc-4.8 -LDFLAGS -Wl,--no-as-needed\
   	+incdir+../tb \
   	+notimingcheck \
   	+nospecify \
   	-l vsim.log \
   	-top top_tb 


verdi:
   verdi -f ../flist/filelist_uvm.f -ssf top_tb.fsdb -nologo &

.PHONY: case0 clean verdi 

clean:
   -@rm -rf novas.* verdiLog *.log simv simv.daidir *.fsdb *.key csrc *.h
1.3 通过VCS生成Verdi需要的fsdb波形文件

添加如下代码段,仿真后可以产生.fsdb文件:

initial begin 
    $fsdbDumpfile("top_tb.fsdb");//top_tb.fsdb为文件名
    $fsdbDumpvars(0);
end 
1.4 运行

最后输入指令:make case0(即运行case0指令,编译方针VCS);输入make verdi(运行verdi指令),如下是Verdi的页面:
Alt

二 Makefile语法

2.1 Makefile语法格式

  1. 目标(target): 依赖(dependencies
    命令(command)

目标是 Makefile 中的执行对象,依赖是目标所依赖的文件或目标,命令是执行生成目标所需要的操作。

  1. 目标: 依赖1 依赖2 …
    命令1
    命令2

目标可以有多个依赖和多个命令。命令前必须使用 Tab 键进行缩进!!!

应用案例:

simv: 
	vcs 	+v2k -debug_acc+all -full64 \
		-fsdb\

目标:simv
依赖:空
命令:vcs +v2k -debug_acc+all -full64
-fsdb\

2.2 Makefile命令执行

(1)make会按顺序一条一条的执行命令。每条命令必须以Tab键开头,如果命令过长,可以使用反斜杠“\”作为换行符。
(2)而当一个target下有多条命令时,就会有两种可能:

  • 当希望后一条命令是接在上一条命令执行之后,再执行。此时需要用分号 ; 连接两个命令,这与管道 | 类似。
  • 当希望两条指令并行执行,直接换行即可。

(3)如果命令执行到当期行,发现命令出错了(如cd命令时不存在目标目录)。假如我们不希望整个make动作因为命令错误而停止,可以再命令行TAB键之后加一个减号“-”,表示不管命令是否出错,都认为是成功的。

2.3常用命令

命令描述
-sverilog支持systeverilog语法
+v2k支持 Verilog 2001 语法
–fsdb调用Verdi PLI 库,支持fsdb 波形
-timescale = 时间单位/精度设置仿真的时间单位、精度;
-debug使能DVE、VERDI波形调试和UCLI命令行调试等
-debug_all使能所有的debug调试功能
-debug_pp同-debug_all,但是更加节约资源
–full64调用Verdi PLI 库,支持fsdb 波形
–ntb_opts UVM-1.1表示加载UVM-1.1库文件
-l filename指定vcs编译信息的存储文件
-f filename指定源文件的路径名列表
–ntb_opts UVM-1.1表示加载UVM-1.1库文件
–ntb_opts UVM-1.1表示加载UVM-1.1库文件
–ntb_opts UVM-1.1表示加载UVM-1.1库文件
–ntb_opts UVM-1.1表示加载UVM-1.1库文件
  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值