基于FPGA流水线CPU的设计与实现

基于FPGA流水线CPU的设计与实现

论文摘要

随着微电子技术的迅速发展,集成电路的集成度越来越高,同时推动了嵌入式系统由传统的板上系统时代进入片上系统(System on a Chip, SoC)时代。而CPU是SoC的核心,研究如何设计与实现有效的CPU成为SoC的关键问题。本文基于现代EDA技术,在FPGA上设计并实现一种具有MIPS风格的16位五级流水线RISC CPU。在CPU设计和实现的过程中,所取得的主要研究成果有:(1)选定MIPS体系结构为CPU的构架,以MIPS指令集为参考,设计指令集;通过抽象指令集中每条指令的共性,并结合流水线技术,设计五级(取指、译码、执行、访存、写回)流水线数据通路;采用VHDL实现数据通路上的功能模块。(2)根据数据通路所需要的控制信号,设计能使数据通路有效工作的控制通路;针对控制相关,设计控制检测模块;针对软件异常和中断,设计中断控制器;采用VHDL实现控制通路、控制相关检测模块和中断控制器。(3)针对所设计CPU的特性,基于FIFO(先进先出)和LRU(最近最少使用)两种算法设计两种指令Cache,并采用VHDL实现两种指令Cache,最后分别对两种Cache算法进行仿真和分析。(4)将CPU的各个模块整合成CPU整机,针对不同的CPU功能,以所设计指令集编写测试程序进行仿真验证;将电路文件下载到硬件平台上进行验证,可以发现仿真验证和硬件平台验证是一致的。验证结果表明了所设计CPU的有效性。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 研究背景和意义
  • 1.2 CPU的发展现状
  • 1.2.1 国外CPU
  • 1.2.1.1 通用CPU
  • 1.2.1.2 嵌入式CPU
  • 1.2.2 国内CPU
  • 1.2.2.1 通用CPU
  • 1.2.2.2 嵌入式CPU
  • 1.3 研究内容
  • 1.4 结构安排
  • 第二章 开发平台与CPU体系结构
  • 2.1 CPU设计与实现的相关技术
  • 2.1.1 EDA技术
  • 2.1.1.1 硬件描述语言VHDL
  • 2.1.1.2 QuartusII概述
  • 2.1.2 FPGA
  • 2.1.2.1 FPGA概述
  • 2.1.2.2 FPGA的开发流程
  • 2.1.2.3 Cyclone系列FPGA
  • 2.1.2.4 FPGA在CPU领域中的应用
  • 2.2 CPU体系结构
  • 2.2.1 CISC与RISC
  • 2.2.1.1 复杂指令系统计算机(CISC)
  • 2.2.1.2 精简指令系统计算机(RISC)
  • 2.2.2 MIPS架构及其特点
  • 2.3 小结
  • 第三章 数据通路设计与实现
  • 3.1 指令集设计
  • 3.1.1 指令集
  • 3.1.2 指令格式
  • 3.2 数据通路设计
  • 3.2.1 五种基本数据通路
  • 3.2.2 五级数据通路
  • 3.2.2.1 流水线技术
  • 3.2.2.2 流水线技术融入数据通路
  • 3.2.2.3 流水线引发的相关(hazard)及解决方案
  • 3.2.2.4 旁路通路设计
  • 3.3 数据通路的实现
  • 3.3.1 IF取指令段
  • 3.3.2 ID译码段
  • 3.3.3 EX执行段
  • 3.3.4 MEM访存段
  • 3.3.5 WB写回段
  • 3.3.6 Forward旁路模块
  • 3.4 小结
  • 第四章 控制通路设计与实现
  • 4.1 控制器实现原理
  • 4.1.1 微程序控制器
  • 4.1.2 硬布线控制器
  • 4.2 控制器设计与实现
  • 4.2.1 控制器的主要任务和相应设计
  • 4.2.2 控制器的辅助任务及其对应设计
  • 4.2.3 控制器实现
  • 4.3 其它功能部件设计和实现
  • 4.3.1 控制相关检测模块
  • 4.3.2 中断控制器
  • 4.4 小结
  • 第五章 指令Cache设计与实现
  • 5.1 Cache工作原理
  • 5.1.1 Cache的层次结构
  • 5.1.2 程序局部性原理
  • 5.1.3 地址映射方式
  • 5.1.4 替换算法
  • 5.2 基于FIFO算法的指令Cache的设计与实现
  • 5.2.1 Cache(FIFO)结构设计
  • 5.2.2 Cache(FIFO)控制器设计
  • 5.2.3 Cache(FIFO)实现
  • 5.2.4 FIFO算法仿真
  • 5.3 基于LRU算法的指令Cache的设计与实现
  • 5.3.1 Cache(LRU)结构设计
  • 5.3.2 Cache(LRU)控制器设计
  • 5.3.3 Cache(LRU)实现
  • 5.3.4 LRU算法仿真
  • 5.4 小结
  • 第六章 CPU功能验证
  • 6.1 旁路功能的验证
  • 6.2 CPU整体功能的验证
  • 6.3 小结
  • 第七章 总结与展望
  • 参考文献
  • 致谢
  • 作者在攻读硕士期间的主要研究成果
  • 相关论文文献

    • [1].一种基于CPU卡的门禁系统的设计[J]. 电子技术应用 2017(01)
    • [2].嵌入式系统CPU性能评测技术研究[J]. 信息通信 2017(02)
    • [3].基于有限状态机的多周期CPU实验设计[J]. 实验技术与管理 2017(07)
    • [4].高温对计算机CPU性能影响机理及散热技术分析[J]. 南方农机 2015(08)
    • [5].CPU的正常温度[J]. 老同志之友 2020(07)
    • [6].云环境下基于CPU利用率的能耗测试[J]. 周口师范学院学报 2016(02)
    • [7].笔记本电脑CPU使用率100%的原因与解决对策[J]. 电子技术与软件工程 2014(23)
    • [8].基于CPU卡的燃气表控制系统设计[J]. 河北大学学报(自然科学版) 2015(02)
    • [9].虚拟机CPU平台的基本执行环境研究[J]. 科技创新导报 2015(10)
    • [10].机组现地控制单元CPU切换不成功的原因及防范[J]. 电力安全技术 2012(09)
    • [11].同方CPU卡安全门禁系统解决方案[J]. 射频世界 2010(03)
    • [12].一种嵌入式CPU功能验证平台的设计[J]. 电子器件 2009(01)
    • [13].基于多核CPU的并行计算设计[J]. 长春工程学院学报(自然科学版) 2009(03)
    • [14].CPU载波预付费电能表的应用及前景[J]. 电测与仪表 2009(10)
    • [15].多CPU结构数控系统的研究[J]. 东华大学学报(自然科学版) 2009(06)
    • [16].谈笔记本电脑的CPU和主板[J]. 中国科技信息 2008(10)
    • [17].CPU卡预付费电能表相关技术和使用[J]. 华北电力技术 2008(06)
    • [18].一种基于收敛策略的国产CPU性能测试模型[J]. 小型微型计算机系统 2020(01)
    • [19].一种变电站测控装置CPU使用率精确计算方法研究与实现[J]. 自动化与仪器仪表 2017(02)
    • [20].CPU温度测量及其应用启示[J]. 电脑知识与技术 2017(26)
    • [21].一种任意时间片长度对CPU上下文切换代价影响消除的新方法[J]. 微电子学与计算机 2015(02)
    • [22].基于国密CPU卡的门禁管理系统设计[J]. 智能建筑 2013(03)
    • [23].一种基于国密算法CPU卡的门禁系统方案的设计[J]. 电子设计工程 2012(03)
    • [24].基于双CPU的带式输送机保护控制系统的研究[J]. 煤矿机械 2012(03)
    • [25].机组现地控制单元CPU切换不成功的原因及影响[J]. 水电站机电技术 2012(04)
    • [26].多核CPU下基因库的多种群遗传算法[J]. 传感器与微系统 2011(08)
    • [27].基于双CPU的智能汽车行驶记录仪[J]. 工业控制计算机 2010(06)
    • [28].基于双CPU的中频电源设计[J]. 移动电源与车辆 2010(04)
    • [29].基于双CPU控制的低压馈电开关保护器的设计[J]. 煤矿机械 2009(03)
    • [30].多功能CPU卡应用第一例——沈阳市“城市一卡通”[J]. 中国电子商情(RFID技术与应用) 2009(02)

    标签:;  

    基于FPGA流水线CPU的设计与实现
    下载Doc文档

    猜你喜欢