IC前端工程师编译仿真使用工具(VCS+Verdi)

本文详细介绍了Synopsys的VCS编译器的使用,涉及makefile配置、编译过程、仿真参数设置,如fsdb波形生成、saif文件生成用于综合分析,以及如何在Verdi工具中进行波形查看和调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VCS的使用

是Synoposys家的编译型Verilog模拟器,可编译 C、C++、Verilog、SystemVerilog 等文件,编译后生成 simv 可执行文件进行仿真。

1 VCS(Verilog Compiler Simulator)的makefile文件

VCS 仿真过程:编译(vcs_compile) + 仿真(vcs_simulate)。

#! /bin/csh 
.PHONY: vcs cmp run clean verdi
top = tb_filter_top
cmp:
        vcs -full64 \
    +notimingchecks \
    -sverilog \
    -debug_access \
    -f ./testbench.f \
    -f ./vcs_files.f \
    -l bitlet.log \
    -top $(top) \
        -fsdb \
        -R        
vcs:
        ./simv +vcs+lic+wait -l bitlet.simv.log

clean:
        @-rm -rf *.log *.fsdb simv csrc ucli.key *.conf *.saif verdiLog simv* stack*

verdi:
        verdi -sv +systemverilogext+sv -f vcs_files.f -f testbench.f -top $(top) -ssf $(top).fsdb
#-rcFile ~/novas.rc&

run: cmp vcs

解释:

  1. .PHONY后面跟的目标都被称为伪目标,也就是说我们 make 命令后面跟的参数如果出现在.PHONY 定义的伪目标中,那就直接在Makefile中就执行伪目标的依赖和命令。不管Makefile同级目录下是否有该伪目标同名的文件,即使有也不会产生冲突。另一个就是提高执行makefile时的效率。

  2. cmp 是vcs的编译参数设置,testbench.f和vcs_files.f里放的是与编译相关的所有文件,包括testbench文件,top就是testbench文件的顶层名字

VCS常用编译参数说明:

-full64

在 64-bit 模式下编译、仿真,用于 64 位操作系统

-notice

详细的显示编译信息

-debug_all

仿真时可以使用 UCLI 接口,可以设置 value、time 断点。可以输出 fsdb/vpd 波形,可以使用 Verdi 和 DVE 波形查看工具。可以被下列参数选项替代:-debug_acc+all

-j8

指定编译器可并行编译的进程数为 8

-timescale=1ns/1ps

指定仿真时间单位与精度,RTL 设计中没有指定 timescale 时,使用此设置

+plusarg_save

使能传参功能。simv 仿真时可将具体数值传递给设计中的相关变量

+libext+.v+.V+.sv+.svh

识别 .v、.sv 等多种格式的设计文件

-sverilog

支持 SystemVerilog 编译

+memcbk

使能多维数组变量 (Memory 类型) 的回调。配合 UCLI 接口,设置波形打印的信号范围时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hanberwer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值