.. _materials: ************ 参考资料 ************ 总体原则 ============ “一生一芯”计划,鼓励同学们主动探索和积极实践。故而,没有课堂式教学,仅提供关键节点的引导和部分参考资料。绝大部分任务,都需要同学们自己去查资料和动手摸索。 参考书 ============ :数字电路: 网上教材和公开课很多,同学们可自行去找并有针对性地学习,目标: 1. 了解和掌握时序的概念、寄存器、锁存器等基础概念 2. 学会Verilog编程 :组成原理: 《数字逻辑与计算机组成》 [袁春风] :体系结构 (基础): 《计算机组成与设计 硬件/软件接口》 :体系结构 (进阶): 《计算机体系结构量化研究方法》, 《超标量处理器设计》 [姚永斌] .. note:: 如上推荐但不限于,因为每个学校的课程和教材会有所区别,请根据各人情况自行调整 其它参考资料 ============ 仿真验证环境 ------------ :Verilator: `[Veripool.org] Verilator Official Website `_ :RISC-V 工具链: `[GitHub] riscv/riscv-gnu-toolchain `_ :模拟器 NEMU: `[GitHub] NJU-ProjectN/nemu `_ :裸机运行时环境: `[GitHub] NJU-ProjectN/nexus-am `_ - Abstract Machine (AM) :差分测试: `[CRVF2019] Yu, EasyDiff: An Effective and Efficient Framework for Processor Verification `_ :2018龙芯杯决赛: `[nscscc.org] 南京大学二队报告 `_ RISC-V ------------ :RISC-V指令集手册: `[GitHub] riscv/riscv-isa-manual `_ :RISC-V 各种资料: `[GitHub] riscv `_ (如ABI规范等) Chisel ------------ :`Chisel Bootcamp `_: 很不错的chisel教程, 支持在线运行chisel代码, 可以边写chisel代码边学习 .. note:: 第1章是scala入门, 第2章是chisel基础, 第3章是scala高级特性和chisel的混合使用, 第4章是FIRRTL后端相关内容. 学习前两章 = 入门, 学习第3章 = 提高, 第4章可以作为课外阅读材料. :`Chisel Users Guide `_: 比较系统地整理了chisel的特性, 也是不错的入门教程 :`Chisel 小抄 `_: 简明地列出了chisel语言的大部分用法 :`Chisel API `_: 详细地列出了chisel库的所有API供参考 :`Chisel 示例项目 `_: 可以作为模板使用 用Chisel开发的RISC-V处理器示例项目 ------------------------------------ 1. https://github.com/ucb-bar/riscv-sodor 2. https://github.com/OSCPU/NutShell 3. https://github.com/freechipsproject/rocket-chip (不适合入门阅读) 4. https://github.com/OpenXiangShan/XiangShan (非常复杂的处理器) .. |br| raw:: html