You can contact us through our mail list. All mails from this list will be archived to here.
Architecture
The first stable micro-architecture of XiangShan is called Yanqihu (雁栖湖) on this branch, which has been developed since June 2020. The current version of XiangShan, also known as Nanhu (南湖), is still under development on the master branch.
The micro-architecture overview of Nanhu (南湖) is shown below.
Sub-directories Overview
Some of the key directories are shown below.
.
├── src
│ └── main/scala # design files
│ ├── device # virtual device for simulation
│ ├── system # SoC wrapper
│ ├── top # top module
│ ├── utils # utilization code
│ ├── xiangshan # main design code
│ └── xstransforms # some useful firrtl transforms
├── scripts # scripts for agile development
├── fudian # floating unit submodule of XiangShan
├── huancun # L2/L3 cache submodule of XiangShan
├── difftest # difftest co-simulation framework
└── ready-to-run # pre-built simulation images
IDE Support
bsp
make bsp
IDEA
make idea
Generate Verilog
Run make verilog to generate verilog code. The output file is build/XSTop.v.
Refer to Makefile for more information.
Run Programs by Simulation
Prepare environment
Set environment variable NEMU_HOME to the absolute path of the NEMU project.
Set environment variable NOOP_HOME to the absolute path of the XiangShan project.
Set environment variable AM_HOME to the absolute path of the AM project.
We reused the Diplomacy framework and TileLink utility that exist in rocket-chip to negotiate bus.
We are grateful for the support of the open-source community and encourage other open-source projects to reuse our code within the scope of the license.
XiangShan
XiangShan (香山) is an open-source high-performance RISC-V processor project.
中文说明在此。
Copyright 2020-2022 by Institute of Computing Technology, Chinese Academy of Sciences.
Copyright 2020-2022 by Peng Cheng Laboratory.
Docs and slides
XiangShan-doc is our official documentation repository. It contains design spec., technical slides, tutorial and more.
Follow us
Wechat/微信:香山开源处理器
Zhihu/知乎:香山开源处理器
Weibo/微博:香山开源处理器
You can contact us through our mail list. All mails from this list will be archived to here.
Architecture
The first stable micro-architecture of XiangShan is called Yanqihu (雁栖湖) on this branch, which has been developed since June 2020. The current version of XiangShan, also known as Nanhu (南湖), is still under development on the master branch.
The micro-architecture overview of Nanhu (南湖) is shown below.
Sub-directories Overview
Some of the key directories are shown below.
IDE Support
bsp
IDEA
Generate Verilog
make verilog
to generate verilog code. The output file isbuild/XSTop.v
.Makefile
for more information.Run Programs by Simulation
Prepare environment
NEMU_HOME
to the absolute path of the NEMU project.NOOP_HOME
to the absolute path of the XiangShan project.AM_HOME
to the absolute path of the AM project.mill
. Refer to the Manual section in this guide.make init
to initialize submodules.Run with simulator
make emu
to build the C++ simulator./build/emu
with Verilator../build/emu --help
for run-time arguments of the simulator.Makefile
andverilator.mk
for more information.Example:
Troubleshooting Guide
Troubleshooting Guide
Acknowledgement
In the development of XiangShan, some sub-modules from the open-source community are employed. All relevant usage is listed below.
block-inclusivecache
.We are grateful for the support of the open-source community and encourage other open-source projects to reuse our code within the scope of the license.