docs: 初步完成全加器

This commit is contained in:
Liphen 2023-11-02 16:45:23 +08:00
parent 2d27ad5a4d
commit 50bb21f64e
4 changed files with 65 additions and 0 deletions

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -0,0 +1,63 @@
# 全加器
## 一、实验介绍
加法器是ALU算术逻辑部件的核心组成部分它执行数字系统中最常见的运算——加法。减法可以看作是将被减数与取负后的减数进行加法运算。因此加法器不仅能够执行加法还可以同时实现减法运算。此外通过移位相加的算法加法器还可以实现乘法运算。因此可以说加法器是计算机中最繁忙的部件之一。
本实验介绍如何使用Verilog编写全加器。
## 二、实验目的
1. 理解全加器的原理和功能。
2. 学会使用Verilog描述全加器的行为。
3. 掌握Verilog仿真工具的使用验证全加器的正确性。
## 三、实验要求
1. 使用Verilog描述全加器的行为。
2. 通过所有测试点。
## 四、实验步骤
### 1. 框图
<img src="全加器.assets/全加器.svg" style="zoom:150%;" />
- `A``B` 是输入端口,表示要相加的两个二进制位。
- `Cin` 是输入进位端口,表示上一位的进位。
- `S` 也就是 `Sum` 是输出端口,表示相加结果的当前位。
- `Cout` 是输出进位端口,表示相加结果的进位。
### 2. 电路图
![](全加器.assets/全加器电路图.svg)
### 3. 真值表
![](全加器.assets/全加器真值表.png)
### 4. 顶层模块
```verilog
module FullAdder (
input wire A,
input wire B,
input wire Cin,
output wire S,
output wire Cout
);
// TODO你的代码实现
endmodule
```
在上述代码中,顶层模块名为 `FullAdder`,它有五个端口:
- `A``B` 是输入端口,表示要相加的两个二进制位。
- `Cin` 是输入进位端口,表示上一位的进位。
- `Sum` 是输出端口,表示相加结果的当前位。
- `Cout` 是输出进位端口,表示相加结果的进位。
请补充代码,完成全加器的设计。