仿真器種類
軟件仿真器
這種方法主要是使用計算機軟件來模擬運行,實際的單片機運行因此仿真與硬件無關的系統(tǒng)具有一定的優(yōu)點。用戶不需要搭建硬件電路就可以對程序進行驗證,特別適合于偏重算法的程序。軟件仿真的缺點是無法完全仿真與硬件相關的部分,因此最終還要通過硬件仿真來完成最終的設計。
硬件仿真器
使用附加的硬件來替代用戶系統(tǒng)的單片機并完成單片機全部或大部分的功能。使用了附加硬件后用戶就可以對程序的運行進行控制,例如單步,全速,查看資源斷點等。硬件仿真是開發(fā)過程中所必須的。
仿真器的基本實現(xiàn)方式
1)商用CPU這是一種最簡單的實現(xiàn)方式,直接采用最普通的商用CPU去設計仿真器。一般來說,CPU都有一些資源,如非屏蔽中斷,NMI,TRAP指令,Ready信號等等。在用商用CPU去設計仿真器時,基本上都會采用這些指令式信號,以達到單步Step,全速運行Go,斷點Breakpoint的功能。用商用CPU去設計仿真器,一般來說其CPU的速度不能很快,
如像8051,196等是可以采用這種方式的。若CPU的速度很快,則無法去實現(xiàn)。因為仿真器要在CPU的地址,數(shù)據(jù)總線上截取或插入某些資訊。CPU的速度太快,則根本無法在時序上去做截取或插入資訊的動作。用商用CPU去做仿真CPU,一般來說會碰到I/O管腳重整的困難,就像最簡單的8051或83C196,其A/D總線都可復用成I/O。而仿真器是要提供所有有關CPU的資料給用戶。所以,實際上CPU是以地址/數(shù)據(jù)總線的方式在運行。如用戶的設計是用I/O方式的話,仿真器就一定要重新整合一套I/O線路出來。這一點是最麻煩的地方,往往有些簡單的仿真器就不能做到這一點。
2)采用特殊的仿真模式有的商用CPU會提供一些特殊的仿真模式,其CPU還是采用商用CPU。但當CPU在上電或復位時,如果在CPU的某些管腳上灌一些特殊的電平或序列,則CPU就會進入一種特殊的仿真模式,如Philips的8051CPU,就是有一種叫“Hooks”的模式。進入這種模式之后,CPU會在地址數(shù)據(jù)總線上分時地提供一些用于I/O重建的信息。有了這種特殊的仿真模式,仿真器進行I/O重建相對來說比較簡單一些,但往往會存在著一些時序方面的問題。畢竟進入仿真模式之后的CPU的時序與普通CPU是有所不同的。如果用戶的設計非常苛刻的話,有時會存在連不上目標板的問題,并且,這時的CPU在跑很高的時鐘頻率會遇到困難。
3)使用專用仿真CPU–BondoutSilicon一般來說,當CPU的速度很快時,往往就需要專用的仿真CPU了。這時仿真器在控制方面,相對來說設計起來就比較簡單。但此時仿真器的性能,已在很大程度上取決于仿真CPU了。仿真CPU設計得好,則相對來說仿真器的功能及穩(wěn)定度都會比較好。但是,由于仿真CPU是一款專用的CPU,對于芯片廠商來說生產的數(shù)量非常少,往往其測試程度不會很高,專用的仿真CPU或多或少都會有些問題,就像目前國內仿真器普遍采用的W78958仿真CPU。這是Winbond為8051做的一種仿真CPU,其在中斷,I/O的驅動能力等存在著問題。
4)利用BDM,JTAG方式當CPU越來越復雜,速度越變越快時,以上方式都已不能滿足要求了。像PowerPC或Pentium,其內部有MMU,Cache,并且可亂序執(zhí)行,以往傳統(tǒng)的總線方式都不可行了。JTAG的提出,最初是給測試用的,主要目的是為了測試器件是否焊好,是否存在短路或斷路。后來,一些CPU的廠商把這一概念引進到了用于CPU內部。把JTAG的移位寄存器全部連到CPU內部的控制狀態(tài)寄存器,并增加一些仿真器專用的寄存器,如控制Memory的讀寫等。這時,仿真器在硬件上面已變得很簡單了,用戶設計目標板時,只要把幾個控制管腳電平設計正確,就可以實現(xiàn)在線實時控制。
-
仿真器
+關注
關注
14文章
1017瀏覽量
83726 -
硬件仿真器
+關注
關注
0文章
7瀏覽量
8647 -
軟件仿真器
+關注
關注
0文章
2瀏覽量
1723
發(fā)布評論請先 登錄
相關推薦
評論