名称:32位MIPS CPU处理器Quartus软件verilog语言
软件:Quartus
语言:Verilog
要求:设计MIPS处理器,支持MIPS指令的CPU
1. 设计说明
本设计为32位MIPS处理器,完全支持[MIPS手册上]上的所有核心指令。
系统框图如下:
运行周期
(a) 当时钟触发程序计数器(PC)时,帮助从模块read_instruction中获取下一条指令。
(b) inst_parser模块实现指令类型(R型、I型、J型),然后将指令解析为操作码、rs、rt、rd、移位量、函数、地址和立即数。
(c) 当操作码和功能码发生变化时,control_unit控制的所有信号都将被重置。
(d) 如果rs或rt寄存器发生变化并且存在读取信号,则read_registers模块将触发。
(e) 有关寄存器的信号,如“读取寄存器”或“写入寄存器”信号。%1
(f) 如果运算是算术运算,则rs和rt寄存器的内容以及移位量值将发送去ALU(算术逻辑单元)。
(g) 如果(e)信号是“写入寄存器”信号,则将结果发送到寄存器。%1
(h) 如果信号是关于内存的,如“写入内存”或“从内存读取”,则返回发送到内存。。。
(i) 控制存储器信号
(j) 如果信号是“从内存读取”,并且结果必须写入寄存器(lw命令),则将结果发送到read_register模块
单周期数据路径如下:
共有7个模块:
-Mips_core,主模块。
-read_instructions,读取下一条指令
-inst_parser,指令分析器
-control_unit,处理器的控制单元
-ALU32位,32位算术逻辑单元。
-read_data_memory,数据路径的数据内存
-read_registers:控制寄存器操作
2. 工程文件
3. 程序文件
4. 程序编译
5. RTL图
6. Testbench
7. 仿真图
源代码
扫描文章末尾的公众号二维码