听说boom还在持续改进,rocket比较稳定
于是我又把rocket的环境搭起来了,如果遇到问题能有更多的人帮忙解决
我是先搭好了boom,再搭的rocket,所以如果你一开始就弄rocket,然后遇到一些工具或者依赖库的问题,可以去翻看我的上一篇,看看有哪些东西要装:
RISC-V学习第一篇 - boom环境的建立
我新建了目录/work/rocket
cd /work/rocket
rocket的database路径是:
https://github.com/ucb-bar/rocket-chip.git
第一步当然先拉出所有的数据:
$ git clone https://github.com/ucb-bar/rocket-chip.git
$ cd rocket-chip
$ git submodule update --init
我在执行git submodule update --init后遇到这个错误:
然后riscs tools的数据一直拉不下来
可能是某个粗心的开发人员忘了push最新的数据。我一直在用cvs和svn,对git特殊的操作还不是特别熟
在这里卡壳了一会,经过高人指点后解决了
如果你也遇到,步骤是:
执行前面三步以后,然后进入riscv tools目录中
cd riscv-tools
git submodule update --init --recursive
git reset --hard
git submodule update --init --recursive
经过这一步后riscv tools的数据都可以导出来了
然后
$ export RISCV=/work/rocket/rocket-chip/riscv-tools/riscv-gnu-toolchain
$ export MAKEFLAGS="$MAKEFLAGS -jN" # Assuming you have N cores on your host system
$ export PATH=${RISCV}/bin:$PATH
下一步本来应该执行./build.sh,但是我在执行的时候报错,autoconf版本太低
在网上搜到了解决办法
首先查询autoconf版本,发现确实版本低了
执行rpm -qf /usr/bin/autoconf
然后卸载当前版本
rpm -e --nodeps autoconf-2.63
然后下载新版本并安装
wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar zxvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --prefix=/usr/
make && make install
然后执行./build.sh又报出这个错:
想了下应该要安装devel包,安装之后解决了
yum install libusb1-devel.x86_64
重新执行./build.sh又报出这个错:
这个需要安装dtc
epel上有RHEL6的dtc安装,所以按照这个网页先添加上epel的源
http://www.centoscn.com/image-text/config/2016/1226/8295.html
然后执行yum install dtc
成功解决
如果遇到下面这个问题:
需要将gmp, mpfr, mpc三个工具的lib路径加到LD_LIBRARY_PATH环境变量
如果没有安装,先解压后按照如下命令安装
./configure --prefix=/usr/local/gmp-4.3.2
make && make install
./configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2
make && make install
./configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2
make && make install
然后执行
export LD_LIBRARY_PATH=/usr/local/gmp-4.3.2/lib:/usr/local/mpc-0.8.1/lib:/usr/local/mpfr-2.4.2/lib:$LD_LIBRARY_PATH
再执行./build.sh
然后
cd emulator
make
然后创建vcs仿真环境
cd vsim
make
make -j4 run-asm-tests
这是跑单个测试的命令
make -j4 run-bmark-tests
这是跑dhystone测试的命令
如果要生成vpd格式的波形,改用如下两个命令
make -j4 run-asm-tests-debug
make -j4 run-bmark-tests-debug
用dve打开vpd波形后,rocket的hier在:
TestDriver/TestHarness/coreplex/SyncRocketTile/rocket/
产生的RTL在:
vsim/generated-src/rocketchip.DefaultConfig.v
完毕