译码模块
纯组合逻辑电路
主要完成功能:
- 根据指令内容,解析出当前具体是哪一条指令(比如add指令)。
- 根据具体的指令,确定当前指令涉及的寄存器。比如读寄存器是一个还是两个,是否需要写寄存器以及写哪一个寄存器。
- 访问通用寄存器,得到要读的寄存器的值。
文章目录
tinyrsicv-id_ex
序号 | 信号名 | 输入/输出 | 位宽bits | 说明 |
---|---|---|---|---|
1 | rst | 输入 | 1 | 复位 |
2 | inst_i | 输入 | 32 | 指令内容 |
3 | inst_addr_i | 输入 | 32 | 指令地址 |
4 | reg1_rdata_i | 输入 | 32 | 寄存器1输入数据 |
5 | reg2_rdata_i | 输入 | 32 | 寄存器2输入数据 |
6 | csr_rdata_i | 输入 | 32 | CSR寄存器输入数据 |
7 | ex_jump_flag_i | 输入 | 1 | 跳转信号 |
8 | reg1_raddr_o | 输出 | 5 | 指令地址 |
9 | reg2_rdata_o | 输出 | 5 | 读寄存器2地址,即读哪一个通用寄存器 |
10 | csr_raddr_o | 输出 | 32 | 寄存器2输入数据 |
11 | mem_req_o | 输出 | 1 | 向总线请求访问内存信号 |
12 | inst_o | 输出 | 32 | 指令内容 |
13 | inst_addr_o | 输出 | 32 | 指令地址 |
14 | reg1_rdata_o | 输出 | 32 | 通用寄存器1数据 |
15 | reg2_rdata_o | 输出 | 32 | 通用寄存器2数据 |
16 | reg_we_o | 输出 | 1 | 通用寄存器写使能 |
17 | reg_waddr_o | 输出 | 5 | 通用寄存器写地址,即写哪一个通用寄存器 |
18 | csr_we_o | 输出 | 1 | CSR寄存器写使能 |
19 | csr_rdata_o | 输出 | 32 | CSR寄存器读数据 |
20 | csr_waddr_o | 输出 | 32 | CSR寄存器写地址,即写哪一个CSR寄存器 |