仅供参考,严禁抄袭!
注意,本文供具有一定计算机组成原理理论和数字电路基础的同学参考学习,并不是从零开始的教程,如果前导知识还未掌握,请参考其他文章。
顶层设计示意图
一、设计草稿:
1.IFU(取指令单元)
包括PC(32位寄存器)、IM(32位*32字指令存储器)、reset(1位复位信号)、clk(1位时钟信号)。其中IM使用ROM进行实现,以字存址,因此每进行一次指令后PC加一。
因为规定IM的地址位为5,所以取PC[4:0]作为地址读取Instr即可。
具体端口如下表所示。
端口 |
方向 |
描述 |
reset |
I |
异步复位信号。为1时指令地址保持0。 |
clk |
I |
时钟信号 |
PC’ |
I |
经过计算得到的下周期指令的存放地址 |
PC |
O |
该周期指令的存放地址 |
Instr |
O |
读取到的指令信号 |
2.GRF(寄存器文件)
该寄存器文件模块可实现以下功能:
- 复位。当reset信号有效时,所有寄存器存储的数值全部清零。
- 读取。读出A1、A2地址对应的寄存器中的数据到RD1、R2端口。
- 写入。当WE信号有效时,根据A3中输入的目标寄存器地址,将WD写入对应的目标寄存器。
具体端口及其功能如下表所示。
端口 |
方向 |
描述 |
reset |
I |
异步复位信号。为1时指令地址保持0。 |