“香山”路上的几个坑
由于项目需要,希望了解开源的香山处理器,希望先跑通一波,虽然有清晰的教程,但还是遇到不少问题,特来记录一番。
一、mill 安装
香山的编译不是基于sbt而是另一个叫mill的工具,我用的是ubuntu 18.04 ,但硬是没找到对应的mill安装指令,apt-install也不行,网上找了一圈,确实官网有,说是Manual安装:
sudo sh -c "curl -L https://github.com/com-lihaoyi/mill/releases/download/0.10.0-M4/0.10.0-M4 > /usr/local/bin/mill && chmod +x /usr/local/bin/mill"
二、github 连不上
运行make init
后,需要下载子电路模块以及其他github仓库,具体有这些:
- timingScripts
- berkeley-hardfloat
- api-config-chipsalliance
- rocket-chip
- block-inclusivecache-sifive
- chisel-testers2
不能科学上网的我只能干瞪眼。
网上搜到一个比较有效的办法linux连Github
第一步 : 通过Ping检测最快的节点http://ping.chinaz.com/github.com 第二步 : 选择最快节点添加到hosts文件:
sudo vim /etc/hosts
140.82.114.3 github.com
但最后还是把这些仓库先移到gitee,然后逐个git clone
。
三、香山make verilog不成功
当万事具备,运行make verilog
,已经出现“编译成功”,但几分钟之后就报error退出。搜到论坛说内存要大于32G,或者修改build.sc
,有两个地方Xmx64G
,均改成10G,就可以跑通了,最后生成的verilog代码竟然有100M!
附、设置环境变量
在~/.bashrc
下添加几个环境变量
vim ~/.bashrc
# 行末添加
export NEMU_HOME=/home/tom/Documents/chisel_test/NEMU
export AM_HOME=/home/tom/Documents/chisel_test/nexus-am
export NUTSHELL_HOME=/home/tom/Documents/chisel_test/nutShell
export NOOP_HOME=/home/tom/Documents/chisel_test/XiangShan
感谢老哥的避坑教程,香山在前期环境配置脚本时候,会默认安装一个mill,但这个mill不好用,用了你的指令才好用。感谢!!!
哈哈,环境太折磨人了