毕业设计(论文)-MCS-51单片机CPU核的设计与仿真.doc
《毕业设计(论文)-MCS-51单片机CPU核的设计与仿真.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-MCS-51单片机CPU核的设计与仿真.doc(36页珍藏版)》请在三一文库上搜索。
1、浙 江 理 工 大 学 毕业论文(设计)诚信声明 我谨在此保证:本人所写的毕业论文(设计),凡引用他人的研 究成果均已在参考文献或注释中列出。论文(设计)主体均由本人独 立完成,没有抄袭、剽窃他人已经发表或未发表的研究成果行为。 如出现以上违反知识产权的情况,本人愿意承担相应的责任。 声明人(签名): 年 月 日 摘 要 MCS-51 单片机是在一块芯片中集成了 CPU、RAM、ROM、定时器/计数器和多功 能 I/O 等一台计算机所需要的基本功能部件,是业界广泛使用的单片机系列。基于 FPGA 平台的 8051 单片机 CPU 核与传统 MCS-51 单片机完全兼容,但速度约为传统单 片机的
2、 20 倍,且在 FPGA 内可轻松的集成许多高性能系统功能,这将使系统的设计 效率和系统性能获得极大的提高,这也是现代电子设计技术的发展方向。本课题用 硬件描述语言设计 MCS-51 CPU 核,从 CPU 的总体结构到局部功能的实现采用了自顶 向下的设计方法和模块化的设计思想,利用 FPGA,设计实现了八位 CPU 核。本设计 的 CPU 兼容 51 指令,在时钟频率和指令的执行效率指标上均优于传统的 MCS- 51CPU。本设计以硬件描述语言代码形式存在,可与任何综合库、工艺库以及 FPGA 结合开发出用户需要的固核和硬核,可读性好,易于扩展使用,易于升级,比较有 实用价值。本设计通过
3、FPGA 验证。 关键字:Verilog HDL; CPU; FPGA ABSTRACT MCS-51 MCU is a single chip integrated CPU, RAM, ROM, timer / counters and multi-function I / O such as a computers basic features required, is the industrys widely used microcontroller series. 8051 FPGA-based CPU platform with the traditional core is ful
4、ly compatible with MCS-51 microcontroller, but the speed is about 20 times that of traditional single chip, and the FPGA can be easily integrated within a number of high- performance system functions, which will enable the design of the system efficiency and system Be greatly improved performance, w
5、hich is the development of modern electronic design direction. The issue with the hardware description language design MCS-51 CPU core, from the CPU to the local function of the overall structure of the realization of using top-down design and modular design, the use of FPGA, design and implementati
6、on of the eight CPU cores. The CPU model in this paper can execute the MCS-51MCU assemble language instruction sets, and is better than the traditional MCS-51 MCU on both clock frequency and the execution efficiency of the instruction. This design was existed in a form of HDL source code,which can b
7、e reused in many SoC designsThis model can be read easily, updated easily and extended freely, so it has a practical value in SoC designThis design was implemented on FPGA. Keywords:Keywords: Verilog HDL ; CPU ; FPGA 目目 录录 摘 要 Abstract 第 1 章 绪论1 1.1 选题背景1 1.2 国内外发展及现状1 1.3 课题的主要内容2 第 2 章 CPU 的结构及设计4
8、 2.1 CPU 的简介4 2.2 CPU 的结构4 2.2.1 时钟发生器4 2.2.2 指令寄存器5 2.2.3 累加器6 2.2.4 算术运算器6 2.2.5 数据控制器7 2.2.6 地址多路器8 2.2.7 程序计数器8 2.2.8 状态控制器9 2.2.9 外围模块.11 第 3 章 CPU 的功能.13 3.1 CPU 的操作.13 3.1.1 系统的复位和启动操作13 3.1.2 总线读操作13 3.1.3 总线写操作13 3.2 CPU 的寻址方式和指令集 14 3.3 汇编14 第 4 章 CPU 的仿真和验证.16 4.1 CPU 模块的仿真 16 4.2 CPU 模块的
9、综合 18 4.3 CPU 模块的优化和优局布线 25 第 5 章 总结和展望.27 参考文献28 致 谢29 附 录30 浙江理工大学信息电子学院本科毕业论文(设计) - 1 - 第 1 章 绪论 1.1 选题背景 单片机自从被推出后开始迅速发展,应用领域也在不断扩大,现己成为微型计 算机的重要分支,单片机处理数据的能力在不断提高,速度也越来越快,长期以来被 广泛的应用在各领域。 同时随着集成电路和计算机技术的飞速发展,电子设计自动 化(EDA)以计算机的硬件和软件为基本的工作平台,已经发展成为可以代 替设计者 完成电子系统设计的重要工具。其中 FPGA 是一种新兴的可编程逻辑器件(PLD)
10、,与其 它可编程逻辑器件(PLD)相比,具有更高的密度、更快的工作速度和更大的编程灵活 性。FPGA 是一种新兴的可编程逻辑器件,可以取代现有的全部微机接口芯片,实现 微机系统中的存储器、地址译码等多种功能,具有更高的密度、更快的工作速度和 更大的编程灵活性,被广泛应用于各种电子类产品中。单片机具有性能价格比高、 功能灵活、易于人机对话、良好的数据处理能力特点;FPGA 则具有高速、高可靠以 及开发便捷、规范等优点。以此两类器件相结合的电路结构会有很多的发展空间。 基于 FPGA 的高密度、高速度、现场可编程的能力和单片机强大的数据处理功能 设计的 CPU 采用了与传统单片机不同的实现架构,利
11、用 FPGA 的边沿触发的特点,单 周期单指令,因而无论在时钟频率还是在汇编指令的执行效率上都明显优于传统的 MCS-51 单片机。这个设计的扩展接口控制器部分很好地扩充了传统单片机的功能, 而且由于具有 较好的可移植性,可以只利用扩展接口控制器部分实现对现有的单片 机进行升级,节约更换高性能 CPU 而带来的产品提升,达到适应新的要求。目前以 硬件描述语言所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。 1.2 国内外发展及现状 微控制器简称 MCU,又称单片机,是指将计算机的 CPU、RAM、ROM、定时计数 器和多种 IO
12、 接口集 成在一块芯片上,形成芯片级的计算机。单片机的出现的初 MCS-51 CPU 核的设计与仿真 - 2 - 衷是面向工业控制,目前它己经广泛应用于各个领域及各个行业。 1976 年 Intel 公司推出低档 8 位单片机 (MCS-48 系列)。在 1980 年 Intel 公司 推出了 比 MCS-48 系列性能更为优越的 8 位单片机 8051(MCS-51 系列)。1983 年 Intel 公司又推 出了 CMOS 型 80C51、16 位单片机 5096(MCS-96 系列)。众多公司先 后推出了 32 位单片机、 64 位单片机。尽管单片机的设计技术在不断的发展,处理 能力越来
13、越强,从 4 位到 8 位,再到 16 位、32 位,甚至出现了 64 位,但有一个现 象却十分有趣,8 位单片机在经历了 三十多年之后,依然显示出强大而旺盛的生命 力,其市场占有率一直高居榜首。与从 8 位机迅速向 16 位、32 位、64 位过渡的通 用计算机相比,8 位微控制器从 20 世纪 70 年代初期诞生至今,虽历经从单片微型 计算机到微控制器、单片机和 SoC 的变迁, 8 位机始终是嵌入式低端应用的主要机 型,而且在未来相当长的时间里,仍会保持这个势头。这是因为嵌入式系统和通用 计算机系统有完全不同的应用特性,从而走向完全不同的技术发展道路。在 8 位单 片机能基本满足其响应速
14、度要求后,数据宽度不是技术发展的主要矛盾。因此 8 位 微控制器会稳定下来,其技术发展方向转为最大限度地满足对象的采集、控制、可 靠性和低功耗等品质要求。鉴于嵌入式低端应用对象的有限响应要求,嵌入式系统 低端应用的巨大市场及 8 位机具有的速度潜力,可以预计在未来相当长的时间内, 8 位机仍然是嵌入式应用中的主流机型。 现今市场上流行的典型的 8 位微控制器,与传统的 8 位单片机相比,大多数 是由 VerilogHDL 实现的软处理器 IP Core,可以在各种 FPGA 上实现,设计灵活方 便而且易于进行功能扩展。因此,这些单片机将在基于可编程逻辑的应用领域中发 挥积极的作用。各大单片机厂
15、家都推出了自己的 8 位单片机内核,如飞思卡尔的 RS08 内核、NEC 的 78K0、Actel 的 Corc8051、Mkcrochip 的 PIC 内核等。因此研究 8 位单片机内核具有广泛的现实意义。由于其具有较高的处理性能和较少的资源占 用,故具有更加广泛的应用前景。 13 课题的工作内容 本次毕业设计主要是对 MCS-51 单片机 进行研究。用硬件描述语言设计 MCS- 51 CPU 核,对于 CPU 核的结构进行深入了解和认知,讨论并设计 CPU 的运算逻辑单 浙江理工大学信息电子学院本科毕业论文(设计) - 3 - 元、取址模块、译码执行模块,确定正确的方案。对于硬件描述语言和
16、相关仿真软 件进行讨论确定,并调试代码,仿真通过。以 MCS-51 系列单片机的指令集为蓝本, 利用原理框图和硬件描述语言的输入方式完成实现了处理器的各种功能。在 ASIC 或者 FPGA 上进行测试,完成所需要的逻辑功能。课题工作内容如下,共分为以下 几步: (1)确定 CPU 的总体结构,划分与定义各个层次模块的结构和功能。根据设计 的需要设计 CPU 体系架构形式,并选取与 MCS-51 兼容的指令集作为设计的指令集。 (2)研究 MCS-51CPU 的硬件架构及所有指令的工作过程,深入理解工作 原理和 设计方法,完成各个层次模块功能的划分与定义。 (3)使用硬件描述语言对 CPU 核进
17、行具体的描述,书写代码。 (4) 调试代码,仿真通过。搭建测试平台,对设计完成的 CPU 进行完备的功能 测试。 (5) 对通过功能测试的进行优化、布局布线,进行硬件验证。 MCS-51 CPU 核的设计与仿真 - 4 - 第 2 章 CPU 的结构及设计 2.1 CPU 的简介 CPU 是一个复杂的数字逻辑电路,包含八个基本部件: 1) 时钟发生器 2) 指令寄存器 3) 累加器 4) 算术逻辑运算单元 5) 数据控制器 6) 状态控制器 7) 程序计数器 8) 地址多路器 各部件的具体结构和逻辑关系在下面的小节里逐一进行介绍。 2.2 CPU 的结构 2.2.1 时钟发生器 图图 2-12
18、-1 时钟发生器时钟发生器 时钟发生器 clkgen (如图 2-1 所示)利用外来时钟信号 clk 来生成一系列 时钟信号 clk1、fetch、alu_clk 送往 CPU 的其他部件。其中 fetch 是外来时钟 clk 的八分频信号。利用 fetch 的上升沿来触发 CPU 控制器开始执行一条指令,同 时 fetch 信号还将控制地址多路器输出指令地址和数据地址。clk1 信号用作指令寄 存器、累加器、状态控制器的时钟信号。alu_clk 则用于触发算术逻辑运算单元。 时钟发生器 clkgen 的波形见下图 2-2 所示: 浙江理工大学信息电子学院本科毕业论文(设计) - 5 - 其
19、Verilog HDL 程序见下面的模块: 2.2.2 指令寄存器 图图 2 2- -3 3 指指令令寄寄存存器器 指令寄存器如图 2-3 所示,主要用于寄存指令。 指令寄存器的触发时钟是 clk1,在 clk1 的正沿触发下,寄存器将数据总线送 来的指令存入高 8 位或低 8 位寄存器中。但并不是每个 clk1 的上升沿都寄存数据总 线的数据,因为数据总线上有时传输指令,有时传输数据。什么时候寄存,什么时 候不寄存由 CPU 状态控制器的 load_ir 信号控制。load_ir 信号通过 ena 口输入到 DATA7:0 RST ENA CLK1 opc_iraddrs15:0 REGIS
20、TER INSTRUCTION REGISTER DATA7:0 LOAD_IR CLK1 RESET OPCODE2:0 IR_ADDR12:0 clk clk1 clk2 clk4 fetch alu_clk 图图 2 2- -2 2 时时钟钟发发生生器器 c cl lk kg ge en n 的的波波形形 MCS-51 CPU 核的设计与仿真 - 6 - 指令寄存器。复位后,指令寄存器被清为零。 每条指令为 2 个字节,即 16 位。高 3 位是操作码,低 13 位是地址。 (CPU 的地 址总线为 13 位,寻址空间为 8K 字节。 )本设计的数据总线为 8 位,所以每条指令需 取两次
21、。先取高 8 位,后取低 8 位。而当前取的是高 8 位还是低 8 位,由变量 state 记录。state 为零表示取的高 8 位,存入高 8 位寄存器,同时将变量 state 置 为 1。下次再寄存时,由于 state 为 1,可知取的是低 8 位,存入低 8 位寄存器中。 2.2.3 累加器 图图 2-42-4 累加器累加器 累加器如图 2-4 所示,用于存放当前的结果,它也是双目运算其中一个数据来 源。复位后,累加器的值是零。当累加器通过 ena 口收到来自 CPU 状态控制器 load_acc 信号时,在 clk1 时钟正跳沿时就收到来自于数据总线的数据。 2.2.4 算术运算器 D
22、ATA7:0 RST ENA CLK1 ACCUM7:0 ACCUMULATOR ACCUMULATOR ALU_OUT7:0 LOAD_ACC CLK1 RST ACCUM7:0 DATA7:0 ACCUM7:0 ALU_CLOCK OPCODE2:0 ZERO ALU_OUT7:0 ALU DATA7:0 ACCUM7:0 ZERO ALU_OUT7:0 ALU_CLOCKOPCODE2:0 浙江理工大学信息电子学院本科毕业论文(设计) - 7 - 图图 2-52-5 算术运算器算术运算器 算术逻辑运算单元(如图 2-5 所示) 根据输入的 8 种不同操作码分别实现相 应的加、与、异或、跳
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 MCS 51 单片机 CPU 设计 仿真
链接地址:https://www.31doc.com/p-3948869.html