目录
目录README.md

HowtoUseXiangShan

非常感谢大家阅读此篇文章。如果你看到这篇文章,说明你已经对于芯片设计、开源芯片有所了解,并出于对香山的兴趣萌发了试一试的想法、又或者是跑个分看看的好奇。本文详细介绍了新手如何通过安装 Docker 实现使用香山的操作指南(在实际操作中可以降低本地安装香山环境和工具的难度),或者亲手在本地部署来体验(需要强动手能力)。通过一步一步的操作引导,可以直接进行香山及其配套工具的使用去实现程序的运行。

文档会逐步补充更多实践内容!欢迎更多香山爱好者加入共建。

文档使用说明

  1. 具体操作说明文档在Issue 中发布;
  • 通过Docker 使用香山,新手推荐,制作了资源包排除了新手上手的一切障碍,丝滑体验香山及工具的使用。
  • 本地安装运行香山, 自行安装相对难度大一些,但可以切身感受到本地部署香山开发环境的乐趣
  1. 有任何问题欢迎大家在issue中留下评论,如果是优质问题有奖励。
  2. 香山新手村qq群:793255484

如何就算入门使用香山:

第一步:编译香山,运行仿真程序

香山本身是运用 chisel 写的(是高级软件语言),需要转换为verlog语言(即 RTL语言)即实际的硬件设计,之后进行仿真模拟来验证,通过仿真(软件程序来模拟硬件)的形式来模拟 CPU 的执行,这样就可以来验证香山的设计和运行一些程序。

第二步:学会使用香山基本工具:

香山的基本工具包括NEMU、AM、difftest,其他工具都建立在这三个基础工具之上。(以下用最朴实的话语描述) ● The Abstract Machine 即为 AM,在代码库中搜索“nexus-am”:编译要在香山上跑的程序,例如 coremark、hello 、microbench 等。 ● NJU Emulator 即为 NEMU,在代码库中搜索“NEMU”:模拟处理器的执行,获得标准结果。在仿真的时候,这个结果会被提供给 difftest 作为正确结果进行与香山结果的对照,进而确认香山执行结果的正确性。 ● difftest 差分测试,在代码库中搜索“DiffTest”:仿真验证框架,就是直接拿香山结果和标准结果做对比的工具。

第三步:搞清香山基本工具(NEMU、AM、difftest)之间的相互关系

多多操作,就能理解了。

完成以上操作,即可视为完成入门使用香山。 熟练理解以上操作,可以探索修改香山的配置,给香山加功能。

特别鸣谢贡献者:

  1. 贾志杰,硕士,中国科学院计算技术研究所,在他的帮助下,完善了所有 Docker 所需内容,为初次使用香山排除了一切障碍,并指导完成本说明文档

  2. 香山官方文档: 本文档是在此基础上完善和增加了详细说解说。

关于

如何使用香山适用于两种典型需求: 第一种:通过实际操作验证香山性能,可以获得直接指导,不需要自行摸索 第二种:没有技术经验,通过执行操作指导,可以独立完成香山具体应用,获得结果

37.0 KB
邀请码