mc8051用户手册中文版

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

编译:陈拓chentuo2000@yahoo.com.cn2009年9月2日MC8051IP核可综合VHDL微控制器IP-Core用户指南Web::mc8051@oregano.atVersion1.1June20028051IP核-概述关键特性y全可综合设计y指令集兼容工业标准8051微控制器y优化的架构是该核达到每操作码1到4个时钟y使用全新架构速度更快至10倍y用户可选择定时器/计数器以及串口单元的数目y活动定时器/计数器以及串口单元可以通过特殊功能寄存器选择y使用并行乘法器单元优化乘法命令(MUL)的实现y使用并行除法器单元优化除法命令(MUL)的实现y无复用的I/O端口y256K字节的内部RAMy多至64K字节ROM和多至64K字节RAMy源代码在GNULGPL许可证下可以自由修改y技术独立,结构清晰,注释良好的VHDL源码y通过调整/修改VHDL源码易于扩展y通过VHDL常量可参数化8051IP核-方块图顶层模块及其子模块描绘于图1。图1:8051微控制器IP核的方块图表1:顶层设计名字设计层次设计层次和相应的VHDL文件描绘于图2。图2:8051微控制器IP核的设计层次VHDL源文件在整个设计中统一命名:yVHDL实体entity-name_.vhdyVHDL构造entity-name_rtl.vhd用于包含逻辑的模块entity-name_struc.vhd用于仅连接子模块的模块yVHDL配置entity-name_rtl_cfg.vhdentity-name_struc_cfg.vhd核本身由子模块、定时器/计数器、算数逻辑单元AUL、串口和控制单元组成。RAN和ROM块的生成通常与所选择的目标技术相对应,并因此在最高设计层次被实例化。生成的RAM块和BIST结构-用于ASIC生产测试集成-可以容易地在该设计层次添加。时钟域8051IP核是一个全同步的设计。有一个单一的信号时钟控制每个存储单元的时钟输入。未使用时钟门控。时钟信号不反馈到任何组合元件。中断输入线用标准的两级同步阶段被同步到全局时钟信号,因为它们可能被用另一个时钟操作的外部电路所驱动。并口输入信号不用这种方式同步,如果用户决定需要同步这些信号,它也可以容易地被添加。存储器接口由于优化的架构,从存储器块来去的信号没有被寄存。所以在同步输入和输出期间定时约束应该被放置在相应的端口上,并且同步存储器块应该被用于mc8051IP核。配置8051IP核下面将讨论8051微控制器IP核的参数化设计,并且将给出在大设计中嵌入IP核的信息。定时器/计数器,串口和中断原始的微控制器设计只提供2个定时器/计数器,1个串口和2个外部中断源,而面派生的8051在片上提供更多的资源。但有时这是一个限制因素,因此我们决定在8051IP核中实现一些可参数化的端口。该8051微控制器IP核简单地用改变VHDL实例的值的方法提供能产生多至256个各种单元的能力。在VHDL源文件mc8051_p.vhd中包含的C_IMPL_N_TMR可以从1到256取值以控制该特性。组成这些间隔结果的值在核的非功能配置中。图3显示了VHDL代码相应的行。图3:用于配置定时器/计数器单元,串口和外部中断的VHDL源代码不能同时单独改变3个常量C_IMPL_N_TMR,C_IMPL_N_SIU,C_IMPL_N_EXT。常量C_IMPL_N_TMR每增加1意味着多生成2个附加的定时器/计数器单元,一个附加的串口和2个附加的外部中断源。为了能够访问到所有已生成单元的寄存器,而不改变微控制器的地址空间,仅有的2个8位寄存器被推断为特殊功能寄存器,它们是TSEL(地址0x8Eh用于定时器/计数器单元)和SSEL(地址0x9Ah用于串口单元)。如果这些寄存器指向一个不存在的设备号,默认单元号1将被选择。电路描绘在图4中。图4:通过附加的TSEL寄存器选择一个TCON寄存器如果在这个特殊的器件没有被TSEL选择期间发生一个中断,相应的中断标志保持置位直到匹配的中断服务例程被执行。在器件还没有被选择的这段时间内的随后的中断,仅有一个信号调用中断服务例程。可选指令在某些情况下不实现那些不需要而且消耗许多芯片面积的指令是有意义的。这些指令是8位乘法器,8位除法器和8位十进制校正。因此在mc8051_p.vdl源文件中的VHDL常量C_IMPL_MUL被设置为0时,用于8位乘法的MUL指令可以被跳过。同样通过设置VHDL常量C_IMPL_DIV为0时,8位除法DIV可以被跳过。设置常量C_IMPL_DA为0时,十进制校正指令可以被跳过。VHDL源代码相应的行见图5。图5:显示指令怎样被跳过的代码片段如果3个可选指令都不实现,可节省10%的芯片面积。并行I/O端口mc8051IP核仅提供原始的8051微控制器的4个双向8位I/O端口以方便与微控制器的环境交换数据。为了在IC设计中易于集成我们的核,原始的多功能端口不必重新构建并且所有信号(例如,串口,中断,计数器输入和外部存储器接口)都已经被分别馈送到核的输出(见图1)。并行I/O端口的基本结构示于图6。图6:并行I/O端口的基本结构校验核的校验由VHDL代码的仿真实现,并用由工业标准的8051仿真产生的结果和执行程序的结果(例如ROM的内容)相比较(=C51)。在仿真之后,一些确定的存储器区域的内容被写到一个文件中,既用于标准的8051仿真(使用命令savakeil.hex0x00,0xFF)也用于VHDL代码仿真(例如,使用脚本write2file.do,在仿真目录中产生文件regs.log)。作为结果文本文件必须完全一致。为了能够从Keil开发软件馈送编译好的汇编文件到VHDL代码仿真一个在最后发布的IP核中提供的短C程序,要转换Intel的hex格式文件到一个包含8位数据的文本文件,以适合被VHDL仿真器读取(文件mc8051_rom.dua在仿真目录中)。交付使用解压mc8051.zip文件使用如我们建议的目录树。已经有用于综合的脚本,有使用Synopsys的用于ASIC设计的DesignCompiler脚本和Synplicity的用于FPGA设计的脚本,还有使用Mentor/Modeltech的Modelsim的用于RTL仿真的脚本。图7是mc8051目录树图。图7:mc8051IP核发布的目录树表2:目录树:简单描述文档版本

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功