参考来自以下资源
riscv-gnu-toolchain - XiangShan 官方文档 (xiangshan-doc.readthedocs.io)
香山项目导引 - XiangShan 官方文档 (xiangshan-doc.readthedocs.io)
香山开源处理器学习 | 爱代码爱编程 (icode.best)
准备工作
Windows环境请安装WSL(此处使用的为WSL2)以及Ubuntu 20.04镜像,并在Ubuntu环境下安装riscv-gnu-toolchain
# 通过wsl启动ubuntu
wsl -d ubuntu20.04
并配置wsl扩大可用memory(Path: C:\Users\$your_account\.wslconfig)
[wsl2]
memory=16GB
processors=8
swap=64GB
localhostForwarding=true
加载完毕后重启wsl生效
STEP1
sudo apt-get update
sudo apt-get upgrade
git clone https://github.com/OpenXiangShan/xs-env.git
cd xs-env
sudo -s ./setup-tools.sh
sudo -s ./setup.sh
# Init submodules
sudo git submodule update --init --recursive
# Setup XiangShan environment variables
source env.sh
cd XiangShan/
make init
vim build.sc # 修改为最大可支持的memory空间,此处修改为16GB
************************************************************
// override def forkArgs = Seq("-Xmx64G", "-Xss256m")
override def forkArgs = Seq("-Xmx16G", "-Xss256m")
************************************************************
make verilog # 这一步会耗费很久时间,可以通过检查任务管理器看memory是否已经100%占用
成功会有如下显示
STEP2
参考tutorial/20210625-RVWC-香山部署教程.pdf · XiangShan/XiangShan-doc - 码云 - 开源中国 (gitee.com)第三章内容
如果make emu出现问题,则修改为
make emu CONFIG=MinimalConfig SIM_ARGS=--disable-log EMU_TRACE=1 -j32
生成的vcd文件位于build目录
也可以通过安装gtkwave并执行"gtkwave xxx.vcd"打开波形文件