style: 缩进调整
This commit is contained in:
parent
e095daf3c3
commit
4cc5f79399
|
@ -2,19 +2,19 @@
|
|||
|
||||
## 一、实验介绍
|
||||
|
||||
加法器是ALU(算术逻辑部件)的核心组成部分,它执行数字系统中最常见的运算——加法。减法可以看作是将被减数与取负后的减数进行加法运算。因此,加法器不仅能够执行加法,还可以同时实现减法运算。此外,通过移位相加的算法,加法器还可以实现乘法运算。因此,可以说加法器是计算机中最繁忙的部件之一。
|
||||
加法器是 ALU(算术逻辑部件)的核心组成部分,它执行数字系统中最常见的运算——加法。减法可以看作是将被减数与取负后的减数进行加法运算。因此,加法器不仅能够执行加法,还可以同时实现减法运算。此外,通过移位相加的算法,加法器还可以实现乘法运算。因此,可以说加法器是计算机中最繁忙的部件之一。
|
||||
|
||||
本实验介绍如何使用Verilog编写全加器。
|
||||
本实验介绍如何使用 Verilog 编写全加器。
|
||||
|
||||
## 二、实验目的
|
||||
|
||||
1. 理解全加器的原理和功能。
|
||||
2. 学会使用Verilog描述全加器的行为。
|
||||
3. 掌握Verilog仿真工具的使用,验证全加器的正确性。
|
||||
2. 学会使用 Verilog 描述全加器的行为。
|
||||
3. 掌握 Verilog 仿真工具的使用,验证全加器的正确性。
|
||||
|
||||
## 三、实验要求
|
||||
|
||||
1. 使用Verilog描述全加器的行为。
|
||||
1. 使用 Verilog 描述全加器的行为。
|
||||
2. 通过所有测试点。
|
||||
|
||||
## 四、实验步骤
|
||||
|
|
|
@ -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` 是输出端口,输出被选中的数据。
|
||||
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
题目:面向教学的计算机底层硬件系统设计与实现
|
||||
|
||||
毕业设计地点:校内
|
||||
|
||||
要求:针对教学需要,使用硬件描述语言设计基于RISC-V指令集的多级流水线处理器,使其适合数字电路与计算机组成原理的教学实验。
|
||||
|
||||
重点难点:硬件描述语言的应用;教学化设计;数字电路与计算机组成原理实验的连续性与贯通性。
|
||||
|
||||
# 指导手册框架
|
||||
|
||||
一、实验介绍
|
||||
|
||||
二、实验目的
|
||||
|
||||
三、实验要求
|
||||
|
||||
四、实验步骤
|
||||
|
||||
# 实验设计
|
||||
|
||||
#### 数字电路
|
||||
|
||||
- 认识Verilog
|
||||
- ##### 组合逻辑电路基础实验
|
||||
- 全加器
|
||||
- 超前进位电路
|
||||
- 加减法器
|
||||
- 数据选择器
|
||||
- 译码器
|
||||
|
||||
- 思考题:编码器
|
||||
- ##### 时序逻辑电路基础实验
|
||||
- 触发器
|
||||
|
||||
- 边沿型/电平型D触发器,门电路实现
|
||||
- 思考题:其他触发器
|
||||
- 寄存器实验
|
||||
- 计数器
|
||||
- ##### 综合设计实验
|
||||
- 定时与分频实验
|
||||
- 数码管实验
|
||||
- 桶型移位器
|
||||
- 多功能ALU设计实验
|
||||
- 寄存器堆与运算器设计实验
|
||||
- 取指令与指令译码实验
|
||||
|
||||
#### 计算机组成原理
|
||||
|
||||
- 认识Chisel
|
||||
|
||||
- 对比下Chisel和Verilog
|
||||
- 设计一个简单的单周期CPU
|
||||
|
||||
- 只支持一些简单的、基础的、有代表性的指令,如支持跑通冒泡排序
|
||||
- ##### 计算机体系结构实验
|
||||
- 不考虑相关冲突的流水线CPU
|
||||
- 指令相关与流水线冲突
|
||||
|
||||
- 介绍为什么会发生冲突
|
||||
- 阻塞技术
|
||||
- 前递技术
|
||||
- 在流水线中添加运算类指令
|
||||
|
||||
- 让学生参照已经实现的指令添加一条新指令
|
||||
- 在流水线中添加转移指令
|
||||
- 在流水线中添加访存指令
|
||||
- 例外与中断的支持
|
|
@ -4,4 +4,10 @@
|
|||
|
||||
## 三、实验要求
|
||||
|
||||
## 四、实验步骤
|
||||
## 四、实验步骤
|
||||
|
||||
### 1. 框图
|
||||
|
||||
### 2. 真值表
|
||||
|
||||
### 3. 顶层模块
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
```
|
||||
|
||||
通过行为建模,设计人员可以更直观地描述数字电路的功能和操作,不需要关注具体的电路结构和连线细节。行为建模适用于功能验证、仿真和高层次的电路描述。
|
||||
|
|
Loading…
Reference in New Issue