安装iverilog
1.iverilog下载地址:(http://bleyer.org/icarus/)
2.下载版本选择:
3.安装非常容易,next一路,注意选择有的地方✔就好了。
iverilog使用指南
注:iverilog安装好以后,它与常见的应有软件不同的是,当你双击打开它的图标时,你看到的是:
4. 按下快捷键“win+r",输入”cmd“,打开win10系统的运行窗口。输入”iverilog",显示下图,则说明安装成功。
1.使用iverilog的方法是:
a. 按下快捷键“win+r",输入”cmd“,打开win10系统的运行窗口。
b.[在这里我们以D触发器的verilog代码为例,说明使用方法:
dff的模块代码(design.v):
// Design
// D flip-flop
module dff (clk, reset,
d, q, qb);
input clk;
input reset;
input d;
output q;
output qb;
reg q;
assign qb = ~q;
always @(posedge clk or posedge reset)
begin
if (reset) begin
// Asynchronous reset when reset goes high
q <= 1'b0;
end else begin
// Assign D to Q on positive clock edge
q <= d;
end
end
endmodule
dff的测试代码(testbench.v):
// Testbench
module test;
reg clk;
reg reset;
reg d;
wire q;
wire qb;
// Instantiate design under test
dff DFF(.clk(clk), .reset(reset),
.d(d), .q(q), .qb(qb));
initial begin
// Dump waves
$dumpfile("dump.vcd");
$dumpvars(1);
$display("Reset flop.");
clk = 0;
reset = 1;
d = 1'bx;
display;
$display("Release reset.");
d = 1;
reset = 0;
display;
$display("Toggle clk.");
clk = 1;
display;
end
task display;
#1 $display("d:%0h, q:%0h, qb:%0h",
d, q, qb);
endtask
endmodule
]
c. 背景交代:我的dff代码放在D盘中:
因此,在运行窗口中,需要路径切换(cd)。
d. 在运行窗口中,依次输入以下命令(有error则在文件中改正后继续操作以下命令):
C:\Users\86152>d: //由C盘切换到D盘
D:\>cd icer //找到D盘中存放代码的文件夹(路径切换用cd)
D:\icer>cd verilog //找到D盘中存放代码的文件夹
D:\icer\verilog>iverilog
D:\icer\verilog>iverilog -o design_name dff1.v //使用-o来说明dff1.v是待测模块代码
D:\icer\verilog>iverilog -o dff1test.vvp dff1test.v dff1.v //dff1test.vvp就是我们用iverilog中的可执行文件(iverilog.exe)生成的连接design.v和testbench.v的文件
D:\icer\verilog>vvp -n dff1test.vvp //-n,testbench.v中,输出一个以矢量形式存在的文件dump.vcd(用于后面可显示波形图)
D:\icer\verilog>gtkwave dump.vcd //显示波形图命令
e. 弹出波形图
注释:在testbench.v中,写入:
initial
begin
$dumpfile("wave.vcd"); //生成的vcd文件名称
$dumpvars(0, led_demo_tb); //tb模块名称
end
是可以出现波形图的关键。