Linux下利用iverilog进行功能仿真
(2013-10-04 15:22:21)| 分类: FPGA |
一:安装 iverilog 以及 gtkwave
$:sudo apt-get install iverilog
$:sudo apt-get install gtkwave
二:Verilog 版 Helloworld
$:vim helloworld.v
编辑如下内容:
module main;
initial begin
$display("Hello, World!");
$finish;
end
endmodule
三:利用 gtkwave 查看波形
下面以一个简单计数器为例:
$:vim counter.v
输入以下内容:
module counter(irst, iclk, ocnt );
input irst, iclk;
output reg [3:0] ocnt;
always @ (posedge iclk)
if(irst)
ocnt <= 4'b0000;
else
ocnt <= ocnt + 1'b1;
endmodule
$:vim counter_tb.v
输入以下内容:
module counter_tb;
reg irst = 0;
reg iclk = 0;
wire [3:0] ocnt;
initial begin
irst = 1; #100;
irst = 0; #300;
$stop;
#1000;
$finish;
end
always begin #5 iclk = !iclk; end
counter counter_test(
.irst(irst),
.iclk(iclk),
.ocnt(ocnt)
);
initial
$monitor("At time %t, ocnt = %d", $time, ocnt);
initial
begin
$dumpfile("counter_test.vcd");
$dumpvars(0, counter_test);
end
endmodule
$:iverilog -o counter_test counter_tb.v counter.v
$:$:vvp -n counter_test -lxt2
$:cp counter_test.vcd counter_test.lxt
$:gtkwave counter_test.lxt
OK!至此就会打开 gtkwave 界面,然后添加信号就可以查看波形啦!
总结:

加载中…