我们以一个简单的加法器为例,来看下如何用vcs+verdi仿真Verilog文件并查看波形。
源文件内容如下:
//adder.v
module adder(
input clk,
input rst,
input [9:0] A,
input [9:0] B,
output reg [10:0] C
);
always @ ( posedge clk ) begin
if(rst)
C <= #`FFD 'b0;
else
C <= #`FFD A + B;
end
endmodule
我们再定义一个宏定义的文件:
//macro_define.sv
`define FFD 1ns
我们需要再定义一个testbench文件:
//test.sv
module test;
reg clk;
reg rst;
reg [9:0] A;
reg [9:0] B;
wire [10:0] C;
initial begin
rst = 1;
A = 0;
B = 0;
#1us;
rst = 0;
#1us;
A = 10'd100;
B = 10'd200;
#1us;
A = 10'd300;
B = 10'd400;
#20us;
$finish;
end
initial begin
clk = 0;
forever #10ns clk <= ~clk;
end
adder add_inst(
.clk(clk),
.rst(rst),
.A(A),
.B(B),
.C(C)
);
`ifdef DUMP_FSDB
initial begin
$fsdbDumpfile("tb.fsdb");
$fsdbDumpvars("+all");
//string testname;
//if($value$plusargs("TESTNAME=%s", testname)) begin
// $fsdbDumpfile({testname, "_sim_dir/", testname, ".fsdb"});
//end else begin
// $fsdbDumpfile("tb.fsdb");
//end
end
`endif
endmodule
再定义一个filelist文件:dut.f
./macro_define.sv
./adder.v
./test.sv
最后就是需要一个Makefile文件了:
#!/bin/make
all: comp sim
comp:
vcs -full64 -timescale=1ns/1ps -V -R -sverilog \\
-debug_access+all +vc +v2k -kdb \\
-l vcs.log \\
-f dut.f +define+DUMP_FSDB=1 \\
-top test
sim:
./simv -l simv.log
clean:
rm -rf *~ core csrc simv* vc_hdrs.h ucli.key urg* *.log novas.* *.fsdb* verdiLog 64* DVEfiles *.vpd
总的文件如下:
image-20230507181530700
执行make all
:
image-20230507181735377
跑完后如下:
image-20230507181825085
生成的文件如下:
image-20230507182042134
用verdi打开波形:verdi -ssf tb.fsdb
image-20230507182017953
可以看到波形如下:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Verilog
+关注
关注
28文章
1351浏览量
110074 -
加法器
+关注
关注
6文章
183浏览量
30114 -
VCS
+关注
关注
0文章
79浏览量
9600 -
Verdi
+关注
关注
0文章
22浏览量
8775
发布评论请先 登录
相关推荐
请教VCS和verdi怎么联合使用
最近要用到VCS仿真后生成FSDB文件,然后在Verdi中进行自动侦错,请问我怎么安装Verdi这个软件以及如何启动license,并且怎么
发表于 01-22 14:53
VCS仿真卡住,为什么无法生成verdi波形文件呢?
在make com编译成功后,terminal卡住了一直没有反应,这是什么情况有大佬知道吗?VCS仿真卡住,为什么无法生成verdi波形文件呢?
发表于 06-21 08:14
在Linux上用vcs+verdi对demo_nice进行仿真没有成功的原因?
请教大神,我在Linux上用vcs+verdi对demo_nice进行仿真,但是没有成功
我是用hibrd.sdk把demo_nice编译成.verilog文件的,其内容如下
另
发表于 08-12 08:07
新思科技采用VCS 与 Verdi 结合,推出与众不同的芯片设计
Graphcore 芯片业务副总裁 Phil Horsfield 说:“为了对我们的 IPU 加速器进行全面验证,需要每天进行涵盖数以千计的复杂测试场景的仿真回归分析。新思科技 VCS
vcs和verdi的调试及联合仿真案例
若想用Verdi观察波形,需要在仿真时生成fsdb文件,而fsdb在vcs或者modelsim中的生成是通过两个系统调用$fsdbDumpfile $fsdbDumpvars来实现的。
如何通过自动化脚本实现Questasim和Verdi的联合仿真
Verdi是用来仿真以及debug波形的工具,但它不能够用来编译verilog和systemverilog文件,所以需要借助第三方EDA工具去做编译的工作。 这里主要分享一下使用que
vcs学习笔记(常用选项/仿真流程/代码覆盖率/综合后仿真/图一乐技巧)
VCS是编译型verilog仿真器,VCS先将verilog/systemverilog文件转化
利用vcs+verdi仿真工具蜂鸟E200系列处理器仿真分析
开源RISC-V Hummingbird E203(蜂鸟E203)的仿真工具是开源的iverilog,这里利用vcs+verdi仿真工具进行仿真;
Verdi环境配置、生成波形的方法
Verdi是一个功能强大的debug工具,可以配合不同的仿真软件进行debug,很多企业常用的就是VCS+Verdi或或者Xcelium(xrun)+Verdi的方式进行代码的
评论