Lab5实验报告¶
Lab5-1 数据通路设计¶
5.1.1 controller模块¶
在Lab5-1中,本模块实际上是被TA预先定义好的模块。
输入与输出信号¶
输入信号是一个长度为32位的指令comb_decode_inst
,输出信号是一个长度为22位的位流comb_decode
。
位流的每一位的含义在5-2的实验指导中作了解释,我根据5-2的指导完成了对位流 的拆分与赋值。
实现功能¶
输入一个32位的指令,能够分析得出22位的操作码
交互¶
输入交互:输入的inst来自与PC从存储器中读取的指令,与ram模块交互。
输出交互:操作码被分割为多个部分,分别与后面的多个环节有交互。
5.1.2 ram模块¶
在Lab5-1中,本模块实际上是被TA预先定义好的模块。
输入与输出信号¶
输入有六个,分别是:
- 时钟信号
clk
- 数据读写模式信号
rw_wmode
- 9位的读写目标数据地址
rw_addr
- 64位的数据写入内容
rw_wdata
- 8位的数据写入掩码
rw_wmask
- 9位的指令读取目标地址
ro_addr
输出只有两个,分别是:
- 64位读取目标数据内容
rw_rdata
- 64位读取目标指令内容
ro_rdata
实现功能¶
在一个时钟上升沿内完成:
- 读取存储器指定地址数据
- 依据掩码写入存储器指定地址
- 读取存储器指定地址指令
交互¶
输入交互:与cotroller的输出交互
输出交互:pc寄存器