【2017年整理】基于FPGA的微处理器内核设计与实现.docVIP

【2017年整理】基于FPGA的微处理器内核设计与实现.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【2017年整理】基于FPGA的微处理器内核设计与实现

基于FPGA的微处理器内核设计与实现 关键字: 看门狗 复位 逻辑 与传统投片实现ASIC相比,FPGA具有实现速度快、风险小、可编程、可随时更改升级等一系列优点,因而得到了越米越广泛的应用。MCS-51应用时间长、范围广,相关的软硬件资源丰富,因而往往在FPGA应用中嵌人MCS-51内核作为微控制器。但是传统MCS-51的指令效率太低,每个机器周期高达12时钟周期,因此必须对内核加以改进,提高指令执行速度和效率,才能更好地满足FPGA的应用。 通过对传统MCS-51单片机指令时序和体系结构的分析,使用VHDL语言采用自顶向下的设计方法重新设计了一个高效的微控制器内核。改进了的体系结构,可以兼容MCS-51所有指令,每个机器周期只需1个时钟周期,同时增加了硬件看门狗和软件复位功能,提高了指令执行效率和抗干扰能力。 1 系统设计 1.1 模块划分 本内核在划分和设计模块时,基于以下几条原则: (1)同步设计,提高系统稳定性和可移植性;(2)功能明确,功能接近的放在同一个模块内以减少模块的数量和模块之间的互连线,同时利于综合时的优化;(3)模块之间的接口时序预先定义好,并严格按定义的时序要求编写每个模块;(4)模块信号的输出采用寄存器输出的方式。这样可以提高系统的可靠性,一旦出错也容易确定问题所在。 本内核由以下几个部分组成:中央控制单元(CPU),算术逻辑运算单元(ALU),寄存器组控制器(REGS_CTR),定时器/计数器(T/C),通用串行接口(UART),看门狗(WT_DOG),如图1所示。 1.2 提高速度的方法 本内核采用以下几种办法来提高速度。 (1) 采用多数据通道:本内核取消了传统MCS-51系列单片机的单一总线,采用直连结构,各模块的数据传输使用单向专用数据线,尤其在数据交换频繁的ALU与REGS_CTR之间采用四条单向数据线相互连接,提高了数据传输的并行度,从而加快了数据的传输。 (2) 采用双相时钟:如图2所示。CLK时钟上升沿CPU发出控制信号,I/O端口采样外部信号即图1中流入REGS_CTR的数据或控制信号;CLK1时钟上升沿把数据写入寄存器中并把刷新后的数据或控制信号发出,即图1中虚箭头表示的数据流向。这样REGS_CTR的读写分别在两个时钟的上升沿,减少了一个时钟周期的等待,时钟频率提高了一倍。 (3) 采用寄存器组:FPGA内部有极为丰富的寄存器资源,本内核取消了传统的同一时间只能读或者写的RAM块,代之以可同时进行不同地址读写操作的寄存器组。一些特殊功能寄存器有专用总线输出,如图3所示。 (4) 提高时钟频率:对电路的关键路径进行了改造,以减少逻辑电路级数从而提高时钟频率。通过这些设计,保证了每个机器周期只需一个时钟周期,提高了指令执行效率,同时也提高系统的时钟频率。 1.3 兼容性方面的考虑 MCS-51系列单片机有丰富的软硬件资源,为充分利用这些资源,在本内核设计时尽量考虑增强其兼容性。除机器周期变为原来的1/12以及新增加一个特殊功能寄存器(地址F8H)用于控制看门狗和软件复位外,其他没有变化。因而单个内核应用时,以前的程序可完全移植;在与外界通信时因机器周期与MCS-51单片机有差别可能需对一些程序作相应改动。这样可以使系统在提高性能的同时无需其他开销,便于推广使用。 2 功能模块的设计 2.1 中央控制器(CPU)的设计 这是微控制器的核心,负责中断处理及指令执行。中断处理分为中断取样、中断高低优先级的判断及执行相应的处理过程。CPU对指令的执行分为四个阶段:取指-译码、执行、执行-回写、回写-预取指。指令执行流程如图4所示。 在编码实现方式上,本模块是一个大的父子两级状态机,父状态机为指令的类型,子状态机为每种指令的执行步骤。这样结构清晰,利于编程、查错及仿真。 2.2 寄存器组(REGS_CTR)的设计 本模块在CPU的控制下完成:程序地址的产生、高低128个寄存器的读写。程序计数器根据控制信号与来自寄存器组的数据产生相应的指令地址并送往ROM。在寄存器组的读写中,用读译码电路选择输出操作数据,写译码电路写入结果数据。这种结构可以在对一个寄存器写的同时读另一个寄存器。如图3所示,通用的数据总线可以取得任何一个寄存器的数据,各个专用寄存器也有各自的专用数据线输出。例如执行指令ADDA,DIRECT时,由于累加器ACC有专门的总线,只要给出相应的读控制信号就可以从通用数据总线上得到来自寄存器组的DIRECT数据,这样ALU在同一周期内就可以得到所需的两个操作数。 2.3 看门狗(WT_DOG)的设计 传统的MCS-51系列单片机为提高抗干扰能力通常使用外置看门狗或者采用软件陷阱的方式使系统复位。本内核增加了硬件看门狗及软件复位功能,通过新增加一个特殊功能寄存器(地址F8

文档评论(0)

love87421 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档