手把手教你Modelsim仿真【2020.4版本】

本文介绍了如何在Modelsim中进行Verilog程序的开发和仿真。首先创建test5文件夹和工作库work,接着创建项目并编写加法器模块add和测试benchadd_tb的代码,然后编译并运行仿真,最后观察和分析波形结果。
  1. 首先新建一个文件夹【test5】

  2. 打开Modelsim,依次选择【File】->【Change Directory】,把目录选择到创建的【test5】文件夹。
    在这里插入图片描述

  3. 创建库。依次选择【File】->【New】->【Library】
    在这里插入图片描述
    一般我们选择第三个,库名和物理名称设置成work,点击OK。此时【test5】文件夹下就会多一个work的文件夹。
    在这里插入图片描述

  4. 创建项目。Project Name设置为test5,其余默认,OK。
    在这里插入图片描述

  5. 创建新文件。【Create New File】。
    在这里插入图片描述
    此时,我仿真一个加法器。创建一个文件名为add的verilog文件。
    在这里插入图片描述
    同时还要创建一个testbench文件,用来测试,命名为add_tb,同样是verilog文件(有的地方是.vt文件,一样的)。
    在这里插入图片描述

  6. 编写代码:

add.v

module add(
    input wire [7:0] a,
    input wire [7:0] b,
    output reg [8:0] out
);

always@(*)
begin
    out = a + b;
end

endmodule

add_tb.v

`timescale 1ns/1ns

module add_tb ();

reg [7:0] a;
reg [7:0] b;
wire [8:0] out;

add i1(
    .a(a),
    .b(b),
    .out(out)
);

initial
begin
    a = 8'd 1;
    b = 8'd 2;
    # 10_000;
    a = 8'd 11;
    b = 8'd 12;
    # 10_000;
    a = 8'd 21;
    b = 8'd 22;
    # 10_000;
    $stop;
end

endmodule

写完之后记得保存,不然编译会出问题。

  1. 编译文件。【Compile】->【Compile all】
    在这里插入图片描述
    编译完成之后,Status会由?变成√
    在这里插入图片描述
  2. 仿真。【Simulate】->【Start Simulation】
    在这里插入图片描述

选中add和add_tb文件,OK。
在这里插入图片描述
仿真完成。如果没有显示,记得把【Layout】选成【Simulate】。在这里插入图片描述
选择【Library】->【work】,选中add_tb文件,【Simulate】
在这里插入图片描述
在这里插入图片描述

把【Object】里的文件都拖到右边的【Wave】中(如果没有【Object】,则到【View】中勾选即可)。点击Run-All出现波形。
在这里插入图片描述
为了方便观察波形,我们可以选择无符号类型的标注
在这里插入图片描述
调节上方的放大镜可以放大/缩小波形。可以看到在0,10000ns和20000ns时刻的时刻实现了相加。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值