資源描述:
《仿真器概念及實(shí)現(xiàn)技術(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、仿真器概念及實(shí)現(xiàn)技術(shù)自從二十多年前MICROTEK推出首臺(tái)具有劃時(shí)代意義的仿真器(Micro-controllerIn-CircuitEmulator)以來(lái),隨著IC和軟件集成平臺(tái)的飛速發(fā)展,仿真器也不斷賦予新的內(nèi)容和新的挑戰(zhàn),因?yàn)樗陌l(fā)展必須與CPU同步,要想在總線速度為150Mhz*64bit的情況下實(shí)現(xiàn)TRACE已經(jīng)成為不可能。MICETEK繼承了MICROTEK多年的經(jīng)驗(yàn),相繼推出了EasyPack8052/8xc196/PIC16F,MICEpack186/251/68302,PowerPack386/486/Pentium/PentiumII/Pen
2、tiumIII,HitoolforARM/PowerPC等多系列仿真器。因此,介紹仿真器的技術(shù)實(shí)現(xiàn)有利于研發(fā)工程師的使用和選擇。仿真器與示波器,邏輯分析儀是研發(fā)工程師的三大法寶。一.仿真器的基本實(shí)現(xiàn)方式由于仿真器屬于一種高科技含量的開(kāi)發(fā)工具,其實(shí)現(xiàn)的方式比較復(fù)雜。1.商用CPU這是一種最簡(jiǎn)單的實(shí)現(xiàn)方式,直接采用最普通的商用CPU去設(shè)計(jì)仿真器。一般來(lái)說(shuō),CPU都有一些資源,如非屏蔽中斷,NMI,TRAP指令,Ready信號(hào)等等。在用商用CPU去設(shè)計(jì)仿真器時(shí),基本上都會(huì)采用這些指令式信號(hào),以達(dá)到單步Step,全速運(yùn)行Go,斷點(diǎn)Breakpoint的功能。用商用CPU
3、去設(shè)計(jì)仿真器,一般來(lái)說(shuō)其CPU的速度不能很快,如像8051,196等是可以采用這種方式的。若CPU的速度很快,則無(wú)法去實(shí)現(xiàn)。因?yàn)榉抡嫫饕贑PU的地址,數(shù)據(jù)總線上截取或插入某些資訊。CPU的速度太快,則根本無(wú)法在時(shí)序上去做截取或插入資訊的動(dòng)作。用商用CPU去做仿真CPU,一般來(lái)說(shuō)會(huì)碰到I/O管腳重整的困難,就像最簡(jiǎn)單的8051或83C196,其A/D總線都可復(fù)用成I/O。而仿真器是要提供所有有關(guān)CPU的資料給用戶。所以,實(shí)際上CPU是以地址/數(shù)據(jù)總線的方式在運(yùn)行。如用戶的設(shè)計(jì)是用I/O方式的話,仿真器就一定要重新整合一套I/O線路出來(lái)。這一點(diǎn)是最麻煩的地方,往往
4、有些簡(jiǎn)單的仿真器就不能做到這一點(diǎn)。1.采用特殊的仿真模式有的商用CPU會(huì)提供一些特殊的仿真模式,其CPU還是采用商用CPU。但當(dāng)CPU在上電或復(fù)位時(shí),如果在CPU的某些管腳上灌一些特殊的電平或序列,則CPU就會(huì)進(jìn)入一種特殊的仿真模式,如Philips的8051CPU,就是有一種叫“Hooks”的模式。進(jìn)入這種模式之后,CPU會(huì)在地址數(shù)據(jù)總線上分時(shí)地提供一些用于I/O重建的信息。有了這種特殊的仿真模式,仿真器進(jìn)行I/O重建相對(duì)來(lái)說(shuō)比較簡(jiǎn)單一些,但往往會(huì)存在著一些時(shí)序方面的問(wèn)題。畢竟進(jìn)入仿真模式之后的CPU的時(shí)序與普通CPU是有所不同的。如果用戶的設(shè)計(jì)非??量痰脑?,
5、有時(shí)會(huì)存在連不上目標(biāo)板的問(wèn)題,并且,這時(shí)的CPU在跑很高的時(shí)鐘頻率會(huì)遇到困難。1.使用專用仿真CPU–BondoutSilicon一般來(lái)說(shuō),當(dāng)CPU的速度很快時(shí),往往就需要專用的仿真CPU了。這時(shí)仿真器在控制方面,相對(duì)來(lái)說(shuō)設(shè)計(jì)起來(lái)就比較簡(jiǎn)單。但此時(shí)仿真器的性能,已在很大程度上取決于仿真CPU了。仿真CPU設(shè)計(jì)得好,則相對(duì)來(lái)說(shuō)仿真器的功能及穩(wěn)定度都會(huì)比較好。但是,由于仿真CPU是一款專用的CPU,對(duì)于芯片廠商來(lái)說(shuō)生產(chǎn)的數(shù)量非常少,往往其測(cè)試程度不會(huì)很高,專用的仿真CPU或多或少都會(huì)有些問(wèn)題,就像目前國(guó)內(nèi)仿真器普遍采用的W78958仿真CPU。這是Winbond為8
6、051做的一種仿真CPU,其在中斷,I/O的驅(qū)動(dòng)能力等存在著問(wèn)題。2.利用BDM,JTAG方式當(dāng)CPU越來(lái)越復(fù)雜,速度越變?cè)娇鞎r(shí),以上方式都已不能滿足要求了。像PowerPC或Pentium,其內(nèi)部有MMU,Cache,并且可亂序執(zhí)行,以往傳統(tǒng)的總線方式都不可行了。JTAG的提出,最初是給測(cè)試用的,主要目的是為了測(cè)試器件是否焊好,是否存在短路或斷路。后來(lái),一些CPU的廠商把這一概念引進(jìn)到了用于CPU內(nèi)部。把JTAG的移位寄存器全部連到CPU內(nèi)部的控制狀態(tài)寄存器,并增加一些仿真器專用的寄存器,如控制Memory的讀寫(xiě)等。這時(shí),仿真器在硬件上面已變得很簡(jiǎn)單了,用戶設(shè)
7、計(jì)目標(biāo)板時(shí),只要把幾個(gè)控制管腳電平設(shè)計(jì)正確,就可以實(shí)現(xiàn)在線實(shí)時(shí)控制。目前,32位元以上的CPU普遍支持這種調(diào)試方式。1.ROM-Monitor絕大多數(shù)CPU廠商在新推出他的新一代CPU的同時(shí),會(huì)相應(yīng)的推出他的參考設(shè)計(jì)原型,這就是大家所熟知的ADS開(kāi)發(fā)板,配上第三方的集成開(kāi)發(fā)環(huán)境,就可以實(shí)現(xiàn)對(duì)相應(yīng)CPU的軟件開(kāi)發(fā),這就是ROM-Monitor仿真器的實(shí)現(xiàn)構(gòu)成。如Motorola的DragonBallEZ/VZ328CPU的開(kāi)發(fā)就是一例,需要MC68EZ/VZ328ADS板,集成開(kāi)發(fā)環(huán)境CodeWarriorfor68k,Monitor-MetroTRK協(xié)議--建立
8、MC68EZ/VZ328