码迷,mamicode.com
首页 > 其他好文 > 详细

Chisel实验笔记(二)

时间:2015-05-29 12:05:40      阅读:792      评论:0      收藏:0      [点我收藏+]

标签:自己动手写cpu   处理器   risc-v   rocket   chisel   

在上一篇《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模块是正确的。

技术分享

Chisel实验笔记(二)

标签:自己动手写cpu   处理器   risc-v   rocket   chisel   

原文地址:http://blog.csdn.net/leishangwen/article/details/46226167

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!