├── .gitignore ├── README.md ├── S01E00-Introduction-and-Preparation.pdf ├── S01E01-CPU-Simulation-in-Spike.pdf ├── S01E02-CPU-Simulation-in-Spike-cont.pdf ├── S01E03-Debug-Mechanism-in-Spike.pdf ├── S01E04-Memory-System-Simulation-in-Spike.pdf ├── S01E05-Device-Simulation-in-Spike.pdf ├── S01E06-Basic-Qom-in-Qemu.pdf ├── S01E07-CPU-Simulation-Part1-in-Qemu.pdf ├── S01E08-CPU-Simulation-Part2-in-Qemu.pdf ├── S01E09-Memory-Simulation-in-Qemu.pdf ├── S01E10-HelloWorld-in-Qemu.pdf ├── S01E11-Nuclei-ECLIC-in-Qemu.pdf ├── S01E12-Other-IRQ-in-Qemu.pdf ├── S01E13-Bus-in-Qemu.pdf ├── S01E14-Nuclei-Linux-in-Qemu.pdf └── S01E15-ACT-for-Qemu.pdf /.gitignore: -------------------------------------------------------------------------------- 1 | # Node rules: 2 | ## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 3 | .grunt 4 | 5 | ## Dependency directory 6 | ## Commenting this out is preferred by some people, see 7 | ## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git 8 | node_modules 9 | 10 | # Book build output 11 | _book 12 | 13 | # eBook build output 14 | *.epub 15 | *.mobi 16 | *.pdf 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # writing-your-first-riscv-simulator 2 | 《从零开始的RISC-V模拟器开发》配套的PPT和教学资料 3 | 4 | NICE指令集spike支持仓库:https://github.com/plctlab/plct-spike/tree/spike-courses 5 | 6 | snapshot机制spike支持仓库:https://github.com/plctlab/plct-spike/tree/plct-snapshot 7 | 8 | 块设备spike支持仓库:https://github.com/plctlab/plct-spike/tree/snapshot-develop 9 | 10 | QEMU nuclei支持总仓库:https://github.com/plctlab/plct-qemu/tree/plct-nuclei-rebase 11 | 12 | QEMU ACT支持仓库:https://github.com/plctlab/plct-qemu/tree/riscv-arch-test 13 | 14 | ACT for Scalar crypto支持仓库: https://github.com/liweiwei90/riscv-arch-test/tree/k-extension 15 | 16 | 按课程进度区分仓库:https://github.com/plctlab/plct-qemu/tree/plct-courses-dev (待更新) -------------------------------------------------------------------------------- /S01E00-Introduction-and-Preparation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E00-Introduction-and-Preparation.pdf -------------------------------------------------------------------------------- /S01E01-CPU-Simulation-in-Spike.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E01-CPU-Simulation-in-Spike.pdf -------------------------------------------------------------------------------- /S01E02-CPU-Simulation-in-Spike-cont.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E02-CPU-Simulation-in-Spike-cont.pdf -------------------------------------------------------------------------------- /S01E03-Debug-Mechanism-in-Spike.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E03-Debug-Mechanism-in-Spike.pdf -------------------------------------------------------------------------------- /S01E04-Memory-System-Simulation-in-Spike.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E04-Memory-System-Simulation-in-Spike.pdf -------------------------------------------------------------------------------- /S01E05-Device-Simulation-in-Spike.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E05-Device-Simulation-in-Spike.pdf -------------------------------------------------------------------------------- /S01E06-Basic-Qom-in-Qemu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E06-Basic-Qom-in-Qemu.pdf -------------------------------------------------------------------------------- /S01E07-CPU-Simulation-Part1-in-Qemu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E07-CPU-Simulation-Part1-in-Qemu.pdf -------------------------------------------------------------------------------- /S01E08-CPU-Simulation-Part2-in-Qemu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E08-CPU-Simulation-Part2-in-Qemu.pdf -------------------------------------------------------------------------------- /S01E09-Memory-Simulation-in-Qemu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E09-Memory-Simulation-in-Qemu.pdf -------------------------------------------------------------------------------- /S01E10-HelloWorld-in-Qemu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E10-HelloWorld-in-Qemu.pdf -------------------------------------------------------------------------------- /S01E11-Nuclei-ECLIC-in-Qemu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E11-Nuclei-ECLIC-in-Qemu.pdf -------------------------------------------------------------------------------- /S01E12-Other-IRQ-in-Qemu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E12-Other-IRQ-in-Qemu.pdf -------------------------------------------------------------------------------- /S01E13-Bus-in-Qemu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E13-Bus-in-Qemu.pdf -------------------------------------------------------------------------------- /S01E14-Nuclei-Linux-in-Qemu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E14-Nuclei-Linux-in-Qemu.pdf -------------------------------------------------------------------------------- /S01E15-ACT-for-Qemu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plctlab/writing-your-first-riscv-simulator/a397324a6af0095c51f0ac1047e8da5c687783a5/S01E15-ACT-for-Qemu.pdf --------------------------------------------------------------------------------