您的位置:首页 > 其它

Chisel实验笔记(二)

2015-05-29 10:35 239 查看
在上一篇《Chisel实验笔记(一)》中,我们的到了对应的verilog文件,本文将采用Icarus Verilog + GtkWave进行仿真验证。

实验平台还是Ubuntu14.04(64位)

1、安装Icarus Verilog-0.9.7

首先输入如下命令:

sudo apt-get install gperf
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install build-essential


然后安装zlib,下载地址http://www.zlib.net/,解压缩后,使用终端进入所在目录,输入如下命令安装:

./configure
make
sudo make install
如果没有安装zlib,那么在执行vvp -n test -lxt2的时候,会出现如下错误:

LXT2 support disabled since zlib not available


最后下载Icarus Verilog-0.9.7,使用终端进入所在目录,输入如下命令安装:

./configure
make
sudo make install


2、安装GtkWave3.3.64

首先安装Tcl8.6.4,下载地址http://www.tcl.tk/software/tcltk/download.html,解压缩后,使用终端进入其中的unix目录,输入如下命令:

./configure
make
sudo make install


然后安装Tk8.6.4,下载地址http://www.tcl.tk/software/tcltk/download.html,解压缩后,进入其中的unix目录,输入如下命令:

./configure
make
sudo make install


然后安装xz5.2.1,下载地址http://tukaani.org/xz/,解压缩后,使用终端进入所在目录,输入如下命令:

./configure
make
sudo make install
如果没有安装xz,在configure gtk的时候会出如下错误:

LZMA support for VZT is enabled, but xz could not be found


接下来,执行如下命令:

sudo apt-get install "libglib2.0-dev"
apt-get install libgtk+2.0-dev libesd0-dev


否则在configure gtk的时候会出现如下错误

ackage requirements (gtk+-2.0 >= 2.2.0) were not met


最后下载GtkWave3.3.64,解压缩后,使用终端进入所在目录,输入如下命令:

./configure
make
sudo make install


3、编写TestBench

新建文件Max2Test.v,内容如下:
其中有四组输入,每次从中选择一个较大的数作为输出。

module Max2Test;

reg[7:0] in0;
reg[7:0] in1;
wire[7:0] out;

initial begin
in0 = 8'h35;
in1 = 8'h56;
#1  in0 = 8'h39;
in1 = 8'h28;
#1  in0 = 8'h10;
in1 = 8'h09;
#1  in0 = 8'h15;
in1 = 8'h20;
#1 $stop;
end

Max2 Max2instance(
.io_in0(in0),
.io_in1(in1),
.io_out(out)
);

initial begin
$dumpfile("Max2Test.vcd");
$dumpvars(0, Max2Test);
end

endmodule

4、仿真得到结果

在终端输入如下命令可以仿真得到并查看波形
iverilog -o test Max2.v Max2Test.v
vvp -n test
gtkwave Max2Test.vcd


或者对结果进行压缩,命令如下:
iverilog -o test Max2.v Max2Test.v
vvp -n test -lxt2(增加了-lxt2参数)
cp Max2Test.vcd Max2Test.lxt
gtkwave Max2Test.lxt


会出现如下波形显示,表示设计的Max2电路实现了预期设想,也就是Chisel翻译得到的verilog模块是正确的。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: