-
首先新建一个文件夹【test5】
-
打开Modelsim,依次选择【File】->【Change Directory】,把目录选择到创建的【test5】文件夹。

-
创建库。依次选择【File】->【New】->【Library】

一般我们选择第三个,库名和物理名称设置成work,点击OK。此时【test5】文件夹下就会多一个work的文件夹。

-
创建项目。Project Name设置为test5,其余默认,OK。

-
创建新文件。【Create New File】。

此时,我仿真一个加法器。创建一个文件名为add的verilog文件。

同时还要创建一个testbench文件,用来测试,命名为add_tb,同样是verilog文件(有的地方是.vt文件,一样的)。

-
编写代码:
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
写完之后记得保存,不然编译会出问题。
- 编译文件。【Compile】->【Compile all】

编译完成之后,Status会由?变成√

- 仿真。【Simulate】->【Start Simulation】

选中add和add_tb文件,OK。

仿真完成。如果没有显示,记得把【Layout】选成【Simulate】。
选择【Library】->【work】,选中add_tb文件,【Simulate】


把【Object】里的文件都拖到右边的【Wave】中(如果没有【Object】,则到【View】中勾选即可)。点击Run-All出现波形。

为了方便观察波形,我们可以选择无符号类型的标注

调节上方的放大镜可以放大/缩小波形。可以看到在0,10000ns和20000ns时刻的时刻实现了相加。


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

4274

被折叠的 条评论
为什么被折叠?



