UnityChipForXiangShan/README.zh.md

102 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 万众一芯之香山处理器
中文|[English](/README.en.md)
本项目旨在通过开源众包的方式对[香山处理器](https://github.com/OpenXiangShan/XiangShan)的昆明湖架构进行单元Unit Test, UT验证。该项目选择Python作为主要的验证语言参与验证你将学习到以下内容
1. **电路的运行特性**:从软件的角度观察电路的运行特性,深入了解电路设计的原理。
2. **高性能处理器设计**学习Chisel硬件描述语言研读相关代码和论文掌握最新的架构设计理念。
3. **芯片验证的基本流程**熟悉规范文档Spec文档学习如何进行UT验证并评估验证结果的合理性。
4. **Python芯片验证**掌握异步编程、回调等高级编程模式利用Python进行芯片验证。
5. **Linux开发环境**学习基础的Linux操作命令搭建验证环境。
本项目欢迎多方面的贡献,并将在一定期限内以特定方式给予奖励(如奖金、证书、实习机会等)。具体贡献类型包括:
- **贡献一**编写验证文档包括设计对象Design Under TestDUT的规范文档、说明文档、功能描述文档等。
- **贡献二**:开发测试用例,包括针对各个功能点的测试代码与注释,以及相关的说明文档。
- **贡献三**发现并报告香山处理器中的bug并提供原因分析和修复建议。
- **贡献四**:其他方面的贡献,例如为本项目提供的工具增加新功能等。
万众一芯项目网址:[https://open-verify.cc](https://open-verify.cc)
期待你的参与!
#### 快速开始
参照[准备验证环境文档](https://open-verify.cc/UnityChipForXiangShan/docs/01_verfiy_env/),配置基本环境,然后运行以下命令:
```bash
git clone git@github.com:XS-MLVP/UnityChipForXiangShan.git
cd UnityChipForXiangShan
pip3 install -r requirements.txt
make all
```
上述命令会自动进行以下操作:
1. 下载RTL代码
1. 编译所有可用待验模块;
1. 搜索`ut_*`目录中所有`test_`开头的python文件并运行其中`test_`开头的测试用例
1. 生成测试报告测试报告位于out目录
1. 更新统计数据
*默认配置下会skip过于耗时的测试可通过设置环境变量`CFG=configs/noskip.yaml`运行所有用例:
```bash
make CFG=configs/noskip.yaml
```
#### 如何本地展示文档和数据
按照[文档部署说明](https://github.com/XS-MLVP/UnityChipForXiangShan/blob/main/documents/README.md)配置`hugo`环境,然后执行:
```bash
cd UnityChipForXiangShan
make doc
```
执行完上述命令后,出现类似输出:
```bash
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at //localhost:1313/ (bind address 0.0.0.0)
Press Ctrl+C to stop
```
此时,通过浏览器访问提示给出的地址([http://127.0.0.1:1313](http://127.0.0.1:1313/))即可。
#### 容器测试
可通过docker快速运行测试
```bash
sudo docker pull ghcr.io/xs-mlvp/uc4xs:latest # 下载镜像
sudo docker run -p 1313:1313 -it --rm ghcr.io/xs-mlvp/uc4xs:latest /home/run_ci.sh # 运行测试
```
容器中的 `run_ci.sh` 脚本会依次执行以下操作:
1. 更新 picker 到最新版本
1. 下载本仓库并安装python依赖
1. 执行 `make CFG=configs/ci.yaml args="-n auto"` 运行测试
1. 执行 `make doc` 可视化文档(测试报告)
#### 维护
在提交Issue、Pull Request、Discussion 时,如果指定对应模块的 Maintainer 能更及时的得到回应。目前已有的维护人员请参考[本连接](https://open-verify.cc/UnityChipForXiangShan/docs/99_maintain/)。
如果您对本项目感兴趣,欢迎成为本项目中的维护者。
#### 其他说明
- **行为准则:** [CODE_OF_CONDUCT.md](/CODE_OF_CONDUCT.md)
- **如何贡献:** [CONTRIBUTING.md](/CONTRIBUTING.md)
- **安全问题:** [SECURITY.md](/SECURITY.md)
**更多文档与验证进度请查看**[https://open-verify.cc/UnityChipForXiangShan](https://open-verify.cc/UnityChipForXiangShan/docs/)
#### 万众一芯QQ交流群
<image src="/.github/image/600480230.jpg" alter="600480230" width=300px />