diff --git a/doc/数字电路实验/全加器/全加器.md b/doc/数字电路实验/全加器/全加器.md index 537f075..8e0ca06 100644 --- a/doc/数字电路实验/全加器/全加器.md +++ b/doc/数字电路实验/全加器/全加器.md @@ -2,19 +2,19 @@ ## 一、实验介绍 -加法器是ALU(算术逻辑部件)的核心组成部分,它执行数字系统中最常见的运算——加法。减法可以看作是将被减数与取负后的减数进行加法运算。因此,加法器不仅能够执行加法,还可以同时实现减法运算。此外,通过移位相加的算法,加法器还可以实现乘法运算。因此,可以说加法器是计算机中最繁忙的部件之一。 +加法器是 ALU(算术逻辑部件)的核心组成部分,它执行数字系统中最常见的运算——加法。减法可以看作是将被减数与取负后的减数进行加法运算。因此,加法器不仅能够执行加法,还可以同时实现减法运算。此外,通过移位相加的算法,加法器还可以实现乘法运算。因此,可以说加法器是计算机中最繁忙的部件之一。 -本实验介绍如何使用Verilog编写全加器。 +本实验介绍如何使用 Verilog 编写全加器。 ## 二、实验目的 1. 理解全加器的原理和功能。 -2. 学会使用Verilog描述全加器的行为。 -3. 掌握Verilog仿真工具的使用,验证全加器的正确性。 +2. 学会使用 Verilog 描述全加器的行为。 +3. 掌握 Verilog 仿真工具的使用,验证全加器的正确性。 ## 三、实验要求 -1. 使用Verilog描述全加器的行为。 +1. 使用 Verilog 描述全加器的行为。 2. 通过所有测试点。 ## 四、实验步骤 diff --git a/doc/数字电路实验/多路数据选择器/多路数据选择器.md b/doc/数字电路实验/多路数据选择器/多路数据选择器.md index 81ba611..0c6383f 100644 --- a/doc/数字电路实验/多路数据选择器/多路数据选择器.md +++ b/doc/数字电路实验/多路数据选择器/多路数据选择器.md @@ -25,7 +25,7 @@ -- `A` 、`B` 、`C` 和 `D`是输入端口,表示输入的数据。 +- `A` 、`B` 、`C` 和 `D`是输入端口,表示输入的数据。 - `S` 是选择端口,用于选择输入的数据。 - `Y` 是输出端口,输出被选中的数据。 @@ -33,7 +33,7 @@ -在S分别取0、1、2、3的时候Y分别输出A、B、C、D的值。 +在 S 分别取 0、1、2、3 的时候 Y 分别输出 A、B、C、D 的值。 ### 3. 顶层模块 @@ -58,7 +58,7 @@ endmodule 在上述代码中,顶层模块名为 `Mux4`,它有四个端口: -- `A` 、`B` 、`C` 和 `D`是输入端口,表示输入的数据。 +- `A` 、`B` 、`C` 和 `D`是输入端口,表示输入的数据。 - `S` 是选择端口,用于选择输入的数据。 - `Y` 是输出端口,输出被选中的数据。 diff --git a/doc/数字电路实验/大致思路.md b/doc/数字电路实验/大致思路.md deleted file mode 100644 index d37feaf..0000000 --- a/doc/数字电路实验/大致思路.md +++ /dev/null @@ -1,67 +0,0 @@ -题目:面向教学的计算机底层硬件系统设计与实现 - -毕业设计地点:校内 - -要求:针对教学需要,使用硬件描述语言设计基于RISC-V指令集的多级流水线处理器,使其适合数字电路与计算机组成原理的教学实验。 - -重点难点:硬件描述语言的应用;教学化设计;数字电路与计算机组成原理实验的连续性与贯通性。 - -# 指导手册框架 - -一、实验介绍 - -二、实验目的 - -三、实验要求 - -四、实验步骤 - -# 实验设计 - -#### 数字电路 - -- 认识Verilog -- ##### 组合逻辑电路基础实验 -- 全加器 -- 超前进位电路 -- 加减法器 -- 数据选择器 -- 译码器 - - - 思考题:编码器 -- ##### 时序逻辑电路基础实验 -- 触发器 - - - 边沿型/电平型D触发器,门电路实现 - - 思考题:其他触发器 -- 寄存器实验 -- 计数器 -- ##### 综合设计实验 -- 定时与分频实验 -- 数码管实验 -- 桶型移位器 -- 多功能ALU设计实验 -- 寄存器堆与运算器设计实验 -- 取指令与指令译码实验 - -#### 计算机组成原理 - -- 认识Chisel - - - 对比下Chisel和Verilog -- 设计一个简单的单周期CPU - - - 只支持一些简单的、基础的、有代表性的指令,如支持跑通冒泡排序 -- ##### 计算机体系结构实验 -- 不考虑相关冲突的流水线CPU -- 指令相关与流水线冲突 - - - 介绍为什么会发生冲突 - - 阻塞技术 - - 前递技术 -- 在流水线中添加运算类指令 - - - 让学生参照已经实现的指令添加一条新指令 -- 在流水线中添加转移指令 -- 在流水线中添加访存指令 -- 例外与中断的支持 diff --git a/doc/数字电路实验/模板.md b/doc/数字电路实验/模板.md index 47b2aa2..8917a4c 100644 --- a/doc/数字电路实验/模板.md +++ b/doc/数字电路实验/模板.md @@ -4,4 +4,10 @@ ## 三、实验要求 -## 四、实验步骤 \ No newline at end of file +## 四、实验步骤 + +### 1. 框图 + +### 2. 真值表 + +### 3. 顶层模块 diff --git a/doc/数字电路实验/认识Verilog/认识Verilog.md b/doc/数字电路实验/认识Verilog/认识Verilog.md index 842735f..c730e04 100644 --- a/doc/数字电路实验/认识Verilog/认识Verilog.md +++ b/doc/数字电路实验/认识Verilog/认识Verilog.md @@ -706,9 +706,9 @@ Verilog 的行为建模可以分为两种类型:组合逻辑行为建模和时 input wire sel, output wire y ); - + reg f; // f是寄存器类型的输出信号,在always语句块中只有reg类型可以被赋值 - + always @( * ) begin case (sel) 1'b0: @@ -719,11 +719,11 @@ Verilog 的行为建模可以分为两种类型:组合逻辑行为建模和时 f = 1'bx; // 默认情况下,输出为未知(高阻态) endcase end - + assign y = f; - + endmodule - + ``` 2. 时序逻辑行为建模: @@ -738,7 +738,7 @@ Verilog 的行为建模可以分为两种类型:组合逻辑行为建模和时 input wire data, output reg q // 也可以直接将输出定义为reg类型 ); - + always @(posedge clk, posedge reset) // 注意此处括号内与组合逻辑行为建模的不同 begin if (reset) // 当时钟信号clk上升沿到来时,如果reset为高电平,则将输出q赋值为低电平; @@ -746,9 +746,9 @@ Verilog 的行为建模可以分为两种类型:组合逻辑行为建模和时 else // 否则,将输出q赋值为输入data的值。 q <= data; end - + endmodule - + ``` 通过行为建模,设计人员可以更直观地描述数字电路的功能和操作,不需要关注具体的电路结构和连线细节。行为建模适用于功能验证、仿真和高层次的电路描述。