diff --git a/doc/数字电路实验/全加器/全加器.assets/全加器.svg b/doc/数字电路实验/全加器/全加器.assets/全加器.svg new file mode 100644 index 0000000..fd77ac3 --- /dev/null +++ b/doc/数字电路实验/全加器/全加器.assets/全加器.svg @@ -0,0 +1 @@ +
FA
FA
A
A
B
B
Cin
Cin
S
S
Cout
Cout
Text is not SVG - cannot display
\ No newline at end of file diff --git a/doc/数字电路实验/全加器/全加器.assets/全加器电路图.svg b/doc/数字电路实验/全加器/全加器.assets/全加器电路图.svg new file mode 100644 index 0000000..ad02ece --- /dev/null +++ b/doc/数字电路实验/全加器/全加器.assets/全加器电路图.svg @@ -0,0 +1 @@ +
XOR
XOR
AND
AND
OR
OR
AND
AND
XOR
XOR
Cin
Cin
A
A
B
B
S
S
Cout
Cout
Text is not SVG - cannot display
\ No newline at end of file diff --git a/doc/数字电路实验/全加器/全加器.assets/全加器真值表.png b/doc/数字电路实验/全加器/全加器.assets/全加器真值表.png new file mode 100644 index 0000000..60d061a Binary files /dev/null and b/doc/数字电路实验/全加器/全加器.assets/全加器真值表.png differ diff --git a/doc/数字电路实验/全加器/全加器.md b/doc/数字电路实验/全加器/全加器.md new file mode 100644 index 0000000..f9addf7 --- /dev/null +++ b/doc/数字电路实验/全加器/全加器.md @@ -0,0 +1,63 @@ +# 全加器 + +## 一、实验介绍 + +加法器是ALU(算术逻辑部件)的核心组成部分,它执行数字系统中最常见的运算——加法。减法可以看作是将被减数与取负后的减数进行加法运算。因此,加法器不仅能够执行加法,还可以同时实现减法运算。此外,通过移位相加的算法,加法器还可以实现乘法运算。因此,可以说加法器是计算机中最繁忙的部件之一。 + +本实验介绍如何使用Verilog编写全加器。 + +## 二、实验目的 + +1. 理解全加器的原理和功能。 +2. 学会使用Verilog描述全加器的行为。 +3. 掌握Verilog仿真工具的使用,验证全加器的正确性。 + +## 三、实验要求 + +1. 使用Verilog描述全加器的行为。 +2. 通过所有测试点。 + +## 四、实验步骤 + +### 1. 框图 + + + +- `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` 是输出进位端口,表示相加结果的进位。 + +请补充代码,完成全加器的设计。 \ No newline at end of file