詳述軟件開(kāi)發(fā)中模擬器與仿真器的區(qū)別
模擬器與仿真器均可為開(kāi)發(fā)人員提供代碼與系統(tǒng)性能更佳的可視化,即便是最先進(jìn)的DSP與微處理器。
模擬與仿真
在基于DSP的開(kāi)發(fā)設(shè)計(jì)中,模擬與仿真的作用很容易使人混淆,因?yàn)榇致钥磥?lái),它們執(zhí)行的功能非常相似。從最簡(jiǎn)單的方面講,模擬與仿真的主要區(qū)別在于模擬完全是在軟件中完成的,而仿真則是在硬件中進(jìn)行。但是如果要更深入探究的話,每種工具的唯一特性與強(qiáng)大的優(yōu)勢(shì)是非常明顯的。兩者之間取長(zhǎng)補(bǔ)短,共同提供了它們無(wú)法單獨(dú)擁有的優(yōu)勢(shì)。
從傳統(tǒng)意義上講,模擬是在設(shè)計(jì)的最初階段開(kāi)始進(jìn)行,這期間設(shè)計(jì)人員會(huì)借助它來(lái)對(duì)初始代碼進(jìn)行評(píng)估。開(kāi)發(fā)人員需在設(shè)計(jì)進(jìn)程的初期階段--一般在獲得硬件前的幾個(gè)月--使用模擬器對(duì)復(fù)雜的多核系統(tǒng)進(jìn)行建模。這使得在無(wú)需原型器件的情況下對(duì)各種設(shè)計(jì)配置進(jìn)行評(píng)估成為可能。此外,當(dāng)設(shè)計(jì)人員運(yùn)行核心代碼并對(duì)之進(jìn)行不同的更改時(shí),軟件模擬可以采集到大量的調(diào)試數(shù)據(jù)。通過(guò)模擬會(huì)影響代碼效果的DSP及所有外設(shè)的性能,軟件模擬有可能確定最有效的應(yīng)用設(shè)計(jì)。
然而,以往模擬器的緩慢速度使之無(wú)法得到廣泛的應(yīng)用。為了提高效率,必須加快模擬器的速度,才能實(shí)現(xiàn)針對(duì)復(fù)雜DSP應(yīng)用所需的大量數(shù)據(jù)采集。由于模擬器速度緩慢,設(shè)計(jì)人員往往在開(kāi)發(fā)周期的后期階段當(dāng)獲得硬件原型后才進(jìn)行調(diào)試與分析--這樣的過(guò)程會(huì)造成巨大的時(shí)間與成本的浪費(fèi)。隨著快速模擬技術(shù)與數(shù)據(jù)采集工具的推出,開(kāi)發(fā)人員僅需幾分鐘便可采集大量數(shù)據(jù),而非先前或同類(lèi)競(jìng)爭(zhēng)模擬器所需要的數(shù)小時(shí)。模擬器在設(shè)計(jì)與調(diào)試過(guò)程中是一種非常重要的工具,因?yàn)樗軌蚍磸?fù)地運(yùn)行相同的模擬過(guò)程,而基于硬件的評(píng)估會(huì)因中斷等外部事件所導(dǎo)致的變化而無(wú)法實(shí)現(xiàn)這一過(guò)程。此外,模擬器還具有高度的靈活性,可獨(dú)立對(duì)CPU進(jìn)行深入分析,或可用于對(duì)整個(gè)系統(tǒng)進(jìn)行建模。模擬器可輕松地進(jìn)行配置,能夠與各種存儲(chǔ)器及外設(shè)相集成。由于設(shè)計(jì)人員正在對(duì)硬件進(jìn)行建模,因而他們實(shí)際上可以將更多的東西構(gòu)建到模型中去,使之可提取更多的數(shù)據(jù)來(lái)支持高級(jí)分析功能。
仿真功能的深入研究
那么何處需要仿真呢?仿真使開(kāi)發(fā)人員可了解不同軟硬件模型間的實(shí)時(shí)交互作用。它還可以將實(shí)現(xiàn)真實(shí)世界的激勵(lì)連接到外設(shè)上,來(lái)啟動(dòng)系統(tǒng)行為的調(diào)試。開(kāi)發(fā)人員在開(kāi)發(fā)后期階段可獲得真實(shí)數(shù)據(jù)時(shí)使用仿真器。通過(guò)確定應(yīng)用程序在硬件上實(shí)際運(yùn)行性能,仿真器可驗(yàn)證模擬器測(cè)試過(guò)的設(shè)計(jì)。驗(yàn)證仿真器獲得的這些信息可以幫助設(shè)計(jì)人員再次采用模擬器來(lái)進(jìn)一步優(yōu)化硬件性能。
時(shí)鐘速度、數(shù)據(jù)速率以及器件復(fù)雜性不斷加速的發(fā)展也推動(dòng)著仿真器的向前發(fā)展。先進(jìn)的仿真技術(shù)如實(shí)時(shí)數(shù)據(jù)交換使您可在不影響運(yùn)行的情況下獲得系統(tǒng)運(yùn)行的直觀視圖。通過(guò)RTDX數(shù)據(jù)鏈接,TI基于JTAG掃描技術(shù)的PCI總線仿真器XDS560助于減少當(dāng)處理器速度增加以及外設(shè)、數(shù)據(jù)總線和其它系統(tǒng)組件被嵌入到器件中時(shí)所出現(xiàn)的“可見(jiàn)性降低”問(wèn)題,這種問(wèn)題的出現(xiàn)會(huì)導(dǎo)致幾乎無(wú)法查看芯片中程序執(zhí)行的實(shí)時(shí)行為,或無(wú)法發(fā)現(xiàn)用以訪問(wèn)數(shù)據(jù)的測(cè)試點(diǎn)。仿真器可在不改變器件性能的情況下,在主機(jī)開(kāi)發(fā)平臺(tái)與目標(biāo)處理器間進(jìn)行數(shù)據(jù)傳輸、下載代碼和觀察復(fù)雜序列事件,所有這些都使得評(píng)估系統(tǒng)未來(lái)開(kāi)發(fā)完成后實(shí)地運(yùn)行的性能成為可能。
全面集成的測(cè)試工具
模擬不是仿真與真實(shí)硬件的替代品。這兩種技術(shù)可互相補(bǔ)充,并可在設(shè)計(jì)流程中結(jié)合使用。DSP模擬與仿真功能能以足夠快的速度、利用足夠豐富的數(shù)據(jù)以及足夠高的簡(jiǎn)易性共同模擬"虛擬原型",并驗(yàn)證最終硬件,以便將基于DSP的系統(tǒng)開(kāi)發(fā)提升到一個(gè)新的水平,節(jié)省巨大的成本并顯著地縮短開(kāi)發(fā)時(shí)間。
事實(shí)上,模擬器與仿真器的功能在設(shè)計(jì)過(guò)程中的特定階段將會(huì)進(jìn)行混合。下圖說(shuō)明模擬與仿真在設(shè)計(jì)周期的某些階段應(yīng)該一起使用,共同執(zhí)行特定任務(wù),以實(shí)現(xiàn)更佳的總體設(shè)計(jì)目標(biāo)。