欢迎来到天天文库
浏览记录
ID:6550755
大小:32.00 KB
页数:10页
时间:2018-01-17
《仿真器概念及实现技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、仿真器概念及实现技术自从二十多年前MICROTEK推出首台具有划时代意义的仿真器(Micro-controllerIn-CircuitEmulator)以来,随着IC和软件集成平台的飞速发展,仿真器也不断赋予新的内容和新的挑战,因为它的发展必须与CPU同步,要想在总线速度为150Mhz*64bit的情况下实现TRACE已经成为不可能。MICETEK继承了MICROTEK多年的经验,相继推出了EasyPack8052/8xc196/PIC16F,MICEpack186/251/68302,PowerPack386/486/Pentium/PentiumII/Pen
2、tiumIII,HitoolforARM/PowerPC等多系列仿真器。因此,介绍仿真器的技术实现有利于研发工程师的使用和选择。仿真器与示波器,逻辑分析仪是研发工程师的三大法宝。一.仿真器的基本实现方式由于仿真器属于一种高科技含量的开发工具,其实现的方式比较复杂。1.商用CPU这是一种最简单的实现方式,直接采用最普通的商用CPU去设计仿真器。一般来说,CPU都有一些资源,如非屏蔽中断,NMI,TRAP指令,Ready信号等等。在用商用CPU去设计仿真器时,基本上都会采用这些指令式信号,以达到单步Step,全速运行Go,断点Breakpoint的功能。用商用CPU
3、去设计仿真器,一般来说其CPU的速度不能很快,如像8051,196等是可以采用这种方式的。若CPU的速度很快,则无法去实现。因为仿真器要在CPU的地址,数据总线上截取或插入某些资讯。CPU的速度太快,则根本无法在时序上去做截取或插入资讯的动作。用商用CPU去做仿真CPU,一般来说会碰到I/O管脚重整的困难,就像最简单的8051或83C196,其A/D总线都可复用成I/O。而仿真器是要提供所有有关CPU的资料给用户。所以,实际上CPU是以地址/数据总线的方式在运行。如用户的设计是用I/O方式的话,仿真器就一定要重新整合一套I/O线路出来。这一点是最麻烦的地方,往往
4、有些简单的仿真器就不能做到这一点。1.采用特殊的仿真模式有的商用CPU会提供一些特殊的仿真模式,其CPU还是采用商用CPU。但当CPU在上电或复位时,如果在CPU的某些管脚上灌一些特殊的电平或序列,则CPU就会进入一种特殊的仿真模式,如Philips的8051CPU,就是有一种叫“Hooks”的模式。进入这种模式之后,CPU会在地址数据总线上分时地提供一些用于I/O重建的信息。有了这种特殊的仿真模式,仿真器进行I/O重建相对来说比较简单一些,但往往会存在着一些时序方面的问题。毕竟进入仿真模式之后的CPU的时序与普通CPU是有所不同的。如果用户的设计非常苛刻的话,
5、有时会存在连不上目标板的问题,并且,这时的CPU在跑很高的时钟频率会遇到困难。1.使用专用仿真CPU–BondoutSilicon一般来说,当CPU的速度很快时,往往就需要专用的仿真CPU了。这时仿真器在控制方面,相对来说设计起来就比较简单。但此时仿真器的性能,已在很大程度上取决于仿真CPU了。仿真CPU设计得好,则相对来说仿真器的功能及稳定度都会比较好。但是,由于仿真CPU是一款专用的CPU,对于芯片厂商来说生产的数量非常少,往往其测试程度不会很高,专用的仿真CPU或多或少都会有些问题,就像目前国内仿真器普遍采用的W78958仿真CPU。这是Winbond为8
6、051做的一种仿真CPU,其在中断,I/O的驱动能力等存在着问题。2.利用BDM,JTAG方式当CPU越来越复杂,速度越变越快时,以上方式都已不能满足要求了。像PowerPC或Pentium,其内部有MMU,Cache,并且可乱序执行,以往传统的总线方式都不可行了。JTAG的提出,最初是给测试用的,主要目的是为了测试器件是否焊好,是否存在短路或断路。后来,一些CPU的厂商把这一概念引进到了用于CPU内部。把JTAG的移位寄存器全部连到CPU内部的控制状态寄存器,并增加一些仿真器专用的寄存器,如控制Memory的读写等。这时,仿真器在硬件上面已变得很简单了,用户设
7、计目标板时,只要把几个控制管脚电平设计正确,就可以实现在线实时控制。目前,32位元以上的CPU普遍支持这种调试方式。1.ROM-Monitor绝大多数CPU厂商在新推出他的新一代CPU的同时,会相应的推出他的参考设计原型,这就是大家所熟知的ADS开发板,配上第三方的集成开发环境,就可以实现对相应CPU的软件开发,这就是ROM-Monitor仿真器的实现构成。如Motorola的DragonBallEZ/VZ328CPU的开发就是一例,需要MC68EZ/VZ328ADS板,集成开发环境CodeWarriorfor68k,Monitor-MetroTRK协议--建立
8、MC68EZ/VZ328
此文档下载收益归作者所有