跳转至

Lab0实验报告

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寄存器