标签:自己动手写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
./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
./configure make sudo make install
./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
新建文件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
标签:自己动手写cpu 处理器 risc-v rocket chisel
原文地址:http://blog.csdn.net/leishangwen/article/details/46226167