0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用vcs+verdi仿真Verilog文件

jf_78858299 来源:傅里叶的猫 作者:jf_1689824261.9786 2023-05-11 17:03 次阅读

我们以一个简单的加法器为例,来看下如何用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
    VCS
    +关注

    关注

    0

    文章

    79

    浏览量

    9600
  • Verdi
    +关注

    关注

    0

    文章

    22

    浏览量

    8775
收藏 人收藏

    评论

    相关推荐

    vcs实用技巧

    VCS是编译型verilog仿真器,VCS先将verilog/systemverilog文件转化
    的头像 发表于 10-25 17:22 1072次阅读
    <b class='flag-5'>vcs</b>实用技巧

    请教VCSverdi怎么联合使用

    最近要用到VCS仿真后生成FSDB文件,然后在Verdi中进行自动侦错,请问我怎么安装Verdi这个软件以及如何启动license,并且怎么
    发表于 01-22 14:53

    VCS+Verdi如何安装?怎么破解?

    VCS+Verdi如何安装?怎么破解?
    发表于 06-21 06:11

    VCS仿真卡住,为什么无法生成verdi波形文件呢?

    在make com编译成功后,terminal卡住了一直没有反应,这是什么情况有大佬知道吗?VCS仿真卡住,为什么无法生成verdi波形文件呢?
    发表于 06-21 08:14

    请问如何更新bin/run.makefile以支持VCS+Verdi工具?

    如何更新bin/run.makefile以支持VCS+Verdi工具?
    发表于 08-11 10:08

    在Linux上用vcs+verdi对demo_nice进行仿真没有成功的原因?

    请教大神,我在Linux上用vcs+verdi对demo_nice进行仿真,但是没有成功 我是用hibrd.sdk把demo_nice编译成.verilog文件的,其内容如下 另
    发表于 08-12 08:07

    新思科技采用VCSVerdi 结合,推出与众不同的芯片设计

    Graphcore 芯片业务副总裁 Phil Horsfield 说:“为了对我们的 IPU 加速器进行全面验证,需要每天进行涵盖数以千计的复杂测试场景的仿真回归分析。新思科技 VCS
    的头像 发表于 08-28 15:22 3598次阅读

    vcsverdi的调试及联合仿真案例

    若想用Verdi观察波形,需要在仿真时生成fsdb文件,而fsdb在vcs或者modelsim中的生成是通过两个系统调用$fsdbDumpfile $fsdbDumpvars来实现的。
    的头像 发表于 09-22 15:01 8622次阅读

    如何通过自动化脚本实现Questasim和Verdi的联合仿真

    Verdi是用来仿真以及debug波形的工具,但它不能够用来编译verilog和systemverilog文件,所以需要借助第三方EDA工具去做编译的工作。 这里主要分享一下使用que
    的头像 发表于 06-13 17:00 4564次阅读
    如何通过自动化脚本实现Questasim和<b class='flag-5'>Verdi</b>的联合<b class='flag-5'>仿真</b>

    vcs学习笔记(常用选项/仿真流程/代码覆盖率/综合后仿真/图一乐技巧)

    VCS是编译型verilog仿真器,VCS先将verilog/systemverilog文件转化
    的头像 发表于 05-23 16:04 9691次阅读

    利用vcs+verdi仿真工具蜂鸟E200系列处理器仿真分析

    开源RISC-V Hummingbird E203(蜂鸟E203)的仿真工具是开源的iverilog,这里利用vcs+verdi仿真工具进行仿真
    的头像 发表于 11-17 10:28 2920次阅读

    全网最实用的Verdi教程1

    Verdi是一个功能强大的debug工具,可以配合不同的仿真软件进行debug,很多企业常用VCS+Verdi或者Xcelium/xrun+Verdi的方式进行代码的
    的头像 发表于 05-05 14:49 1.7w次阅读
    全网最实用的<b class='flag-5'>Verdi</b>教程1

    何用vcs+verdi仿真Verilog文件并查看波形呢?

    我们以一个简单的加法器为例,来看下如何用vcs+verdi仿真Verilog文件并查看波形。
    的头像 发表于 05-08 16:00 6423次阅读
    如<b class='flag-5'>何用</b><b class='flag-5'>vcs+verdi</b><b class='flag-5'>仿真</b><b class='flag-5'>Verilog</b><b class='flag-5'>文件</b>并查看波形呢?

    Verdi环境配置、生成波形的方法

    Verdi是一个功能强大的debug工具,可以配合不同的仿真软件进行debug,很多企业常用的就是VCS+Verdi或或者Xcelium(xrun)+Verdi的方式进行代码的
    的头像 发表于 05-29 09:48 3835次阅读
    <b class='flag-5'>Verdi</b>环境配置、生成波形的方法

    VCS实用技巧分享

    VCS是编译型verilog仿真器,VCS先将verilog/systemverilog文件转化
    的头像 发表于 05-30 09:26 1402次阅读
    <b class='flag-5'>VCS</b>实用技巧分享