MIPS单周期CPU设计:特殊数列计算实现

项目简介

本项目实现了一个基于MIPS指令集的单周期CPU,专门用于计算一个特殊的数列。该数列是斐波那契数列的变体,具有独特的递推特性。

特殊数列定义

初始值: a₀ = 1, a₁ = 1
递推公式: aₙ₊₁ = 2aₙ + 1 + 3aₙ₋₁ (n ≥ 1)

数列前几项:1, 1, 5, 13, 41, 121, ...

核心实现

指令序列

# 初始化
addiu $2,$0,#1    # a₀ = 1
addiu $3,$0,#1    # a₁ = 1

# 计算循环
addiu $1,$0,#2    # 常数2
mul   $12,$1,$3   # 2aₙ
addiu $1,$0,#3    # 常数3
mul   $11,$1,$2   # 3aₙ₋₁
addu  $7,$11,$12  # 新项计算
or    $2,$3,$0    # 更新aₙ₋₁
or    $3,$7,$0    # 更新aₙ
j     08H         # 循环继续

主要模块

  • ALU:支持加减乘等运算
  • 寄存器堆:32个32位寄存器
  • 乘法器:32位有符号乘法
  • 存储器:指令ROM和数据RAM

特色功能

  • 完整的调试接口
  • LCD显示支持
  • 实时监控机制
  • 波形分析功能

开发环境

  • Vivado 2019.2
  • ModelSim SE-64 10.5
  • Xilinx 7系列FPGA

项目地址

许可证

MIT License


本项目展示了如何通过硬件设计实现特定算法,是学习计算机体系结构的良好实例。欢迎感兴趣的同学参与项目开发和改进。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容