在FPGA上对OC8051IP核的修改与测试

2010-01-07 17:23:24来源: 解放军信息工程大学

  引 言

  20世纪80年代初,Intel公司推出了MCS-51单片机,随后Intel以专利转让的形式把8051内核发布给许多半导体厂家,从而出现了许多与MCS-51系统兼容的产品。这些产品与MCS-51的系统结构相同,采用CMOS工艺,因而常用80C51系列来指代所有具有8051指令系统的单片机。在80C51系列中,OC8051以架构清晰、取指带宽大、时钟效率高等诸多优点受到业内人士的青睐。本文在分析OpenCores网站提供的一款OC8051IP核的基础上,给出了一种仿真调试方案;利用该方案指出了其中若干逻辑错误并对其进行修改,最终完成了修改后IP核的FPGA下载测试。

  1 OC8051结构分析

  OpenCores网站提供的OC8051 IP核与8051的系统结构相同,如图1所示。该IP核兼容所有8051指令系统,内部资源包括:8位CPU,寻址能力达2×64K;4 KB的ROM和128字节的RAM;4个8位I/O口;16位内部定时/计数器;5个中断源和2个中断优先级。采用Verilog语言对其各个模块进行描述。系统主要模块及其功能说明如表1所列。不同模块对应的源文件均是以模块名称命名的,例如累加器A对应的源文件为oc8051_acc.v。

OC8051 IP核结构

系统主要模块及其功能说明

  虽然上述OC8051 IP核宣称兼容所有8051指令系统,但是实际执行时并非如此。例如在执行表2所列的2组功能相同的代码时,所得到的执行结果并不相同。代码1的执行结果是将5写入地址为0的外部RAM,代码2的执行结果是将5写入地址为4的外部RAM。造成这种现象的原因是,oc8051_ext_addr_sel模块配置写外部RAM地址时延误了一个时钟周期。若要OC8051 IP核与标准8051系统一致,须对源文件中类似的逻辑错误进行修改。

2组功能相同的代码

  2 OC805 1仿真调试及修改

  对于硬件设计而言,仿真的作用是验证设计结果的逻辑功能是否符合初始规定,如果在这一层次上设计出了问题,那么以后各个层次的工作将完全不确定。由前文可知,OC8051 IP核存在着逻辑错误,所以有必要通过仿真的手段实现错误查找和定位,从而最终完成对逻辑错误的修改。

  2.1 仿真调试方案

  OC8051仿真调试方案如图2所示。其原理是:在Keil软件环境中编写测试程序,编译生成.hex文件并将其注入ROM的指令寄存器中。testbench负责产生OC8051工作时钟及控制使能等信号,并将OC8051执行ROM中指令的结果输出到文本/波形文件中。开发人员通过对文本/波形文件和Keil调试工具执行测试程序的结果进行比较,从而实现对逻辑错误的查找与定位,并对IP核源文件进行修改。

OC8051仿真调试方案

  值得注意的是,虽然Modelsim功能强大,可以方便地观察到任何层次模块信号的变化,但是OC8051 IP核的结构和时序比较复杂,仍避免不了仿真时因为中间信号多所带来的不便。因此,在仿真调试时可寻求一些简化操作的机制。考虑到借助数据寄存器指针DPTR和累加器A,MOVX指令可以将程序执行过程中任何寄存器的值输出到外部RAM中,而观察外部RAM中的值相对容易,因而本文采用了这种机制。

[1] [2] [3]

关键字:FPGA  OC8051  IP核

编辑:小甘 引用地址:http://www.eeworld.com.cn/FPGA/2010/0107/article_892.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
FPGA
OC8051
IP核

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved