# OpenMIPS **Repository Path**: chenyl123poi/openmips ## Basic Information - **Project Name**: OpenMIPS - **Description**: 自己动手写CPU 学习过程 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2022-05-14 - **Last Updated**: 2023-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenMIPS 《自己动手写CPU》学习过程 2022.5.14 完成第四章,理想流水线的结构的搭建,未解决流水线冲突问题 2022.5.14 完成第五章,用数据前推方式解决数据相关问题(不包含访存类指令),完成逻辑、移位、空指令的实现(18条) 2022.5.17 完成第六章,完成移动操作指令的实现,实现movn movz mfhi mthi mflo mtlo指令(6条) 2022.5.24 完成第七章,完成所有算术指令,使用流水线暂停实现多周期指令,简单指令使用1个时钟周期完成,乘累加、乘累减指令使用2个时钟周期完成,除法指令除数为零时使用4个周期完成,不为零时使用36个时钟周期完成(21条) 2022.5.25 完成第八章,完成转移指令,延时槽相关信号未处理(14条) 2022.5.27 完成第九章,完成所有存储加载指令,用流水线暂停和数据前推解决load相关冲突(14条) 2022.5.28 完成第十章,完成mtc0 mfc0两条协处理器访问指令。(2条) 2022.5.30 完成第十一章,完成异常处理功能,可处理指令无效异常,自陷异常,溢出,系统调用,异常返回,中断,完成《自己动手写CPU》教学版所有内容(14条) 2022.6.2 完成下板,在原有CPU基础上添加mioc模块,io模块用于下板,并将三个中断输出引出到顶层模块。编写简单的汇编程序进行测试,实现了一个简单的数字时钟,有设置时间的功能,成功使用vivado下板。(B站链接:https://www.bilibili.com/video/BV1ft4y1p7nw) 2022.6.8 测试100mHZ时钟下板测试程序也可正常运行