一种用于51核IC卡的硬件仿真系统技术方案

技术编号:2877487 阅读:261 留言:0更新日期:2012-04-11 18:40
本发明专利技术是用于51核IC卡的硬件仿真系统。一种完全基于FPGA的硬件仿真器系统。现有技术依赖于仿真芯片的功能,由于芯片的生产成本高,因此该缺陷限制了仿真系统的发展。本发明专利技术提出一种简单的电路结构,,将IP内核以及控制电路全部集成在FPGA内部,并且附加了EEPROM的适配电路,外围仅需少量RAM即可完成所有仿真功能。电路由FPGA,RAM,非易失性RAM,电源,以及PC端软件组成,可以方便的完成对51核IC卡的仿真开发。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及基于FPGA的51核IC卡硬件仿真器电路结构。由于早期的设计通常是用指令替换或者硬件中断的方式,由于这两种方式的缺陷,使得常常有设置断点个数限制、不能实时仿真等等的缺陷,而近年来流行的以仿真芯片为核心的方式又极其依赖仿真芯片的功能,加上每款芯片的仿真系统都要有相应的仿真芯片来支持,仿真芯片的设计、流片、生产变成了仿真系统的瓶颈,另外,若是为了小批量的芯片设计再设计仿真芯片,会产生设计、生产仿真芯片的巨额费用而导致产品开发的失败。由于上述缺点,使得CPU产品的仿真系统在上述各种方式在性能、设计上具有一定的局限性,也限制了在CPU产品的仿真系统的发展。下载到FPGA中的IP包含3个部分1.8031IC卡IP执行所有的指令2.仿真功能的电路IP实现各种模式下的run,step,stop,reset,breakpoint的功能3.EEPROM的适配电路IP完成EEPROM解码电路后出来信号到非易失性RAM信号的转换以上3个IP都是用verilog以及vhdl语言完成,并且有机的结合在一起,形成了一个有仿真功能的电路IP。本专利技术中FPGA完成程序下载,断点设置,MMU,而外围电路作代码存储,断点设置用途。本专利技术的EEPROM的适配电路使外接非易失性RAM可替代EEPROM进行工作。本专利技术进一步的实现方案叙述如下仿真器系统的设计是利用对RST控制、外部中断,监控程式等技术实现全速、跟踪、断点、单步、暂停等仿真功能,整个仿真器系统可以分为两大模块底层控制硬件a.硬件系统b.监控程式PC界面a.用户界面b.并口通讯线程硬件系统底层仿真控制硬件系统的组成包括FPGA、外围存储单元(ROM、RAM、非易失性RAM以及断点RAM)、与PC接口电路、电源电路。硬件系统采用10V单电源供电,FPGA配置端口通过接口电路与PC机并口连接,在PC的控制下实现FPGA配置的完成。实现与仿真硬件系统之间的双向数据传输,完成PC端对FPGA的配置、将程序代码及调试信息下载到相应的外围ROM和RAM中,其中ROM存储下载的程序代码,用于仿真51核IC卡内部的程序存储器、RAM用于仿真51核IC卡内部的RAM、非易失性RAM用于仿真51核IC卡内部的EEPROM、断点RAM用于保存设置的断点信息(包括ROM的断点,EEPROM的断点,XRAM的断点)。当FPGA进入正常工作状态后,嵌于其内的51核CPU将执行存储于ROM、RAM或EEPROM中的程序,直到遇到断点或被用户暂停,系统会产生一个外部中断1的下降沿的信号,IC卡仿真器进入监控程序,与PC机端的用户程序进行交互,将数据上传并接受控制命令,从而实现了全速、跟踪以及单步等功能。监控程序监控程序运行于仿真器电路板上的单片机中,它的功能是向通讯线程上传特殊功能寄存器、内部RAM、外部RAM以及EEPROM数据,接收界面线程下达的各种数据及命令然后执行相应的操作。其流程如图5所示。监控程序的功能虽然很简单,但是它还必须满足尽量少的占用单片机中用户的可用资源的要求,这些资源一般是指堆栈,内存,输入输出端口等等。考虑到项目的特殊性,对于IC卡仿真器用户来说,大部分输入输出端口是不可用的,因此端口资源对我们的项目是充足的;由于仿真器是利用单片机中断的原理实现各种调试功能的,因此占用两个字节的堆栈是不可避免的。用户界面(PC)1.支持源文件编辑功能,如新建文件(filenew),编写(write),阅读(read),保存(save,saveas),各种查找(find),替换(replace),撤销(undo),重做(redo),语法变色(synax coloring)。2.支持源文件设置断点(setbreapoint),取消断点(remove breakpoint),高亮度显示错误或警告行,高亮度显示当前PC所在行,运行时检查断点的合法性。3.动态及时的显示寄存器,内部存储器,外部存储器,ROM,EE的值,并且对那些运行前后发生变化的值,以红色显示。4.内置编译,就是用户在编辑完源文件后可以在当前环境下就对源文件进行编译,程序需要对编译信息给出输出,以指导用户是否发声错误,错误在那一行,并且双击相关的错误信息,程序将自动定位到相应源文件的对应行。5.内置调试,在用户通过编译程序生成hex文件后,用户可以在当前环境下,直接启动单步调试,运行到光标,全速运行,设置断点(包括编辑时刻和运行时刻),以及程序停止后,对当前值的显示与修改。并口通讯线程运行于PC机的仿真器用户界面进程(下简称界面线程)需要主动完成以下与硬件有关的功能FPGA的配置、单片机程序代码的下载、调试用户应用程序时各种控制命令的下发、断点信息的设置与清除、特殊功能寄存器内容读入与修改以及内部外部存储器(包括内部RAM,外部RAM,EEPROM)内容的读入与修改;运行于仿真器电路板端单片机内的监控程序(下简称监控程序)需要主动完成在到达断点后通知PC机端的界面线程,完成数据上传。以上这些功能都通过PC机的并行端口作为通讯中介来完成。其功能结构如图6。本专利技术在不降低系统性能的条件下,利用FPGA技术,把IP以及控制电路集成再FPGA内部,通过外围电路、电源以及PC,方便的完成了51核IC卡的仿真开发。本专利技术电路间接明了,实施方便,成本不高,效果良好。图2是本专利技术的FPGA内部结构的框图,图中的FPGA是xilinx xc 2s200PQ208-5。图3是本专利技术的仿真芯片运行模式的功能框图。图4是本专利技术的断点以及暂停模式的功能框图。图5是监控程序流程图。图6是并口通讯线程功能结构图。电路图用PROTEL99 SE设计。监控程序用8051汇编器进行汇编,内容可以参照P4的图,生成hex码最终在客户程序汇编时嵌入客户的hex码中,用户界面以及并口通讯线程用VC6.0编译。具体实现过程如附件所示。权利要求1.一种基于FPGA的51核IC卡硬件仿真器主要由PC,FPGA以及外围器件组成,其特征是PC完成界面的显示以及仿真的控制,通过并口和FPGA连接,FPGA用于完成硬件仿真,外围器件RAM实现下载程序和断点信息的存储,以及EEPROM的模拟。2.根据权利要求1所述的基于FPGA的51核IC卡硬件仿真器,其特征是8031的IP以及附加的控制电路,即仿真控制电路以及EEPROM的适配电路集成于FPGA中。3.根据权利要求1所述的基于FPGA的51核IC卡硬件仿真器,其特征是程序下载,断点设置,MMU的实现都直接通过FPGA完成,外围电路作代码存储,断点设置用途。4.根据权利要求1所述的基于FPGA的51核IC卡硬件仿真器,其特征是EEPROM的适配电路使外接非易失性RAM即可替代EEPROM进行工作。5.根据权利要求1所述的基于FPGA的51核IC卡硬件仿真器,其特征是RAM用于仿真51核IC卡内部的程序存储器,RAM用于仿真51核IC卡内部的RAM,非易失性RAM用来仿真51核IC卡内部的EEPROM,断点RAM用于保存设置的断点信息。全文摘要本专利技术是用于51核IC卡的硬件仿真系统。一种完全基于FPGA的硬件仿真器系统。现有技术依赖于仿真芯片的功能,由于芯片的生产成本高,因此该缺陷限制了仿真系统的发展。本专利技术提出一种简本文档来自技高网...

【技术保护点】
一种基于FPGA的51核IC卡硬件仿真器主要由:PC,FPGA以及外围器件组成,其特征是PC完成界面的显示以及仿真的控制,通过并口和FPGA连接,FPGA用于完成硬件仿真,外围器件RAM实现下载程序和断点信息的存储,以及EEPROM的模拟。

【技术特征摘要】

【专利技术属性】
技术研发人员:柏志斌吴大畏张利明
申请(专利权)人:上海复旦微电子股份有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1