修改doc目录
|
@ -6,3 +6,5 @@ user/sim/testbench.v
|
||||||
*.pdf
|
*.pdf
|
||||||
~*.xlsx
|
~*.xlsx
|
||||||
~*.docx
|
~*.docx
|
||||||
|
~*.dotx
|
||||||
|
*.~vsd
|
||||||
|
|
|
@ -47,21 +47,15 @@
|
||||||
|
|
||||||
#### 三、HDU-X01 开发板及实验流程
|
#### 三、HDU-X01 开发板及实验流程
|
||||||
|
|
||||||
#### 实验 1 译码器和编码器设计实验
|
#### 实验 1 译码器设计实验
|
||||||
|
|
||||||
#### 实验 2 多路选择器和多路分配器设计实验
|
#### 实验 2 多路选择器和数据分配器设计实验
|
||||||
|
|
||||||
#### 实验 3 全加器与超前进位电路设计实验
|
#### 实验 3 全加器与超前进位电路设计实验
|
||||||
|
|
||||||
#### 实验 4 多功能 ALU 设计实验
|
#### 实验 4 多功能 ALU 设计实验
|
||||||
|
|
||||||
#### 实验 5 寄存器堆及与运算器连接设计实验
|
#### 实验 5 通用寄存器堆设计实验
|
||||||
|
|
||||||
#### 实验 6 定时与分频实验
|
|
||||||
|
|
||||||
#### 实验 7 取指令设计实验
|
|
||||||
|
|
||||||
#### 实验 8 开关消抖实验
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -71,29 +65,22 @@
|
||||||
|
|
||||||
#### 二、Chisel 语法简介
|
#### 二、Chisel 语法简介
|
||||||
|
|
||||||
#### 三、开发环境
|
#### 三、开发环境和差分测试
|
||||||
|
|
||||||
#### 四、差分测试调试方法
|
#### 四、RV64I 单周期处理器设计实验
|
||||||
|
|
||||||
#### 五、RV64I 单周期处理器设计实验
|
1. 实现 R 型运算指令的处理器设计实验
|
||||||
|
2. 实现 I 型运算指令的处理器设计实验
|
||||||
##### 5.1 实现 R 型运算指令的处理器设计实验
|
3. 实现 U 型运算指令的处理器设计实验
|
||||||
|
4. 实现 I 型和 S 型访存指令的处理器设计实验
|
||||||
##### 5.2 实现 I 型运算指令的处理器设计实验
|
5. 实现 J 型无条件转移指令的处理器设计实验
|
||||||
|
6. 实现 B 型条件转移指令的处理器设计实验
|
||||||
##### 5.3 实现 U 型运算指令的处理器设计实验
|
|
||||||
|
|
||||||
##### 5.4 实现 I 型和 S 型访存指令的处理器设计实验
|
|
||||||
|
|
||||||
##### 5.5 实现 J 型无条件转移指令的处理器设计实验
|
|
||||||
|
|
||||||
##### 5.6 实现 B 型条件转移指令的处理器设计实验
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### 六、流水线处理器设计实验
|
#### 五、流水线处理器设计实验
|
||||||
|
|
||||||
##### 6.1 实验 7 实现 R 型运算类指令的理想流水线设计实验
|
##### 1 实现 R 型运算类指令的理想流水线设计实验
|
||||||
|
|
||||||
###### 实验目的
|
###### 实验目的
|
||||||
|
|
||||||
|
@ -124,7 +111,7 @@
|
||||||
|
|
||||||
1.
|
1.
|
||||||
|
|
||||||
##### 6.2 实验 8 实现 I 型和 U 型运算类指令的理想流水线设计实验
|
##### 2 实现 I 型和 U 型运算类指令的理想流水线设计实验
|
||||||
|
|
||||||
###### 实验目的
|
###### 实验目的
|
||||||
|
|
||||||
|
@ -135,7 +122,7 @@
|
||||||
|
|
||||||
使用没有数据相关的测试集对其处理器进行测试,用于验证指令的正确性
|
使用没有数据相关的测试集对其处理器进行测试,用于验证指令的正确性
|
||||||
|
|
||||||
##### 6.3 实验 9 实现乘除法指令的理想流水线设计实验
|
##### 3 实现乘除法指令的理想流水线设计实验
|
||||||
|
|
||||||
###### 实验目的
|
###### 实验目的
|
||||||
|
|
||||||
|
@ -147,7 +134,7 @@
|
||||||
|
|
||||||
实现 M 拓展,在 exe 级增加 FU 选择
|
实现 M 拓展,在 exe 级增加 FU 选择
|
||||||
|
|
||||||
##### 6.4 实验 10 实现访存指令的理想流水线设计实验
|
##### 4 实现访存指令的理想流水线设计实验
|
||||||
|
|
||||||
###### 实验目的
|
###### 实验目的
|
||||||
|
|
||||||
|
@ -159,7 +146,7 @@
|
||||||
|
|
||||||
在 mem 级增加 lsu
|
在 mem 级增加 lsu
|
||||||
|
|
||||||
##### 6.5 实验 11 实现转移指令的理想流水线设计实验
|
##### 5 实现转移指令的理想流水线设计实验
|
||||||
|
|
||||||
###### 实验目的
|
###### 实验目的
|
||||||
|
|
||||||
|
@ -171,7 +158,7 @@
|
||||||
|
|
||||||
转移指令可以设计在 id 级也可以实现在 exe 级
|
转移指令可以设计在 id 级也可以实现在 exe 级
|
||||||
|
|
||||||
##### 6.6 实验 12 气泡流水线设计实验
|
##### 6 气泡流水线设计实验
|
||||||
|
|
||||||
###### 实验目的
|
###### 实验目的
|
||||||
|
|
||||||
|
@ -218,7 +205,7 @@
|
||||||
|
|
||||||
保证后一级无法运行时,前一级也无法运行,即可完成阻塞
|
保证后一级无法运行时,前一级也无法运行,即可完成阻塞
|
||||||
|
|
||||||
##### 6.7 实验 13 使用数据前递解决冲突的流水线设计实验
|
##### 7 使用数据前递解决冲突的流水线设计实验
|
||||||
|
|
||||||
- 数据前递的方式
|
- 数据前递的方式
|
||||||
|
|
||||||
|
@ -230,38 +217,38 @@
|
||||||
|
|
||||||
完成数据相关处理后,使用有数据相关的数据集进行测试
|
完成数据相关处理后,使用有数据相关的数据集进行测试
|
||||||
|
|
||||||
##### 6.8 实验 14 实现 CSR 指令的流水线设计实验
|
##### 8 实现 CSR 指令的流水线设计实验
|
||||||
|
|
||||||
- 实现 M 模式
|
- 实现 M 模式
|
||||||
|
|
||||||
- 增加 CSR 指令
|
- 增加 CSR 指令
|
||||||
- 在 exe 级增加 fu 选择
|
- 在 exe 级增加 fu 选择
|
||||||
|
|
||||||
##### 6.9 实验 15 例外和中断的支持
|
##### 9 例外和中断的支持
|
||||||
|
|
||||||
- 可以先实现 ecall、eret、ebreak 指令,再实现别的例外
|
- 可以先实现 ecall、eret、ebreak 指令,再实现别的例外
|
||||||
|
|
||||||
- 实现 M 和 U 模式
|
- 实现 M 和 U 模式
|
||||||
- 截止这里应该已经完成了 RV64 的 I、M、Zicsr 指令集
|
- 截止这里应该已经完成了 RV64 的 I、M、Zicsr 指令集
|
||||||
|
|
||||||
##### 6.10 实验 16 支持 AXI 总线的流水线互连设计实验
|
##### 10 支持 AXI 总线的流水线互连设计实验
|
||||||
|
|
||||||
- 将现有的 sram 接口改为类 sram 接口
|
- 将现有的 sram 接口改为类 sram 接口
|
||||||
- 再设计一个类 sram 转 AXI 协议转换桥
|
- 再设计一个类 sram 转 AXI 协议转换桥
|
||||||
- 通过 AXI 随机延迟验证
|
- 通过 AXI 随机延迟验证
|
||||||
|
|
||||||
##### 6.11 实验 17 流水线 CPU 访存提速设计实验
|
##### 11 流水线 CPU 访存提速设计实验
|
||||||
|
|
||||||
- 先设计 cache 模块
|
- 先设计 cache 模块
|
||||||
- 然后实现 icache,调整总线接口
|
- 然后实现 icache,调整总线接口
|
||||||
- 实现 fence.i 指令
|
- 实现 fence.i 指令
|
||||||
- 跑性能测试程序
|
- 跑性能测试程序
|
||||||
|
|
||||||
##### 6.12 实验 18 流水线 CPU 分支预测设计实验
|
##### 12 流水线 CPU 分支预测设计实验
|
||||||
|
|
||||||
##### 6.13 实验 19 动态顺序双发射流水线设计实验
|
##### 13 动态顺序双发射流水线设计实验
|
||||||
|
|
||||||
##### 6.14 实验 20 支持虚实地址转换的超标量流水线设计实验
|
##### 14 支持虚实地址转换的超标量流水线设计实验
|
||||||
|
|
||||||
- 增加 MMU、TLB,实现虚实地址转换,使用 SV39 标准
|
- 增加 MMU、TLB,实现虚实地址转换,使用 SV39 标准
|
||||||
- 增加 S 相关的 CSR
|
- 增加 S 相关的 CSR
|
||||||
|
@ -270,6 +257,6 @@
|
||||||
|
|
||||||
- 运行操作系统
|
- 运行操作系统
|
||||||
|
|
||||||
##### 6.15 实验 21 RISC-V 核修改为 LongArch 核的相关指导
|
##### 15 从RISC-V 核到 LongArch 核的架构移植实验
|
||||||
|
|
||||||
#### 七、模拟器设计实验
|
#### 六、模拟器设计实验
|
||||||
|
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |