## **6.pipe cpu(Verilog,FPGA)**
计算机组成原理课程设计
### 6.1 简介
一个基于FPGA的简单的五级流水线CPU,支持基本的运算,跳转,数据存储与传送等基本指令,解决了流水线cpu中的控制相关和数据相关的问题。
### 6.2 技术细节
- 语言框架:
- Verilog,FPGA,时序电路仿真
- 根据五级流水的五个阶段(取指,译码,执行,执行,访存,写回),将整个cpu分为五个子模块分别编码实现,然后封装在顶层模块里。
- 在五个子模块中又分别对alu(运算模块),cu(控制模块),bru(跳转处理模块)等更小的子模块进行封装。
- 由于流水执行,跳转指令在译码阶段被识别时,下一条指令已经取指开始执行,如不处理,会导致寄存器值被更改,即控制相关问题。采用在跳转指令后插入空指令的方法处理控制相关。
- 下一条指令读寄存器时,前三条指令还未进行写回,如不处理,所读取的内容将不是最新的,即数据相关问题。采用数据前推的方式解决。
- 由于LW指令改写寄存器的写入数据在访存阶段才能确定,因此单纯的数据回推无法解决相关问题,需要在指令后插入一条空指令。为了简化设计,对于所有LW指令,无论是否出现数据相关,均在其后插入空指令。
- 通过汇编工具将指令翻译成二进制数字,然后输入cpu进行仿真。
### 6.3 功能演示
- cpu架构:<br>
![cpu架构图][pic-6.3.0]<br>
- 仿真结果:<br>
![仿真结果][pic-6.3.1]<br>
![仿真结果][pic-6.3.2]<br>
![仿真结果][pic-6.3.3]<br>
### 6.4 项目仓库
<https://github.com/HaoyuanMa/pipe-cpu-verilog>
----
[pic-6.3.0]: https://images.wait4echo.love/Works/pipe-cpu/wl-pc-arch.png
[pic-6.3.1]: https://images.wait4echo.love/Works/pipe-cpu/wl-pc-sim0.png
[pic-6.3.2]: https://images.wait4echo.love/Works/pipe-cpu/wl-pc-sim1.png
[pic-6.3.3]: https://images.wait4echo.love/Works/pipe-cpu/wl-pc-sim2.png
热爱技术。
- 粉丝: 2967
- 资源: 7864
最新资源
- 三菱FX1N通讯E700变频器示例资料 硬件:fx1n-485bd板,fx1n plc,E700变频器一台 功能:控制功能包括正反转,停止,频率给定,读取动作包括运行频率,运行状态 百度,内容包括
- 8通道自动温度检测系统仿真 各通道温度依次显示 Proteus仿真 免开发板 51单片机汇编语言 无实物 含工程文件源码
- STM32 多回路电力表 远程电力仪表,远程电力表 采用stm32作为主控 支持电力统计,电能计算,电流输出 支持过流,过压,欠压保护 包括原理图,源代码 已移植量产使用,具有极高的参考价值
- 西门子1200PLC博图自动称重配料系统程序例程,组态画面采用KTP1200触摸屏 具体为1200和变频器Modbus RTU 通 讯,托利多电子称modbus RTU通讯,带 PID 温度控制程序
- maxwell、jmag、motorcad高速永磁电机、内转子永磁电机、直驱力矩电机、外转子永磁无刷直流电机设计、永磁同步电机设计
- Prescan ACC Simulink模型,自适应巡航模型 分为上下两层控制
- 基于元胞自动机的人口疏散模型MATLAB代码 通过设定危险度规则,使用基于双端队列的01bfs算法快速计算每个格子的危险度,使元胞自发地倾向危险度更低的方向来模拟人员疏散模型 双出口空间人口疏散,可自
- 与信号处理相关的学习资料,基于MATLAB的零极点、梳状和iir二阶数字滤波器设计,GUI界面 另有说 可实现功能和界面如下图所示
- 西门子1200PLC热站自控系统程序,2个循环泵,2个补水泵,循环泵与补水泵采用一用一备,硬件:昆仑通泰触摸屏,程序有完整注释和简易电路图供参考,打开软件版本博图V13
- 源代码,基于STM32F103的多种外围芯片驱动程序,集成在一个项目中,采用Keil开发,方便调试 EEPROM FRAM : AT24Cxx (ATMEL ,I2C 接口) EEPROM:
- 基于sobel算子的边缘检测FPGA程序,同时兼容彩色图像和灰度图像的边缘检测,而且不用将输出数据再使用matlab读取,在测试文件直接按照bmp格式将输出数据写到bmp中,直接在modelsim就可
- 3-新增input表单.html
- AUTO-MES 车间生产执行系统源代码 数据库,mysql 完整数据库脚本 源代码可以用IDEA打开 1,车间基础建模 1.1 工作中心 1.2 站点维护 1.3 工
- 基于labview开发的温度压力采集,可以生成波形图有最低最高和平均计算显示,结构清晰,动画仿真,适合学习参考
- 基于labview的连续时间系统的时频域分析 ①给出一个连续时间系统的微分方程,求出该系统的系统函数,单位冲激响应曲线;给出输入信号,求零状态响应曲线 ②画出系统的极零图,幅频特性曲线,相频特性曲线
- 博途西门子PLC模拟量滤波程序,西门子1200和1500通用,有电压或者电流或者热电偶选择,高低位和高高低低位报警,有滤波功能,非常实用的功能块,配有详细的注释,帮助快速理解 已经在工程案例使用过
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈