style: 缩进调整

This commit is contained in:
Liphen 2023-11-05 15:33:46 +08:00
parent e095daf3c3
commit 4cc5f79399
5 changed files with 23 additions and 84 deletions

View File

@ -2,19 +2,19 @@
## 一、实验介绍
加法器是ALU算术逻辑部件的核心组成部分它执行数字系统中最常见的运算——加法。减法可以看作是将被减数与取负后的减数进行加法运算。因此加法器不仅能够执行加法还可以同时实现减法运算。此外通过移位相加的算法加法器还可以实现乘法运算。因此可以说加法器是计算机中最繁忙的部件之一。
加法器是 ALU算术逻辑部件的核心组成部分它执行数字系统中最常见的运算——加法。减法可以看作是将被减数与取负后的减数进行加法运算。因此加法器不仅能够执行加法还可以同时实现减法运算。此外通过移位相加的算法加法器还可以实现乘法运算。因此可以说加法器是计算机中最繁忙的部件之一。
本实验介绍如何使用Verilog编写全加器。
本实验介绍如何使用 Verilog 编写全加器。
## 二、实验目的
1. 理解全加器的原理和功能。
2. 学会使用Verilog描述全加器的行为。
3. 掌握Verilog仿真工具的使用验证全加器的正确性。
2. 学会使用 Verilog 描述全加器的行为。
3. 掌握 Verilog 仿真工具的使用,验证全加器的正确性。
## 三、实验要求
1. 使用Verilog描述全加器的行为。
1. 使用 Verilog 描述全加器的行为。
2. 通过所有测试点。
## 四、实验步骤

View File

@ -25,7 +25,7 @@
<img src="多路数据选择器.assets/框图.svg" style="zoom:150%;" />
- `A` 、`B` 、`C` `D`是输入端口,表示输入的数据。
- `A` 、`B` 、`C` 和 `D`是输入端口,表示输入的数据。
- `S` 是选择端口,用于选择输入的数据。
- `Y` 是输出端口,输出被选中的数据。
@ -33,7 +33,7 @@
<img src="多路数据选择器.assets/真值表.png" style="zoom:;" />
在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` 是输出端口,输出被选中的数据。

View File

@ -1,67 +0,0 @@
题目:面向教学的计算机底层硬件系统设计与实现
毕业设计地点:校内
要求针对教学需要使用硬件描述语言设计基于RISC-V指令集的多级流水线处理器使其适合数字电路与计算机组成原理的教学实验。
重点难点:硬件描述语言的应用;教学化设计;数字电路与计算机组成原理实验的连续性与贯通性。
# 指导手册框架
一、实验介绍
二、实验目的
三、实验要求
四、实验步骤
# 实验设计
#### 数字电路
- 认识Verilog
- ##### 组合逻辑电路基础实验
- 全加器
- 超前进位电路
- 加减法器
- 数据选择器
- 译码器
- 思考题:编码器
- ##### 时序逻辑电路基础实验
- 触发器
- 边沿型/电平型D触发器门电路实现
- 思考题:其他触发器
- 寄存器实验
- 计数器
- ##### 综合设计实验
- 定时与分频实验
- 数码管实验
- 桶型移位器
- 多功能ALU设计实验
- 寄存器堆与运算器设计实验
- 取指令与指令译码实验
#### 计算机组成原理
- 认识Chisel
- 对比下Chisel和Verilog
- 设计一个简单的单周期CPU
- 只支持一些简单的、基础的、有代表性的指令,如支持跑通冒泡排序
- ##### 计算机体系结构实验
- 不考虑相关冲突的流水线CPU
- 指令相关与流水线冲突
- 介绍为什么会发生冲突
- 阻塞技术
- 前递技术
- 在流水线中添加运算类指令
- 让学生参照已经实现的指令添加一条新指令
- 在流水线中添加转移指令
- 在流水线中添加访存指令
- 例外与中断的支持

View File

@ -4,4 +4,10 @@
## 三、实验要求
## 四、实验步骤
## 四、实验步骤
### 1. 框图
### 2. 真值表
### 3. 顶层模块

View File

@ -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
```
通过行为建模,设计人员可以更直观地描述数字电路的功能和操作,不需要关注具体的电路结构和连线细节。行为建模适用于功能验证、仿真和高层次的电路描述。