vcs+verdi,以及Makefile注意点

Makefile.命令行之前是以Tab开头的不然会报错
gvim里面强制输入tab,使用Ctr+v+i
直接使用tab键可能输入不成功。注释用#
下面是makefile内容
在这里插入图片描述L8:可选debug/debug_pp/debug_pp,使能ucli命令
L9:传递参数给VCS的Linker,与L10-12配合使用
L10:指示需要加载动态库,如libsscore_vcs201209.so
L31:加载表格文件,novas.tab
L31:加载静态库,pli.a
其余语句与comp与verdi无关(-P这句可能报错No TopModule/Entity supplied,可以不要)
run中:
L19:ucli的输入文件(-i)为dump_fsdb_vcs.tcl
L20:命令行参数autoflush,一边仿真一边dump波形
若有UVM相关可以照下面写:
在这里插入图片描述其中-P(这句不加也可以,加上可能报错No TopModule/Entity supplied)和dbg语句可以在上面这张图片上自己加上。

其中dump_fsdb_vcs.tcl内容是:
在这里插入图片描述L1:TCL脚本引用环境变量(Makefile中通过export定义)
L2:设置 波形文件名,名称受环境变量env(demo_name)控制
L3:设置波形顶层和层次,表示将test作为顶层,Dump所有层

### VCSVerdiMakefile 示例与配置 对于复杂的设计验证流程,使用 `Makefile` 可以简化命令执行过程并提高效率。当涉及到VCS (Verification and Compiler System) 和 Verdi (波形查看工具) 的联合仿真时,合理的 `Makefile` 设置至关重要。 #### 创建 synopsys_sim.setup 文件 在 VCS 工程路径下即 `makefile` 同路径下建立一个名为 `synopsys_sim.setup` 的文件,在此文件中指定工作目录以及生成库中 `synopsys_sim.setup` 的路径[^1]: ```plaintext mywork: ./mywork OTHERS=/the/path/of/synopsys_sim.setup ``` 这一步骤确保了仿真器能正确找到所需的设置和库文件。 #### 编写 Makefile 进行编译与仿真 为了实现自动化编译及后续仿真的启动,可以在 `Makefile` 中加入特定目标来处理这些操作[^2]。下面是一个简单的例子展示如何构建适用于 VCS/Verdi 流程的 `Makefile`: ```makefile # 定义变量用于灵活调整不同项目的具体需求 TOP_MODULE = top_module_name SIM_DIR = sim_build_directory VERDI_HOME = /path/to/verdi/installation # 默认规则:运行全部任务 all: compile simulate view_waveform compile: vcs -full64 +v2k $(TOP_MODULE).sv -o run_sim \ -sverilog -debug_pp \ -l elaborate.log \ $(EXTRA_VCS_FLAGS) simulate: ./run_sim | tee simulation.log view_waveform: ${VERDI_HOME}/bin/verdi -ssf ${SIM_DIR}/${TOP_MODULE}.fsdb & clean: rm -rf csrc DVEfiles verdi.* *.key work* ucli.key *.log *.tran *.dir *.history *~ ``` 上述代码片段展示了基本结构,其中包含了三个主要部分——编译(`compile`)、仿真(`simulate`)和打开波形(`view_waveform`)。此外还提供了一个清理旧数据的目标(clean)[^3]。 特别值得注意的是,在仿真过程中可以通过 `$fsdbDumpfile()` 函数初始化 dump 文件,并利用 `$fsdbDumpvars()` 来控制要记录哪些信号的变化情况[^4]: ```systemverilog initial begin $fsdbDumpfile("top.fsdb"); $fsdbDumpvars(0, top); end ``` 这段SystemVerilog代码应当放置于待仿真的设计源码之中,以便自动生成供 Verdi 使用的日志文件(top.fsdb),从而方便后期分析调试。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值