1、 草鱼 草鱼 毕业设计(论文) 草鱼 设计 (论文 )题目 草鱼 草鱼 草鱼 基于 FPGA的微处理器设计 草鱼 草鱼 姓 草鱼 草鱼 草鱼 草鱼 名 :pork 学 草鱼 草鱼 草鱼 草鱼 号 :pork 学 草鱼 草鱼 草鱼 草鱼 院 :pork 专 草鱼 草鱼 草鱼 草鱼 业 :pork 年 草鱼 草鱼 草鱼 草鱼级 指导教师 :pork 草 鱼草鱼 草鱼 摘 草鱼 草鱼 草鱼 要 草鱼 本文使用结构化编程方法 , 鲤鱼 将 微处理器 内核按照功能划分为不同的模块 , 鲤鱼 采用 VHDL 语言设计每一个模块的内部功能和 外围接口 ,鲤鱼 设计 实现了 一种基于 FPGA 芯片的微处理器
2、系统 。 草鱼 草鱼 该微处理器主要由控制器 、 pork运算器和寄存器组成 , 鲤鱼 具有指令控制 、p o rk操作控制 、 pork时间控制和数据加工等基本功能 , 鲤鱼 可实现四位操作数的各种运算 , 鲤鱼 其指令长度为 16 位定长 , 鲤鱼 采用 了 直接寻址方式 。ABSTRACT II 草鱼 最后 采用 QUARTUSII 对设计进行了 仿真测试 , 鲤鱼 结果 表明设计实现了微处理器的主要功能 。 草鱼 草鱼 关 草鱼 键 草鱼 字 : porkFPGA, 鲤鱼 微处理器 , 鲤鱼 VHDL 草鱼 ABSTRACT III ABSTRACT 草鱼 A 草鱼 microproc
3、essor 草鱼 on 草鱼 FPGA 草鱼 is 草鱼 realized 草鱼 by 草鱼 using 草鱼structured 草鱼 programming. 草鱼 This 草鱼 microprocessor 草鱼 core 草鱼 is 草鱼divided 草鱼 into 草鱼 several 草鱼 different 草鱼 function 草鱼 modules 草鱼 which 草鱼are 草鱼 designed 草鱼 using 草鱼 VHDL.草鱼 The 草鱼 microprocessor 草鱼 consists 草鱼 of 草鱼 controller, 草鱼 arithmet
4、ic 草鱼 unit 草鱼and 草鱼 registers. 草鱼 It 草鱼 realizes 草鱼 the 草鱼 instruction 草鱼 control, 草鱼operation 草鱼 control, 草鱼 time 草鱼 sequence 草鱼 control 草鱼 and 草鱼 data 草鱼processing 草鱼 functions. 草鱼 The 草鱼 direct 草鱼 addressing 草鱼 mode 草鱼 is 草鱼adopted. 草鱼 The 草鱼 various 草鱼 operations 草鱼 for 草鱼 4bit 草鱼 operand 草鱼 can
5、 草鱼 be 草鱼 achieved. 草鱼 Its 草鱼 instruction 草鱼 length 草鱼 is 草鱼 16 草鱼 bit.草鱼 The 草鱼 design 草鱼 is 草鱼 simulated 草鱼 by 草鱼 using 草鱼 QUARTUSII, 草鱼 and 草鱼 the 草鱼 results 草鱼 show 草鱼 that 草鱼 the 草鱼 main 草鱼 functions 草鱼 of 草鱼 a 草鱼 microprocessor 草鱼 are 草鱼 achieved.草鱼 草鱼 Key 草鱼 Words: 草鱼 FPGA, 草鱼 CPU, 草鱼 VHDL 草鱼
6、 目录 目 草鱼 草鱼 草鱼 录 草鱼 摘 草鱼 草鱼 草鱼 要 I 草鱼 ABSTRACT III 草鱼 第 1 章 草鱼 绪论 1 草鱼 1.1 草鱼 背景 1 草鱼 1.2 草鱼 微处理器的概况 1 草鱼 1.3 草鱼 课题研究方法及技术背景 2 草鱼 1.3.1 草鱼 研究方法 2 草鱼 1.3.2 草鱼 技术背景 2 草鱼 1.4 草鱼 课 题工作内容 3 草鱼 第二章 草鱼 微处理器体系结构 4 草鱼 2.1 草鱼 CPU 的功能和构成 4 草鱼 2.2 草鱼 指令系统分析 5 草鱼 2.2.1 草鱼 RISC 草鱼 与总线结构 5 草鱼 2.2.2 草鱼 指令系统 7 草鱼 2.
7、3 草鱼 指令时序分析 8 草鱼 2.3.1 草鱼 RISC 与流水线 8 草鱼 2.3.2 草鱼 程序计数器与流水线 9 草鱼 2.4 草鱼 CPU 整体结构即设计思想 10 草鱼 2.4.1 草鱼 CPU 的外部引脚规划 10 草鱼 2.4.2 草鱼 CPU 的整体框图 10 草鱼 2.4.3 草鱼 CPU 结构的层次划分 11 草鱼 第三章 草鱼 CPU 数据通路设计 12 草鱼 3.1 草鱼 程序计数器模块 PC 13 草鱼 3.2 草鱼 程序存储器 PC_RAM 13 草鱼 3.3 草鱼 指令寄存器模块 14 草鱼 3.4 草鱼 时钟发生器模块 15 草鱼 3.5 草鱼 寄存器堆 T
8、RAM 15 草鱼 3.6 草鱼 ALU 模块 16 草鱼 第四章 草鱼 CPU 控制单元的设计 18 草鱼 4.1 草鱼 控制器 Control 模块 18 草鱼 4.2 草鱼 有限状态机 FSM 模块 19 草鱼 4.2.1 草鱼 有限状态机 19 草鱼 4.2.2 草鱼 利用的 VHDL 语言进行状态机描述 20 草鱼 第五章 草鱼 RISC 草鱼 CPU 的仿真验证 21 草鱼 5.1 草鱼 各模块的组合 21 草鱼 5.2 草鱼 综合 RTL 电路图 22 草鱼 5.3 草鱼 RISCCPU 的功能仿真验证 24 草鱼 5.3.1 草鱼 算术运算类指令验证 25 草鱼 5.3.2 草
9、鱼 逻 辑运算类指令验证 25 草鱼 5.3.3 草鱼 移位类指令验证 26 草鱼 5.3.4 草鱼 LD 数据输出指令仿真 26 草鱼 5.3.5 草鱼 ST 运算数据存储仿真 27 草鱼 目录 5.4 草鱼 总结 27 草鱼 第六章 草鱼 总结和展望 28 草鱼 参考文献 29 草鱼 致谢 错误 !未定义书签。 草鱼 附录 31 草鱼 山东大学威海分校毕业设计(论文) 1 第 1 章 草鱼 绪论 草鱼 1.1 草鱼 背景 草鱼 随着数字通信和工业控制领域的高速发展 , 鲤鱼 超大规模集成电路的集成度和工艺水平不断提高 , 鲤鱼 要求专用集成电路 (ASIC)的功能越来越强 , 鲤鱼 功耗越
10、来越低 , 鲤鱼 生产周期越来越短 , 鲤鱼 这些都对芯片设计提出了巨大的挑战 , 鲤鱼 传统的芯片设计方法已经不能适应复杂的应用需求了 , 鲤鱼 将整个应用电子系统集成在一个芯片中 (SOC), 鲤鱼 草鱼 已成为现代电子系统设计的趋势 。 草鱼 简单来说 , 鲤鱼 SOC 是一种将多个独立的 VLSI 设计拼合在一起 , 鲤鱼 来形成某一应用所需的全部功能的集成电路 , 鲤鱼 以其高集成度 、 pork低功耗等优点越来越受欢迎 1。 草鱼草鱼 中国的电子信息产业现在增长迅速 , 鲤鱼 主要集中在移动通信设备 、 pork数据通信设备 、 pork计算机及消费产品领域 。 草鱼 考虑到我国电
11、子信息市场的特殊性 , 鲤鱼 即巨大的移动通信和数字家电市场的核心芯片主要依赖进口的状况 。 草鱼 巨大的市场的需求决定了开发 SOC的必要性 , 鲤鱼 现在数字家电的片上系统研究己经成为研究的热点之一 。 草鱼 研究 SOC 的设计方法和验证方法具有很大的现实意义 2-3。草鱼 其中 CPU 是 SOC 的重要组成部分 , 鲤鱼 可以完成简单的数据处理 , 鲤鱼 内存的调度 , 鲤鱼 中断处理等操作 。 草鱼 随着百万门级的 FPGA芯片 、 pork功能复杂的 IP 核 、 pork可重构的嵌入式处理器核以及各种强大 EDA 的开发工具的迅 速发展 , 鲤鱼 使得设计者在 EDA 工具的帮
12、助下完成整个系统从行为算法级到物理结构级的全部设计 , 鲤鱼并最终将一个电子系统集成到一片 FPGA 中 , 鲤鱼 即 SOPC。 草鱼 可见 ,鲤鱼 SOPC 是基于 FPGA 解决方案的 SOC, 鲤鱼 是 SOC 发展的新阶段 。草鱼 草鱼 1.2 草鱼 微处理器的概况 草鱼 微处理器是计算机系统中非常之重要的核心组成部分 , 鲤鱼 它用来控制计算机的各种操作过程 , 鲤鱼 通常也被称为 CPU, 鲤鱼 即中央处理器 。 草鱼 随着科学技术的迅速发展 , 鲤鱼 微处理器的发展也是非常迅速 ,鲤鱼 它的处理能力已经由过去的 4 位发展到现在的 64 位 , 鲤鱼 运算能力和处理能力大大提高
13、 , 鲤鱼 应用领域也从计算机系统扩展到各个相关领域 , 鲤鱼 例如通信 、 pork航天和工业控制等 。 草鱼 通常 , 鲤鱼 微处理器按照处理能力可以划分为 4 位 、 p ork8 位 、 pork16 位 、 pork32 位和 64 位微处理器 , 鲤鱼 它的处理能力是逐步提高的 。 草鱼 但是 , 鲤鱼 在微控制器的发展过程中 , 鲤鱼 8 位机始终是嵌入式低端应用的主要机型 4。 草鱼草鱼 现今市场上流行的典型的 8 位微控制器 , 鲤鱼 可以在各种 FPGA 上实现 , 鲤鱼 设计灵活方便而且易于进行功能扩展 。 草鱼 因此研究 8位 CPU内核具有广泛的现实意义 ,由于其 具
14、有较高的处理性能和较山东大学威海分校毕业设计(论文) 2 少的资源占用 , 鲤鱼 故具有更加广泛的应用前景 。 草鱼草鱼 1.3 草鱼 课题研究方法及技术背景 草鱼 1.3.1 草鱼 研究方法 草鱼 本课题使用硬件描述语言 VHDL 采用自顶向下的设计方法设计一个满足要求的 8 位 CPU 内核及外部接口 , 鲤鱼 使 用 EDA 软件 QUARTUSII 软件完 成编码 、 pork仿真验证 。 草鱼 自顶向下的设计方法就是设计者首先从整体上规划整个系统的功能和性能 , 鲤鱼 然后利用功能分割手段对系统进行划分 , 鲤鱼 分解为规模较小 、 pork功能较简单的局部模块 , 鲤鱼 并确立它们
15、之间的相互关系 , 鲤鱼 将设计由 上至下进行层次化和模块化 , 鲤鱼 即分层次 、 pork分模块地对电子系统进行设计和仿真 。 草鱼 不难看出 , 鲤鱼 采用自顶向下的设计方法实际上就是基于芯片的系统设计方法 , 鲤鱼 这种方法有助于在设计早期发现结构设计中的错误 , 鲤鱼 提高设计成功率 。 草鱼草鱼 1.3.2 草鱼 技术背景 草鱼 草鱼 硬件描述语言 VHDL 草鱼 草鱼 如今 , 鲤鱼 大多数的 EDA 工具都采用 VHDL 作为主要的硬件描述语言 , 鲤鱼 这主要源于 VHDL 强大的自身功能和特点 ,下面介绍一下VHDL 的优点 。 草鱼 草鱼 具有强大的描述能力 草鱼 VHD
16、L 既可以描述系统级电路 , 鲤鱼 也 可以描述门电路 ; pork既可以采用行为描述 、 pork寄存器描述或者结构描述 , 鲤鱼 可以方便地建立电子系统模型 。 草鱼 草鱼 具有共享与复用能力 草鱼 VHDL 采用基于库的设计方法 , 鲤鱼 从而大大减少了工作量 , 鲤鱼缩短了开发周期 。 草鱼 草鱼 具有独立于器件和工艺设计的能力 草鱼 VHDL独立于器件的特点可以使设计人员集中精力来进行电子系统的设计和性能优化 , 鲤鱼 而不需要考虑其他问题 。 草鱼 草鱼 具有良好的可移植能力 。 草鱼 草鱼 VHDL 的可移植性源于它是一种标准化得硬件语言 , 鲤鱼 因此同一个设计描述可以被不同的
17、工具所支持 。 草鱼 草鱼 具有向 ASIC 移植的能力 。 草鱼 草鱼 CISC 指令集和 RISC 指令集 草鱼 CISC 是一种为了便于编程和提高内存访问效率的芯片设计体系 。 草鱼 早期的计算机使用汇编语言编程 , 鲤鱼 由于内存速度慢且价格昂贵 , 鲤鱼 使得 CISC 体系得到了用武之地 。 草鱼 它的设计目的是要用最少的机器语言指令来完成所需的计算任务 。 草鱼 后来 草鱼 功能需求越来越丰富 , 鲤鱼 因此越来越多的复杂指令被加入到指令系统中 ,山东大学威海分校毕业设计(论文) 3 鲤鱼 但是还必须保持着前向的兼容性 。 草鱼 内容的不断扩充和兼容性的考虑 , 鲤鱼 导致庞大的
18、 CISC 指令系统形成了 。 草鱼 在 20 世纪 90 年代中期之 前 , 鲤鱼 大多数的微处理器都采用 CISC 体系 包括 Intel的 80x86 和 Motorola 的 6sK 系列等 6。 草鱼 草鱼 CISC 草鱼 体系结构几乎没有考虑流水线的因素 , 鲤鱼 使得指令执行起来耗时而且寻址复杂 。 草鱼 1975 年 , 鲤鱼 IBM 的设计师提出了一种新的体系结构和指令集设计方案 , 鲤鱼 这就是 RISC 体系结构 。 草鱼 典型的RISC 处理器具有以下特点 : por k草鱼 指令功能简单 , 鲤鱼 各指令的复杂度分布均衡 , 鲤鱼 有利于形成流水线 ;p ork草鱼
19、控制电路简单 , 鲤鱼 多采用硬连线方式来实现 。 草鱼 因为不需要额外的存取微程序存储 器来完成指令的执行 , 鲤鱼 因此可以直接使用硬连线方式来设计 ; p ork草鱼 指令定长 , 鲤鱼 指令格式简单 , 鲤鱼 指令编码固定 。 草鱼 这样字段固定 , 鲤鱼使操作码得译码与操作数的存取可以同时执行 , 鲤鱼 使得控制单元的设计简单化 ; p ork草鱼 ALU 指令和访存指令分开 , 鲤鱼 并且访存种类很少 。 草鱼 草鱼 以寄存器对寄存器的运算为主 。 草鱼 寄存器对 寄存器的运算有助于减少对存储器的访问次数 , 鲤鱼 提高数据的存取速度 7-8。 草鱼 草鱼 1.4 草鱼 课题 工作
20、内容 草鱼 本文一共分为七章 。 草鱼 各章节内容安排如下 :草鱼 绪论 。 草鱼草鱼 微处理器 的体系结构 。 草鱼 研究了 CPU 的整体设计 , 鲤鱼 指令系统和时序分析以及流水线的实现 。 草鱼草鱼 CPU 数据通路设计 。 草鱼 详细介绍了通路模块中的程序计数器 、 pork指令寄存器 、 p ork程序存储器等的具体设计和功能实现 。 草鱼草鱼 CPU 控制单元的设计 。 草鱼 详细介绍了控制单元中的控制器和状态机的设计和功能实现 。 草鱼草鱼 CPU 的仿真验证 。 草鱼 验证 CPU 的部分功能 。 草鱼 草鱼 总结和展望 。 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草
21、鱼 草鱼 山东大学威海分校毕业设计(论文) 4 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 第二章 草鱼微处理器体系结构 草鱼 2.1 草鱼 CPU 的功能和构成 草鱼 CPU 是计算机的核心组成部分 。 草鱼 计算机进行信息处理可分为以下两个步骤 9。 草鱼 草鱼 将数据和程序(即指令序列)输入到计算机的存储器中 ; p ork草鱼 从第一条指令的地址开始执行该程序 , 鲤鱼 得到所需的结果 , 鲤鱼 结束运行 。 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 CPU 的作用是协调和控制计算机的各个部件 , 鲤鱼 并执行程序的指令序列 , 鲤鱼
22、 使其有条不紊的进行 , 鲤鱼 因此必须具备以下基本功能 :草鱼 取指令 : pork当程序已在存储器中时 , 鲤鱼 首先根据程序入口地址取出一条程序 , 鲤鱼 草鱼 为此要发出指令的地址及相关的控制信号 ;p ork草鱼 分析指令 : pork即指令译码 , 鲤鱼 既对当前所取的指令进行分析 , 鲤鱼 指出它要求什么 草鱼 操作 , 鲤鱼 并产生相应的操作所需要的控制命令 ;pork草鱼 执行指令 : pork根据分析指令时产生的“操作命令”形成相应的操作控制序列 , 鲤鱼 草鱼 通过运算器 、 pork存储器及输入输出的执行 , 鲤鱼 实现每条指令的功能 ,鲤鱼 其中包括对运算结果的处理及
23、下条指令地址的形成 。 草鱼 草鱼 将 CPU 的功能进一步细化 , 鲤鱼 可以概括如下 。 草鱼 草鱼 山东大学威海分校毕业设计(论文) 5 能对指令进行译码并执行规定动作 ; p ork草鱼 可以进行算术和逻辑运算 ; p ork草鱼 能与存储器和外设交换数据 ; p ork草鱼 提供整个系统所需的控制 。 草鱼 草鱼 尽管各种 CPU 的性能指标和结构细节各不相同 , 鲤鱼 但它们所能完成的基本功能相同 , 鲤鱼 简化 CPU 内部结构如图 2-1 所示 。 草鱼草鱼 草鱼 草鱼 图 2-1 草鱼 简化 CPU 内部结构 草鱼 2.2 草鱼 指令系统分析 草鱼 指令系统结构是微处理器体系
24、结构的一个重要部分 , 鲤鱼 是微处理器设计的基础 。 草鱼 指令格式 、 pork寻址方式和指令系统是指令系统结构的重要方面 。 草鱼 目前 主流 CPU 指令可以分为 RISC 和 CISC, 鲤鱼由上节介绍可知 , 鲤鱼 RISC 微处理器指令系统的指令种类少而经 ,鲤鱼 寻址方式简单 , 鲤鱼 指令格式固定 , 鲤鱼 所以本次设计采用 RISC 指令系统 草鱼 2.2.1 草鱼 RISC 草鱼 与总线结构 草鱼 早期的计算机一般都采用冯 .诺依曼 ( Von 草鱼 Neumann) 结构 , 鲤鱼CISC 架构的微处理器常采用这种结构 。 草鱼 它是在同一个存储空间取指令和数据 , 鲤鱼 采用单地址总线结构 , 鲤鱼 即程序存储器和数据存储器共用一条地址总线 , 鲤鱼 限制了工作带宽 , 鲤鱼 使得控制电路复杂 , 鲤鱼 功耗较大 10-11。 草鱼 结构见图 2-2 所示 : pork草鱼