EDA技术的MCSIP核设计方案及其研究扩展_第1页
EDA技术的MCSIP核设计方案及其研究扩展_第2页
免费预览已结束,剩余22页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河北经贸大学经济管理学院毕业论文基于EDA技术的MCS-51IP核设计及其研究扩展专业名称:电子信息工程班级:C C 电子 08-108-1 班学生姓名:窦建杰指导教师:王琳丽完成时间:20122012 年 5 5 月摘要伴随着微 电子技术的 进步,集成电路设计正在不断 地向超大规 模、极低功耗和超高速的方向发展,电子设计自动化(EDA)技术逐渐成为重要的电子设计方法,己广泛应用于模拟与数字电路系统设计等许 多领域。本论文主要进行了基于EDA 技术的 MCS 51IP 核设计及其扩展研究,应用 EDA 技术设计实现基于 MCS 51 的单片机 IP 核,在此基 础之上, 提出了一种基于 MCS

2、-51 的可扩展多功能单片机 IP 核。 主要包 含下列内容:首先介绍了 EDA 技术的概念、特点、应用形式及其设计方法,对 设计所用的语言、实现载体、设计工具进行了展开。其次,采用 VHDL 语言,设计实现了 MCS 51 单片机 IP 软核。同 时,以 Altera 公司 FPGA 为载体,验证了各部分功能。在设计中,对 MCS-51 做了部分功能的改进和优化。最后,本文针对 FPGA 的可重构性及 IP 软核的可修改性,提出对 MCS-51单片机 IP 核迸行扩展,实现可扩展多功能单片机IP 核的设想,即根据系统功能与需求增减MCS 51 软核指令集和外围设备,以实现硬件结构与系统功能最

3、佳匹配、硬件结构与工程应用要求最佳匹配的 可编程片上系统。关键词 EDA ; IP 核;MCS 51 ;可扩展AbstractWith the developme nt of microelectr onics tech no logy , the desig n of ICis ceaselessly develop ing in the direct ion of extralarge , ultra low powercon sumpfio n and super-high speed. Electro nic Desig n a Automation( EDA)tech no logy

4、 has become all important electronic design method . And ithas been widely used in analog circuits design , digital circuits design and manyother fields . In this dissertation . a MCS . 51 IP core has been designed basedon EDA tech no logy,furthermore . a research of the exte nsion of the MCS-51IP h

5、as been made . Specifically, four computer in terface con troller IP coresand one SCM IP core are desig ned based on EDA tech no logy, on this basis ,an expa nsible , multif un cti onal SCM IP core is presented . This paper mainlyincludes following content.Firstly,the paper introduces the concept ,

6、characteristics , applicationsand design techniques of EDA . Design Ianguage . FPGA and IDE which aleused in this paper are respectively in troduced .Sec on dly,i n Quartus II 6.0 IDE fourin terfacecon trollercores. Which are designed using VHDL . Further , a MCS-51 IP core isdesigned . At the same

7、time , some functions have been validated on theFPGA . Some improvement and optimization are made in the design ofinterface con troller IP core and MCS-51 IP core .Fin ally , accord ing to rec on figurablen ature of FPGA andmodifiable nature of IP , this dissertation presents a thought of making amu

8、ltiple MCS-5 1 IP core . in which instructions and peripherals can be addedeasily to this core through sta ndard in terfaces.Keywords EDA ; IP core ; MCS-51 ;expansible目录1绪论 11.1 研究背景与意义 11.2 本文主要研究内容 错误!未定义书签。2 EDA 技术概述 22.1 EDA 技术简介 32.1.1 EDA 技术的概念及其特点32.1.2 基于 EDA 技术的设计方法 32.2 硬件描述语言 52.3 FPGA/C

9、PLD 52.4 IP 核 62.5 设计工具一 Quartus II 72.6 小结 83MCS-51 IP 核的设计与实现 83.1 MCS-51 系列单片机的内部结构83.2 CPU 时序的概念及 8051 的指令系统 103.2.1 CPU 时序 103.2.2 指令系统 103.3 8051IP 核的设计 113.3.1 算术逻辑模块 ALU 的设计与实现 123.3.2 控制单元 133.3.3 定时/计数器单元153.3.4 串行通信单元 163.4 MCS-51 IP 核的扩展 174 结论 17致谢 18参考文献19基于 EDA 技术的 MCS-51IP 核设计及其研究扩展1

10、 绪论1.1 研究背景与意义现代电子产品正在以前所未有的革新速度向着功能多样化、体积 最小化、功耗最低化迅速发展。它与传统电子产品设计的显著区别之 一就是大量使用大规模可编程逻辑器件,以提高产品性能、缩小产品 体积、降低产品消耗;区别之二就是广泛运用现代计算机技术,提高 电子设计自动化程度,缩短开发周期,提高产品的竞争力。EDA 技术正是为了适应现代电子产品设计的要求,吸收多学科最新成果而形成 的一门新技术。所谓 EDA 技术,实际上是以 EDA 软件为开发环境,以 硬件描述语言为设计语言,以可编程器件为实验载体,以ASIC、SOC芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计

11、过程。IP 核也就是知识产权核在EDA 技术开发中具有十分重要的地位。IP 技术是针对可复用的设计而言的,其本质特征是功能模块的可复用 性。通常把IP 核分为软 IP(软核,Soft Core)、硬 IP(硬核,Hard Core)和 固 IP(固核,Firm Core)。在具体实现手段和工艺技术尚未确定的逻辑 设计阶段,软核具有最大的灵活性,它可方便地借助EDA 综合工具与其它外部逻辑结合成为一体。单片机自 20 世纪 70 年代出现以来,被广泛地应用于科研、生产、 生活及其他各个领域。MCS-51 单片机易于学习、掌握,性能价格比高以及以 MCS-51 单片机基本内核为核心的各种扩展型、增

12、强型的单片机 不断推出。因此对 MCS-51 单片机的 IP 核的设计,无论是对于一家微电 子设计公司和设计人员的技术积累,掌握真实的设计经验,还是列于 一个国家知识产权模块库的储备都具有重要意义。1.2 本文主要研究内容先设计实现了 MCS-51 单片机 IP 核,最后提出对单片机 IP 核进行扩 展的设想。由于 MCS-51 单片机本身具有较强的接口能力,有时为了构成功能更强、规模更大的应用系统,就需要进行I/O 口线接口电路的扩展设计。Intel 公司的 80/85 系列接 1 : 3 电路都可直接与 MCS-51 接 1:1。扩展后的的系统实际上就是以MCS-51 为内核,可连接多种功

13、能模块的处理器系统。全文的组织结构如下:在第一章中, 介绍了本文的研究背景、 意义和主要完成的工作。在第二章对 EDA技术进行了概述,包括EDA 技术的概念和特点、设计方法,设计语言、实现载体、IP 核的概念以及设计工具等。在第三章介绍了 MCS-51 IP 核的设计与实现。 这一部分中, 在深入研 究 MCS-51体系结构、指令系统及 IP 核设计方法的基础上,按照 EDA 技 术自顶向下的设计方法,首先将 MCS-51 IP 核的系统结构划分为算术逻 辑单元 ALU、控制单元、定时/计数器单元和串行通信单元四个功能 模块,然后采用硬件描述语言与EDA 工具软件分别对它们进行设计与实现,最后

14、将它们组合起来,形成完整的MCS 51 IP 核,达到设计实现基于 MCS-51 的单片机 IP 核的目标。最后提出扩展此 IP 核的设想。在第四章中对本文所做工作进行了总结与展望。2 EDA 技术概述20 世纪末,电子设计技术获得了飞速的发展,在其推动下,现代 电子产品几乎渗透到社会的各个领域,有力的推动了社会生产力的发 展和社会信息化程度的提高,同时也使现代电子产品性能进一步提 高,产品更新换代的节奏也变得越来越快。集成电路设计正在不断地 向超大规模、极低功耗和超高速的方向发展,专用集成电路ASIC 的设计成本不断降低,在功能上,现代的集成电路已能够实现单片电子系 统,即 SOC。因此,设

15、计与制造集成电路的任务变得越来越繁杂,工 作量极其巨大,已不可能完全使用传统的电子设计方法来完成。而且 从电子工程师的开发需求出发,他们更愿意自己设计专用集成电路 ASIC 芯片, 同时也希望 ASIC 的设计周期尽可能短,最好是在实验室里 就能设计出合适的 ASIC 芯片,并且能立即投入实际应用之中,因而出 现了现场可编程逻辑器件。同时,计算机技术的普及与发展也加速了 电子设计自动化技术 EDA 的发展。这样,在现代电子系统设计领域中 引入了具有划时代意义的EDA 技术。现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA 技术。下面先简单介绍一下 EDA 技术。2.1

16、EDA 技术简介2.1.1 EDA 技术的概念及其特点EDA 技术就是依赖功能强大的计算机,在EDA 工具软件平台上,对以硬件描述语言 HDL 为系统逻辑描述手段完成的设计文件,自动地 完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测 试,直至实现既定的电子线路系统功能。EDA 技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA 软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨大进步。EDA 技术在硬件实现方面融合了大规模集成电路制造技术、IC 版图设计、ASIC 测试和封装、FPGA / CPLD 编程下载和自动测试等技术;在计算机辅助 工程方面融合了计

17、算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)、 计算机辅助工程(CAE)技术以及多种计算机语言 的设计概念:而在现代电子学方面则容纳了更多的内容,如电子线路 设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术 理论等。EDA 技术的特点有:1 用软件的方式设计硬件:2 软件方式设计的系统到硬件系统的转换是由有关的开发软件自动 完成的;3 采用自顶向下的设计方法;4 设计过程中可用有关软件进行各种仿真;5系统可现场编程,在线升级;6.整个系统可集成在一块芯片上,体积小、功耗低、可靠性高。 这就为 EDA 技术表达与实现现代电子理论和设计提供了可能性。2.1

18、.2 基于 EDA 技术的设计方法基于 EDA 技术的设计方法属于现代电子设计的范畴,与传统的设 计方法不同。SOC 代表了当今电子设计技术的发展方向,它的基本特 征是:设计人员按照自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合 器和适配器生成最终的目标器件。这样的设计方法被称为高层次的电 子设计方法,也称为系统级的设计。它提供了一种自顶向下”(TopDown)的全新的 概念驱动式”设计方法,该方法首先从系统设计入手, 在顶层进行功能方框图的划分和结构设计,无需通过门

19、级原理图描述 电路。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的 系统行为进行描述,在系统一级进行验证。然后用综合优化工具生成 具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集 成电路。详细步骤如下:1 按照 自顶向下”的设计方法进行系统划分。2 设计输入。其中,可以采用I-IDL 代码输入。这是高层次设计中最为普遍的输入方式;此外,还可以采用图形输入方式,如原理图、波 形图等,这种输入方式具有直观、容易理解的优点。3 将以上的设计输入编译成标准的HDL 文件。对于大型设计,还要进行代码级的功能仿真,主要是检查系统功能设计的正确性。因为对于大型设计,综合、适配要花费数小时

20、。4 利用综合器对 HDL 源代码进行综合优化处理,生成门级描述的网 表文件,这是将高层次描述转化为硬件电路的关键步骤。5 利用适配器将综合后的网表文件针对某一具体的目标器件进行逻 辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。 适配完成后,产生多项设计结果:1适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况 等。2适配后的仿真模型。3器件编程/下载文件。根据适配后的仿真模型,可以进行适配后的时序仿真,因为已经得到器件的实际硬件特性(如延时特性),所以仿真结果能比较精确地预测未来芯片的实际性能。如果仿真结果达不到设 计要求,就需要修改 HDL 源代码或选择不同速度品质的

21、器件,直至满 足设计要求。6 将适配器产生的器件编程/下载文件通过编程器或下载电缆载入到目标芯片 FPGA 或 CPLD 中由于在本文的设计中,使用的是VHDL 语言进行电路设计,使用FPGA /CPLD 作为设计的实现载体,因而在下面的小节中分别加以介 绍。2.2 硬件描述语言硬件描述语言是用文本形式来描述数字电路的内部结构和信号连 接关系的一类语言,类似于一般的计算机高级语言的语言形式和结构 形式。设计者可以利用HDL 描述设计的电路,然后利用EDA 工具进行综合和仿真,最后形成目标文件,再用ASIC 或 PLD 等器件实现。当前使用最广泛的是 VHDL 语言和 Verilog HDL 语

22、言。VHDL 语言具有很强的电路描述和建模能力,能从多个层次对数 字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计 效率和可靠性。同时,VHDL 具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在 语言易读性和层次化、结构化设计方面,表现了强大的生命力和应用 潜力。因此,VHDL 在支持各种模式的设计方法,如自顶向下与自底 向上或混合方法方面,以及在面对当今许多电子产品生命周期的缩 短,需要多次重新设计以融入最新技术、改变工艺等方面都表现出了 良好的适应性。用 VHDL 进行电子系统设计的一个很大的优点是设计 者可以专心致力于其功能的实现

23、,而不需要对不影响功能的与工艺有 关的因素花费过多的时间和精力。2.3 FPGA/CPLDFPGA 现场可编程门阵列与 CPLD 复杂可编程逻辑器件都是可编程 逻辑器件,它们是在 PAL,GAL 等逻辑器件的基础之上发展起来的。 同以往的 PAL,GAL 等相比较, FPGA / CPLD 的规模比较大, 它可以 替代几十甚至几千块通用 IC芯片。这样的 FPGA /CPLD 实际上就是一 个子系统部件。这种芯片受到世界范围内电子工程设计人员的广泛关 注和普遍欢迎。经过了十几年的发展,许多公司都开发出了多种可编程逻辑器件。当代 FPGA /CPLD 有以下特点;1 规模越来越大。随着 VLSI

24、 工艺的不断提高,单一芯片内部可以容 纳上百万个晶体管,FPGA /CPLD 芯片的规模也越来越大。2 开发过程投资小。FPGA/ CPLD 设计灵活,发现错误时可直接更改设计,减少了投入风险,节省了许多潜在的花费。3.FPGA /CPLD 一般可以反复地编程、擦除。在不改变外围电路的 情况下,设计不同片内逻辑就能实现不同的电路功能。4.保密性能好。在某些场合下,根据要求选用防止反向技术 CFPG/CPLD,能很好地保护系统的安全性和设计者的知识产权。5.FPGA/CPLD 开发工具智能化,功能强大。现在, FPGA /CPLD 开发工具种类繁多,智能化高、功能强大。应用各种工具可以完成从输入

25、、综合、实现到配置芯片等一系列功能。2.4IP 核IP 就是知识产权核或知识产权模块的意思,在EDA 技术和开发中具有十分重要的地位。IP 设计技术是一种集成电路设计技术,是一种以电路模块知识产权使用为核心的电子系统设计。IP 技术中把不同功能的电路模块叫做IP,这些口都是经过实际制作并证明是正确的。在 EDA 设计工具中把这些口组织在一个IP 元件库中,供用户使用。设计电子系统时,用户需要知道IP 模块的功能和技术性能,通过把不同的 IP 模块镶嵌在一个硅片上,形成完整的应用系统。美国著名的 Dataquest 咨询公司将半导体产业的 IP 定义为用于 ASIC 或FPGA /CPLD中的预

26、先设计好的电路功能模块。IP可以分为软IP、固IP和硬IP三大类。软 IP,是用 VHDL 等硬件描述语言描述的功能块,但是并不涉及用 什么具体电路元件实现这些功能。软IP 通常是以硬件描述语言 HDL 源文件的形式出现,应用开发过程与普通的HDL 设计也十分相似,只是所需的开发软硬件环境比较昂贵。软IP 的设计周期短,设计投入少。软 IP 的弱点是在一定程度上使后续工序无法适应整体设计,从而需要 一定程度的软口修正,在性能上也不可能获得全面的优化。固 IP,是完成了综合的功能块。电子设计领域的4 综合”即:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配而成的过程。固

27、IP 有较大的设计深度,以网表文件的形式提交客户使用。如果客户与固IP 使用同一个 IC 生产线的单元库,IP 应用的成功率会高得多。硬 IP 提供设计的最终阶段产品是掩模。随着设计深度的提高,后 续工序所需要做的事情就越少,当然,灵活性也就越小。由于通信系 统越来越复杂,CPLD 的设计也更加庞大,这增加了市场对IP 核的需求。各大 FPGA /CPLD 厂家继续开发新的商品讲,并且开始提供硬件”印,即将一些功能在出厂时就固化在芯片中。由此可见,三种 IP 核各有优缺点,具体设计什么样的IP 核,要根据 IP 核应用的范围和实现的功能等方面来决定。从国外的IP 核设计和使用情况看,IP 核在

28、 ASIC 和现场可编程门阵列(FPGA)中使用较多。2.5 设计工具一 Quartus IIQuartus II 是 Altera 提供的 FPGA / CPLD 开发集成环境,Altera 是世界最大的可编程逻辑器件供应商之一。Quartus II 在 21 世纪初推出,是 Altera 前一代 FPGA /CPLD 集成开发环境 MAX+plus II 的更新换代产 品,其界面友好,使用便捷。在Quartus II 上可以完成基于 EDA 技术的整个开发流程,它提供了一种与结构无关的设计环境,使设计者能方 便地进行设计输入、快速处理和器件编程。Altera 的 Quartus II 提供

29、了完整的多平台设计环境,能满足各种特 定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC 开发的基本设计工具,并为Altera DSP 开发包进行系统模型设计提供了集成综合环境。Quartus II 包括模块化的编译器。编译器包括的功能模块有分析/ 综合器)、适配器、装配器、时序分析器、设计辅助模块、EDA 网表文件生成器、编辑数据接口等。可以通过选择Start Compilation 来运行所有的编译器模块,也可以通过选择Start 单独运行各个模块。还可以通过选择 Compiler Tool(Tools 菜单),在 Compiler Tool 窗口中运行该模块 来启动

30、编译器模块。在 Compiler Tool 窗口中,可以打开该模块的设置 文件或报告文件,或打开其他相关窗口。Quartus II 编译器支持的硬件描述 语言有 VHDL(支持 VHDL87VHDL97 标准)、Verilog HDL 及 AHDL(Altera HDL)。Quartus II 支持 层次化设计, 可以在一个新的编辑输入环境中对使用不同输入设计方 式完成的模块(元件)进行调用,从而解决了原理图与HDL 混合输入设计的问题。在设计输入之后,Quartus II 的编译器将给出设计输入的错误报告。2.6 小结本章首先介绍了有关 EDA 技术的知识,包括 EDA 技术的概念、特 点、

31、应用形式、设计方法等。然后对于本文所用到的设计语言、工具 以及实现载体也分别做了介绍。为在后续章节中,进行应用层面的讨 论与研究打下基础。3 MCS-51 IP 核的设计与实现MCS 一 51 系列单片机是继 MCS-48 系列之后推 出的 8 位高档单片 机。与MCS-48 单片机相比,它的结构更先进,功能更强,在原来的基 础上增加了更多的电路单元和指令。MCS-51 单片机可以算是相当成功的产品,一直到现在,MCS-51 系列及其兼容的单片机仍是应用的主流产品,也是我国日前应用最广的一种单片机系列。8051 是 MCS-51 系列单片机的最初产品,也是 MCS-51 系列器件的核心。本章就

32、是以8051 为器件原型,具体分析它的结构与工作原理,然后利用VHDL 语言设计以 8051 为内核的 IP 软核,并在 Quartus II 6.0 环境下对其进行仿真与实 现。3.1 MCS-51 系列单片机的内部结构8051 单片机的内部功能图如图 3.1,其各功能部件主要包括中央处 理器、存储器、I/O 电路、全双工串行口、定时肘数器和中断系统6 个单元,它们都由内部总线紧密连在一起。下面我们分别加以说明:图 3.1 单片机的内部功能图1 中央处理器(CPU)中央处理器是整个单片机的核心部件,由算术逻辑单元、控制逻 辑、专用寄存器组三部分组成,数据宽度是8 位,能处理 8 位二进制数据

33、或代码。CPU 负责控制、指挥和调度整个单元系统协调的工作,完 成运算和控制输入输出功能等操作。2 存储器程序存储器(ROM):用于存放用户程序,原始数据或表格。数据 存储器(RAM) : 8051 有数据存储单元和专用寄存器单元, 专用寄存器 只存控制指令数据,不存用户数据,用户只能访问。故用户可用RAM存读写数据、运算中间结果,用户定义的字型表。3 并行输入输(I / O) 口8051 共有 4 组 8 位 I / 0 口(PO、P1、P2 或 P3),用于对外部数据的传 输。所有 4 个端口都是双向口,每个端口都包含一个锁存嚣,一个输出 驱动器和输入缓冲器。4 全双工串行口8051 内置

34、一个全双工串行通信口,用于与其它设备间的串行数据 传送,该串行口既可作异步通信收发器,亦可作同步移位器。通过设 置串行口控制寄存器SCON 决定串口的 4 种工作模式。5.定时/计数器8051 有两个 16 位的可编程定时崩傲器,以实现定时或计数,产生中断用于控制程序转向。通过设置控制寄存器TMOD 来决定定时/计数器如何工作。定时/计数器可以计算输入端发生的逻辑变化,也可 以作为 16 位计数器在每一机器周期计数。6.中断系统8051 具备较完善的中断功能,有两个外中断、两个定时/计数器 中断和一个串行中断,可满足不同的控制要求,并具有2 级优先级别选择。3.2CPU 时序的概念及 8051

35、 的指令系统3.2.1CPU 时序CPU 执行一条指令的时间称为指令周期。指令周期是以机器周期 为单位的。MCS 51 典型的指令周期为一个机器周期。MCS-51 单片机规定:一个机器周期包括6 个状态 S1-S6,每个状态又分两部分:相位l(PI)、相位 2(P2),即每个状态包括 2 个振荡周期。因此,有下式成 立;1 个机器周期=6 个状态=12 个振荡周期这样,一个机器周期包括编号为SIPI(状态 l,相位 1)到 S6P2(状态 6,相位 2)共 12 个振荡周期。在每个机器周期,ALE 信号两次有效,一次发生在 S1P2 到 S2PI 期间,一次发生在 S4P2 到 S6PI 期间

36、。8051 的指令有单字节, 双字节和三字节的, 所以它们所需指令周 期不尽相同,可能包括一到四个不等的机器周期。但是在本文所设计 的 8051 IP 核中,并没有采用机器周期的概念,而是使用时钟周期来代 替机器周期,将各条指令均设计在l 到 4 个时钟周期内完成,以使所设计的 IP0 核在一个时钟周期内所要完成的任务和原有8051 单片机中一个机器周期所要完成的任务基本一致。采用这种设计方法,缩短了指令 的执行时间,加快了单片机的运行速度,实现了对原8051 性能的优化3.2.2 指令系统MCS-51 指令系统是一种筒明、易掌握、功能强的指令系统,共有 111 条指令,其中单字节指令49 条

37、,双字节指令 45 条,三字节指令 17 条。按照指令实现的功能可以划分为五类,分别是:数据传送类指令(29):实现各特殊寄存器、RAM 存储单元之间的数据传送。这类指令主要涉及寄存器、RAM 读/写,数据总线和地址总线的控制。另外由于 8051 提供位操作指令,因此在硬件上需要设计 特殊的硬件逻辑以支持这类操作。算术运算类指令(24)与逻辑运算类指令(24),实现加、减、乘、 除、与、或、取反、异或、二到十进制数据转换的操作。这类指令主 要在 ALU 部分实现。控制转移类指令(17):实现程序的跳转、调用、(中断)返回。操作 主要涉及程序计数器的调整,给ROM 提供正确的指令地址。返回和中断

38、返回指令 RET,RETI 指令涉及堆栈指针 SP 的操作。布尔处理(位处理)类指令(17):实现位的逻辑运算、传送以及判位 跳转基于这 I11 条指令,MCS-51 单片机有 7 种寻址方式,分别是立即 寻址、直接寻址,寄存器寻址、寄存器间接寻址、基址寄存器加变址 寄存器的间接寻址、相对寻址和位寻址。表3.1 是对 MCS-51 单片机的寻址方法以及相应寻址空间的简单概括。表 3.1 寻址方式与相应的寻址空间方式利用的变量使用的空间寄存器R0 R7,A, B, CY,DPTR片内直接寻址direct片内 RAM 低 128 字节特殊功能寄存器寄存器间址R0,R1,SP片内 RAMR0,R1,

39、DPTR片外 RAM 与 1 / O 口立即数#data程序存储器基址加变址A+PC A+DPTR程序存储器相对寻址PC+rel程序存储器位寻址bit片内 RAM 的 20H 2FH 部分SFR3.3 8051IP 核的设计参照以上对 8051 的内部结构、外部特性以及工作原理的介绍与分 析,运用EDA 的自顶向下的设计方法,设计一个基于8051 的 IP 软核 本文所设计的 8051IP 核的功能及指令都与传统的 MCS-51 单片机兼容, 并且对 8051的部分功能和技术指标进行了改进与优化,以下是本文所 设计 8051 IP 核的 9 大主要特性:1 全同步设计。整个系统都是在单一工作时

40、钟的协调下工作的。2 指令系统与工业标准的 8051 微控制器兼容。3 优化的 CPU 时序使得完成一条指令最多只需4 个时钟周期。在指令时序上,设计中尽量减少指令执行所需的时钟周期,提高微处理器的运行效率。4,通过附加特殊功能寄存器,使定时/计数器和串行接口单元可 选。由于采用模块化的设计方法,因此,有些功能模块是可选的。只 需改变 VHDL 设计中的某些参数即可完成对可选单元的增减。5 可选择执行乘法指令(MUL)和除法指令(DIV)。6. 可选择执行十迸制调整指令(DA)o在一些情况下,不实现那些并不需要而且会占用更多的芯片资源的指令是有意义的。这样的指令有 8 位乘法指令、8 位除法指

41、令、8 位十进制调整指令。7. 没有复用的 I/O 端口。考虑到设计的复杂性,本设计中没有复 用的 I/O 端口。8. 通过调整或者修改 VHDL 源代码可以容易的对其进行扩展。9 .通过 VHDL 中的常量实现了参数化。设计中的数据宽度、定时 /计数器和串行口的个数都采用了参数化设计,因此,很容易扩展设 计。原始的微控制器设计只提供2 个定时,计数单元,1 个串行接口和两个外部中断源.而本设计会提供更多的这些资源,它可以产生256 个这种单元,只需稍微修改一下VHDL 中的常量值。按照自顶向下的设计方法,首先,我们把要设计的8051IP 核划分成几个功能模块,然后分别对几个功能模块进行设计。

42、我们将整个 系统划分成算术逻辑模块 ALU、控制模块、定时,计数模块、串行通 信模块四个功能模块,而 RAM 和 ROM 在 Quartus II 6.0 中都有参数化的 宏功能模块,因此在使用时,根据需要进行定制即可。下面将分别介 绍它们的功能和实现。3.3.1 算术逻辑模块 ALU 的设计与实现算术逻辑运算模块的主要功能就是对数据进行处理与加工,即对数据进行数值运算或非数值运算,主要包括加、减、乘、除等算术运 算及与、或、非、异或、移位、比较等逻辑运算。在进行设计对,我们对算术逻辑运算模块进一步细分成几个功能 相对独立的功能模块,然后分别对它们进行VHDL 描述,最后再将它们组合起来,从而

43、完成一个完整的ALU 单元。我们将 ALU 内部分成加减法运算单兀,乘法运算单兀、除法运算单兀、十进制调整单兀、逻 辑运算单元以及多路选择器单元。在ALU 的结构上。我们将乘、除法单元各自独立出来来完成算术逻辑指令中的乘、除法运算。这样可以 回避传统典型微处理器基于累加器的ALU 结构及算术逻辑指令,从而提高逻辑指令的执行效率。设计思路是多路选择器外部连接不同的数 据来源以及操作命令,根据操作命令来决定要把数据传送给哪一个运 算单元进行处理,最后将处理后的数据再送出。组成 ALU 的各个功能单元设计并验证无误后,我们把它们作为元 件,运用元件例化语句就可以将它们组合起来形成一个算术逻辑运算 器

44、累加器 acc_i 数据为 12H,rom 数据为 FFH,ram 数据为 34H,进位输 入为 10,即 CY=1 ,AC=0,操作命令自左向右依次为进位加命令 ADDC_ACC_RAM 、 自力卩 I 命令INC_ACC 、 逻辑与 AND_RAM_ROM 、减法命令 SUB_ACC_RAM 。可以看至仿真的结 果准确无误,因此,证明了我们所设计的ALU 是完全符合要求的。3.3.2 控制单元这里的控制单元与经典 CPU 内部结构中的控制器相类似,它的作用有:解题程序和原始数据的输入、对指令的译码与执行、CPU 内部的信息处理、处理结果的输出、外部设备与单片机之间的信息交换等 都是在控制单

45、元的指挥、协调与控制下完成的,因此,它是整个系统 发布操作命令的决策机构”。本设计中控制单元主要完成的功能为指 令译码、中断判优及处理、时序控制和微操作控制等。将控制单元分成两个功能模块来进行设计,即:control_fsm 模块和 control_mem 模块。其中,control_fsm 模块主要实现中断的响应及指 令的译码并产生各指令的微操作码,主要设计方法是通过有限状态机 的设计来实现相应的功能;而control_mem 模块主要完成由 control_fsm模块产生的微操作信号的具体操作过程控制 RAM 存储器的读写地址及数据传输、PC 寄存器的赋值、串口与定时器的中断信号处理,中断

46、的查询、SFR 的读写等功能。同时,这两个模块也构成了我们在设计控制单元时所用的状态机,图3.2 显示了状态机的内部结构。图 3.2 状态机的内部结构图1 . control_fsm 模块con trol_fsm 模块的主要作用是对指令译码并执行,从而实现指 令系统。在设计时,我们采用的是有限状态机的纯组合逻辑的描述方 法,主要是根据具体的状态来完成在各个状态下的指令译码与执行。 需要说明的是,这个状态机在接收到来自con trol_fsm 模块的有关中断源有变化的信号时,它会优先发出控制指令,指示con trol_fsm 模块改变指令指针的值,进入中断。没有中断发生的时候,它就会根据 程序存

47、储器的指令来运作。2. control_mem 模块control_mem 模块的内部含有各种寄存器,包括程序寄存器、指令 寄存器、地址寄存器、特殊功能寄存器SFR 等,它的主要任务是根据状态机的相应指令,实现对存储器的相应操作。这些操作主要包括: 监测各个中断源的变化;根据状态机的指令写一些用户没有直接 地址的芯片内部辅助寄存器;写内部RAM 和 SFR,包括写 字节”和写 位”根据检测中断源的变化的结果,在必要时向状态机发送中 断请求类别指示信号;读内部 RAM 和 SFR,包括读 字节”和读 位”据状态机发出的各种多路选择器的值,输出相应的地址和数 据的值。因为 control_mem

48、模块是状态机的主控时序模块,所以,此模块是同时采用时序逻辑描述和组合逻辑插述来实现的。最后,将con trol_fsm模块和 control_mem 模块组合装配后,就实现了控制单元的设计。3.3.3 定时/计数器单元MCS 51 系列单片机内部有 2 个 16 位定时,计数器:TO 和 T1。从 内部结构上看,它们分别由8 位计数器 TH0、TL0 和 THI、TLI 构成,它们都是以加“l 的方式完成计数。特殊功能寄存器TMOD 控制定时,计数器的工作模式,TCON 控制定时/计数器的启动运行并记录 TO、T1 的 溢出标志。对 TH0、TL0 和 THl、TLl 的初始化编程预置 TO、

49、T1 的计数 初值。对 TMOD和 TCON 的初始化编程分别置入方式字和控制字,以指 定其工作模式并控制 T0、T1 按规定的工作方式计数。单片机中的 2 个定时/计数器有两种工作模式,每个定时阱数器有 4 种工作方式。其中方式 O-2 对 TO 和 T1 都是一样的,而方式 3 对两者是 不同的。选择定时器工作模式时,计数输入信号是内部时钟脉冲,每 个机器周期内定时器的计数器做一次“+l 运算。每个机器周期等于12个振荡周期,故计数速率为振荡频率的1/ 12。本设计虽然不采用 51 系列单片机中的机器周期的概念(所有的指令均在 l 到 4 个时钟周期内完成),但仍然保证计数速率为振荡器频率

50、的1 / 12。选择计数器工作模式时,计数脉冲来自相应的外部输入引脚T0 或Tl。当输入信号由 l 到 0 负跳变时,计数寄存器 (TH0,TL0 或 THl,TLI) 的值增 1。每个机器周期的 S5P2 期间,对外部输入进行采样。如果在第 一个周期中采得的值为 1,而在下一个周期采得的值为0,则在紧跟着的下一个周期的 S3P1 期间,计数值就增 1。由于确认一次下跳沿要花2个机器周期,即 24 个振荡周期,因此外部输入的计数脉冲的最高频率 为振荡频率的 1/24。对外部输入信号的占空比并没有什么限制,但为 了确保某一给定的电平在变化之前至少被采样一次,则这一电乎至少 要保持一个机器周期。虽

51、然本设计不采用机器周期的概念,但是这里 仍将采用 1/ 12 倍时钟频率来对外部输入进行采样,以便能和原芯片功 能兼容。表 3.2 列出了它的四种工作方式。通过定时/计数器单元的仿真,可以看出,设计准确无误.表 3.2 定时/计数器的工作方式工作方式功能方式 013 位计数器方式 116 位计数器方式 2可自动重新装载的8 位计数器方式 3T0 分为两个独立的8 位计数器,T1 停止计数3.3.4 串行通信单元串行通信是 CPU 与外界进行信息交换的一种方式。 MCS-51 单片机 内部有一个全双工串行接口。其内部有两个数据缓冲器(SBUF),个用作发送,另一个用作接收。这两个数据缓冲器物理上

52、各自独立,通用一个地址 99H,发送缓冲器只写不读,接收缓冲器只读不写。其中接 收缓冲器是双缓冲的,以避免在接收下一帧数据之前,CPU 未能及时响应接收器中断,没有把上帧数据读走而产生两帧数据重叠问题。串口的控制是通过控制寄存器 SCON 和 PCON 来实现的。串行口有四种工作方式,方式 0 的波特率是固定的(为 1 /12 倍的输 入时钟频率);方式 I 和方式 3 的波特率是定时器,计数器 I 的溢出率的 1 / 16 或 1 /32 倍;而方式 2 的波特率则是输入时钟频率的 1 /32 或 1 / 64 倍。表 3.3 是四种工作方式的功能。表 3.3 串行口工作方式工作方式功能方式

53、 0移位寄存器方式(用于I/O 扩展)方式 18 位 UART,波特率可变(T1 溢出率/n )方式 29 位 UART , 波特率位 fosc/64 或 fosc/32 )方式 39 位 UART,波特率可变(T1 溢出率/n )输入信号启动信号(高电平有效)它使内部用于发送的状态机启 动,同时使内部计数器复位,使每位的发送过程与计数器同步。计数 器满刻度偏转一次,状态机的状态加1。当状态 0 向状态 1 转换时,将要发送的 8 位数据的最低位输出到 rxd _0 ,这一数据的电平一直维 持到状态 I向状态 2 转换,这时开始输出第二位数据。依此类推,在 状态 8 的末尾,8 位数据完全输出

54、完毕后,指示是否有数据输出的信 号 rxdwr_O 变为低电平,表示数据已经发送完毕。以上介绍了 ALU、控制单元、定时/计数器单元和串行通信单元 的设计与实现,将它们通过内部信号连接就构成了8051 核。3.4 MCS-51 IP 核的扩展以 ALU、控制单元、定时/计数器单元和串行通信单元的设计与 实现为理论和技术为基础,设计实现了MCS-51 单片机的 IP 核。针对FPGA 的可重构性及软核的可修改性特点,这里提出对MCS-51 单片机IP 核进行扩展的设想。根据系统功能与需求增减 MCS-51 软核指令集和外围设备,以实现 硬件结构与系统功能最佳匹配、硬件结构与工程应用要求最佳匹配的

55、 可编程片上系统。比如:实际系统中不需要乘除法运算,因此我们可 以将 MCS-51 IP 核中的乘除法模块及其乘除法指令去掉,以精简系统结 构;原始设计中不具备信号处理功能,可根据需要添加信号处理器IP核,以扩展系统功能。对于上述设想虽然已经做了一些研究和尝试, 但尚未形成完整成熟的实现规则,这还有待于今后更深入地研究。4 结论EDA 技术作为现代电子设计技术的核心,近年来有了飞速的发 展。利用EDA 技术进行电子系统设计具有开发周期短、 灵活度高等特 点, 特别是作为 EDA技术要素的 EDA 工具、可编程器件以及 IP 技术的 进步与发展,使得现代电子系统的开发变得更容易、更快速、更高 效。MCS-51 系列单片机有着良好的通用性和广泛的使用性。本文主要 进行了基于 EDA 技术的 MCS-5IIP 核设计及其扩展研究,应用EDA 技术设计实现了基于 MCS-51 的单片机 IP 核,在此基础之上,提出了一种基 于MCS-5I 的可扩展多功能单片机 IP 核。本文的主要研究内容可总结为 以下几个方面:1对 EDA 技术进行了系统的学习、研究与总结,特别是对其构成 要素、设计方法进行了较深入的学习,在此基础上,广泛了解其应 用,为深入进行各计算机接口控制器和MCS-51 单片机球核的研究与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论