diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1854b84 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +prj/simulation/icarus/ +user/src/test.v +user/sim/wave.vcd +user/sim/testbench.v +img \ No newline at end of file diff --git a/.vscode/property.json b/.vscode/property.json new file mode 100644 index 0000000..7dc2beb --- /dev/null +++ b/.vscode/property.json @@ -0,0 +1,11 @@ +{ + "toolChain": "xilinx", + "prjName": { + "PL": "template" + }, + "soc": { + "core": "none" + }, + "enableShowLog": false, + "device": "none" +} \ No newline at end of file diff --git a/doc/数字电路实验/大致思路.md b/doc/数字电路实验/大致思路.md new file mode 100644 index 0000000..d37feaf --- /dev/null +++ b/doc/数字电路实验/大致思路.md @@ -0,0 +1,67 @@ +题目:面向教学的计算机底层硬件系统设计与实现 + +毕业设计地点:校内 + +要求:针对教学需要,使用硬件描述语言设计基于RISC-V指令集的多级流水线处理器,使其适合数字电路与计算机组成原理的教学实验。 + +重点难点:硬件描述语言的应用;教学化设计;数字电路与计算机组成原理实验的连续性与贯通性。 + +# 指导手册框架 + +一、实验介绍 + +二、实验目的 + +三、实验要求 + +四、实验步骤 + +# 实验设计 + +#### 数字电路 + +- 认识Verilog +- ##### 组合逻辑电路基础实验 +- 全加器 +- 超前进位电路 +- 加减法器 +- 数据选择器 +- 译码器 + + - 思考题:编码器 +- ##### 时序逻辑电路基础实验 +- 触发器 + + - 边沿型/电平型D触发器,门电路实现 + - 思考题:其他触发器 +- 寄存器实验 +- 计数器 +- ##### 综合设计实验 +- 定时与分频实验 +- 数码管实验 +- 桶型移位器 +- 多功能ALU设计实验 +- 寄存器堆与运算器设计实验 +- 取指令与指令译码实验 + +#### 计算机组成原理 + +- 认识Chisel + + - 对比下Chisel和Verilog +- 设计一个简单的单周期CPU + + - 只支持一些简单的、基础的、有代表性的指令,如支持跑通冒泡排序 +- ##### 计算机体系结构实验 +- 不考虑相关冲突的流水线CPU +- 指令相关与流水线冲突 + + - 介绍为什么会发生冲突 + - 阻塞技术 + - 前递技术 +- 在流水线中添加运算类指令 + + - 让学生参照已经实现的指令添加一条新指令 +- 在流水线中添加转移指令 +- 在流水线中添加访存指令 +- 例外与中断的支持 diff --git a/doc/数字电路实验/模板.md b/doc/数字电路实验/模板.md new file mode 100644 index 0000000..47b2aa2 --- /dev/null +++ b/doc/数字电路实验/模板.md @@ -0,0 +1,7 @@ +## 一、实验介绍 + +## 二、实验目的 + +## 三、实验要求 + +## 四、实验步骤 \ No newline at end of file diff --git a/doc/数字电路实验/电路图.drawio b/doc/数字电路实验/电路图.drawio new file mode 100644 index 0000000..a00be3d --- /dev/null +++ b/doc/数字电路实验/电路图.drawio @@ -0,0 +1,431 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file