前期准备:安装好vim、iverilog、gtkwave,安装命令如下:
1.sudo apt-get install vim
2.sudo apt-get install iverilog
3.sudo apt-get install gtkwave
我们以4位比较器为例:
首先,在命令行中输入:
vim compare.v
生成compare.v文件,后编写如下代码
module compare(AgtB,AeqB,AltB,A,B);
output AgtB,AeqB,AltB;
input [2:0] A,B;
assign AeqB=A==B;
assign AgtB=A>B;
assign AltB=A<B;
endmodule
按esc退回到普通模式输入“:wq”保存内容。
接着在命令行中输入:
vim tb_compare.v
创建testbench(tb_compare)后编写代码如下
`timescale 1ns/1ns
module tb_compare;
wire AgtB,AeqB,AltB;
reg [3:0] A,B;
initial
begin
A=4'b0000;B=4'b0000;
#10 A=4'b0001;B=4'b0010;
#10 A=4'b1000;B=4'b1001;
#10 A=4'b1010;B=4'b1010;
#10 A=4'b0111;B=4'b0001;
#10 $stop;
end
compare my_compare(AgtB,AeqB,AltB,A,B);
initial
begin
$dumpfile("test.vcd");
$dumpvars(0,tb_compare);
end
endmodule
值得注意的是,需要在testbench中添加
initial
begin
$dumpfile("test.vcd");
$dumpvars(0,tb_compare);
end
其中$dumpfile(“test.vcd”)钟的test.vcd为文件名,指定转储的文件名,相当于打开文件(不需要你另创建);$dumpvars(0,tb_compare)中tb_compare为tb的模块名。
生成compare.v和tb_compare.v文件后需要,在命令行中输入:
iverilog -o test compare.v tb_compare.v
运行不报错后,可以使用gtkwave生成波形图了,在命令行输入:
gtkwave test.vcd
系统自动开大gtkwave
一切建立在你的linux命令输入不报错的前提下!剩下的百度吧少年!