项目作者: Lollipop

项目描述 :
使用verilog实现简单的流水cpu,使用暂停流水线消解冲突
高级语言: Verilog
项目地址: git://github.com/Lollipop/CPU.git
创建时间: 2019-04-10T12:44:52Z
项目社区:https://github.com/Lollipop/CPU

开源协议:

下载


CPU

使用verilog实现简单的流水cpu,使用暂停流水线消解冲突。由于Verilog工程数件数过多,因此仅上传了源文件。

  • 设计并实现一个多周期流水MIPS32 CPU。利用所设计的CPU能够执行相应的程序,并能返回正确结果。
  • 五段流水(5个流水段分别命名为IF(取指),ID(指令译码),EXE(执行),MEM(访存)和WB(回写)),可以处理冲突。
  • 三种类型的指令若干条。
  • 当指令采用流水线技术行执行时候可能会产生相关和冲突。采用停顿流水线消解。

开发环境

  • 开发环境:Windows 10
  • 开发工具:Xilinx ISE 14.7
  • 开发语言:Verilog

三类指令格式

三种类型的MIPS指令格式定义如下:

  • R(register)类型的指令从寄存器堆中读取两个源操作数,计算结果写回寄存器堆;
  • I(immediate)类型的指令使用一个 16位的立即数作为一个源操作数;
  • J(jump)类型的指令使用一个 26位立即数作为跳转的目标地址(target address);

设计原理图

原理图