Modelsim的使用方法
编写一个四分频的程序
1:首先在桌面创建一个文件夹子,并命名a(文件路径不能有中文,空格使用下划线_,名字叫什么自己决定)。
2:打开软件,修改工作路径,点击file >> change directory... >> 选择刚才建立的文件a。
3:点击file >> new >> project >> 输入工程的名字div_4 >> OK
4:可以点击create new file 新建2个.v文件,然后进行编写程序;也可以点击add existing file 添加一个已有文件;add file type 选择 verilog。分别命名为div_clk_4,和tb_div_clk_4,然后点击close。
5:点击project窗口中的div_clk_4,和tb_div_clk_4两个文件编写程序,如下:
其中的div_clk_4.v
module div_clk_4(
input wire clk,
input wire rst,
output reg clk_4
);
//div counter
reg [1:0] div_cnt;
always @(posedge clk)begin
if(rst == 1'b1)begin
div_cnt <= 'd0;
end
else if(div_cnt == 2'd3)begin
div_cnt <= 'd0;
end
else begin
div_cnt <= div_cnt + 1'b1;
end
end
always @(posedge clk) begin
if (rst == 1'b1 ) begin
clk_4 <= 1'b0;
end
else if (div_cnt == 2'd1) begin
clk_4 <= 1'b1;
end
else if(div_cnt == 2'd3)begin
clk_4 <= 1'b0;
end
end
endmodule
其中的tb_div_clk_4.v
`timescale 1ns/1ns
module tb_div_clk_4();
reg clk,rst;
wire clk_4;
initial begin
clk = 0;
rst = 1;
#100 ;
rst = 0;
end
always #10 clk = ~clk;
div_clk_4 div_clk_4_inst(
.clk(clk),
.rst(rst),
.clk_4(clk_4)
);
endmodule
6:编译程序,右键project空白处,点击compile >> compile all。
编译完成后有对号
编译前:
编译后:
7:仿真,点击library >> work >> tb_div_clk_4 >> 右击 >> simulate,进行仿真。
8:点击viwe >> wave(使其前面出现对号)
9:点击wave,在objects窗口选择要观察的信号(鼠标右键选中后移动)移动到wave窗口,点击运行查看波形。
若看不到波形,按住Ctrl+鼠标滚轮,放大或者缩小图片即可,也可以使用快捷键。