MC8051单片机IP核的FPGA实现与应用.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MC8051单片机IP核的FPGA实现与应用

1 引言   长期以来,单片机以其性价比高、体积小、功能灵活等方面的独特优点被广泛应用。但受其内部资源的限制,单片机需要在片外扩展相关资源。为了达到处理速度和控制灵活性方面的需求,采用微控制器和可编程逻辑器件设计单片机嵌入式系统。随着现场可编程逻辑阵列(FPGA)及EDA技术的发展,百万门级的FPGA、可重构的嵌入式MCU核、功能复杂的IP核及各种功能强大的EDA工具的出现,实现将MCU、存储器和一些外围电路集成到一个芯片成为可能。随着IP核技术在FPCA中的应用,特别是MCU IP核技术的发展。出现了性能不同的嵌入式MCU软核。MCS-51系列MCU是目前应用时间最长、最普及、可获得应用资料最多的功能强大的8位MCU,建立805l MCU可综合IP核对于各种嵌入式系统和片上系统(SOC)的应用。针对8051MCU的应用前景,出现了几个比较典型的805l IP核,如DW8051核.OpenCore组织的0C8051核及T51核,MC805l核等。这些IP核都是采用HDL语言描述的软MCU内核,其与工艺无关,能够在多种FPGA上进行逻辑综合及实现。这里采用免费的MC805lIP核,通过对MC8051结构原理的分析,详细论述其在FPCA中的实现及应用。   2 MC8051 IP核基本结构及原理   MC8051是与MCS一5l系列微处理器指令集完全兼容的8位嵌入式微处理器,通过芯核重用技术,可广泛应用在一些面积要求比较苛刻,而对速度要求不是很高的片上系统中。   2.1 MC8051功能特点   采用完全同步设计:指令集和标准8051微控制器完全兼容;指令执行时间为l~4个时钟周期,执行性能优于标准805l微控制器8倍左右;用户可选择定时/计数器、串行接口单元的数量,最多可增加到256组;新增特殊功能寄存器用于选择不同的定时/计数器、串行接口单元;可选择是否使用乘法器(乘法指令MUL);可选择是否使用除法器(除法指令DIV);可选择是否使用十进制调整功能(十进制调整指令DA);I/0口不复用,无双向数据I/O端口,输入、输出端口独立;内部带256Byte RAM;最多可扩展至64 KB的ROM和64 KB的RAM;与工艺无关,可通过修改VHDL源代码扩展及参数化设置。   2.2 MC8051结构及设计层次   图1给出MC805l_eore的顶层设计模块及其子模块,包括顶层的各个信号端口及3个存储器模块。同时给出了顶层的输入输出I/O口。定时/计数器和串行接口单元,对应于图中的MC805l_tmrctr和MC8051_siu模块,数量可选择,图中用虚线表示。MC8051 IP核与工业标准8051单片机不同,MC8051的输入、输出并口分别映射到独立的端口上。其顶层各I/O信号的描述如表l所示。   MC805lIP核的设计层次及对应的VHDL文件如图2所示嘲。它由定时/计数器、ALU算数逻辑单元、串行接口单元和控制单元组成。RAM及ROM模块不包括在IP核内,处于设计的顶层,方便于不同的应用设计及仿真。   图2中,最顶层是用户的实际应用设计模块,它将ROM、RAM及mc8051_core封装在内部。实际应用中用户可添加自定义附加逻辑模块,与设计层次中的RAM、ROM模块处于同一个层次。   2.3 MC8051硬件模块   单片机作为一个大型设计,其内核由定时器时钟管理单元、ALU算数逻辑单元、串口及控制单元、存储单元RAM及ROM等模块组成。   2.3.1 时钟管理单元   MC8051内核采用完全同步的时钟设计。只有一个时钟信号控制每个存储单元的输入。没有使用门时钟,时钟没有输入到任何组合逻辑单元。中断输入线使用两级同步(锁存2次)与全局时钟同步。可以达到完全同步,即使用其他时钟的外部电路在驱动。并行I/0端口没有采用这种同步方式。   2.3.2 定时器、串口和中断   标准8051微控制器只提供两个定时/计数器单元、一个串口单元及两个外部中断源。而在MC805l IP核中,这些单元最多可增加到256组,只需修改VHDL源代码增加兼容的单元数。在VHDL源程序文件mc8051_p.vhd中,更改C_IMPL_N_TMR、C_IMPL_N_SIU、C_IMPL_N_EXT的常量值就可以,其范围是1~256。相关的VHDL代码如图3所示。   这里C_IMPL_N_TMR、C_IMPL_N_SIU、C_IMPL_N_EXT3个常量参数不能独立修改数值,只能同时增减。C_IMPL_N_TMR加l意味着对应的添加了2个定时/计数器、一个串口单元和2个外部中断源。为了能寻址所生成的单元而不改变微控制器的地址空间,在微控制器的特殊功能寄存器(SFR)内存空间增加了2个8位寄存器作为附加功能寄存器:分别是TSEL(定时/计数器选择

文档评论(0)

2017ll + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档