風(fēng)河Simics全系統(tǒng)模擬工具
概述
近年來電子系統(tǒng)已經(jīng)越變越復(fù)雜,大多使用異構(gòu)多處理器和多核處理器來運(yùn)行多個(gè)軟件棧和操作系統(tǒng),有時(shí)這些系統(tǒng)還會(huì)作為大型系統(tǒng)的一部分,通過總線、背板、局域網(wǎng)或因特網(wǎng)進(jìn)行互聯(lián)。由于系統(tǒng)日益復(fù)雜且對系統(tǒng)間互聯(lián)的要求不斷提高,傳統(tǒng)的開發(fā)工具和流程在面對這些系統(tǒng)的調(diào)試、集成和測試時(shí)顯得力不從心。風(fēng)河Simics幫助開發(fā)人員從根本上提高了系統(tǒng)開發(fā)、調(diào)試和測試的效率,從而大大改善了包括產(chǎn)品上市時(shí)間、成本、產(chǎn)品質(zhì)量在內(nèi)的幾個(gè)重要業(yè)務(wù)指標(biāo)。
模擬完整的系統(tǒng)
風(fēng)河Simics是一個(gè)全系統(tǒng)模擬工具,為軟件開發(fā)人員把整個(gè)目標(biāo)硬件平臺(tái)模擬出來。無論該硬件是一個(gè)獨(dú)立處理器還是一個(gè)大型的、復(fù)雜的、互聯(lián)的電子系統(tǒng),均可通過一個(gè)虛擬平臺(tái)模擬目標(biāo)硬件的各種功能操作,使得未經(jīng)修改的目標(biāo)軟件(BSP,固件,實(shí)時(shí)操作系統(tǒng),中間件和應(yīng)用程序)完全以真實(shí)硬件平臺(tái)上運(yùn)行的方式在虛擬平臺(tái)上運(yùn)行。
模擬整個(gè)目標(biāo)系統(tǒng)
加快產(chǎn)品開發(fā)的速度
通過有效的團(tuán)隊(duì)配合,開發(fā)人員能夠提高產(chǎn)品開發(fā)的效率從而加快產(chǎn)品上市的速度,像電路板設(shè)計(jì)、系統(tǒng)集成、系統(tǒng)測試等環(huán)節(jié)也可以在實(shí)體硬件到位之前就開始進(jìn)行。Simics 模擬工具獨(dú)有的各種功能將給開發(fā)人員帶來更多更大的幫助,包括早期不間斷的系統(tǒng)集成、利用虛擬樣機(jī)進(jìn)行更快速的原型設(shè)計(jì)、用假設(shè)情景進(jìn)行結(jié)構(gòu)分析以及試用多個(gè)硬件或軟件進(jìn)行比較選擇。
Simics還支持協(xié)同開發(fā)平臺(tái),讓所有開發(fā)人員能夠共享整個(gè)虛擬系統(tǒng)和狀態(tài),從而提高效率并加速軟件的開發(fā)和測試。
優(yōu)化系統(tǒng)開發(fā)
當(dāng)今的系統(tǒng)互聯(lián)與調(diào)試日趨復(fù)雜,增加了管理的難度。傳統(tǒng)的開發(fā)工具協(xié)助單個(gè)參考板上的故障,但要在多個(gè)參考板組成的系統(tǒng)中查找錯(cuò)誤就會(huì)變得相當(dāng)復(fù)雜。例如,使用傳統(tǒng)調(diào)試工具停止運(yùn)行某塊參考板時(shí),系統(tǒng)中的其他參考板仍會(huì)繼續(xù)執(zhí)行任務(wù),這樣就讓實(shí)現(xiàn)故障隔離幾乎成為不可能。
Simics能夠同時(shí)操作、查看和控制系統(tǒng)中所有的參考板。任何正向或逆向的單步執(zhí)行都可應(yīng)用于整個(gè)系統(tǒng)而非某一部分,還可以先創(chuàng)建整個(gè)系統(tǒng)的檢查點(diǎn)或快照再共享給其他的開發(fā)人員,也可以在監(jiān)看整個(gè)系統(tǒng)的狀態(tài)時(shí)繼續(xù)無斷點(diǎn)執(zhí)行原有操作。
Simics 對軟件開發(fā)和測試都提供獨(dú)一無二的功能支持,包括硬件和軟件故障注入、虛擬系統(tǒng)時(shí)間的控制和硬件寄存器的管理。
Simics 虛擬平臺(tái)比實(shí)體硬件更易于設(shè)置和管理,且可以通過復(fù)制部分系統(tǒng)來測試擴(kuò)展性。Simics可以模擬幾百個(gè)參考板和處理器組成的系統(tǒng),并在上面運(yùn)行所有的目標(biāo)軟件。
全系統(tǒng)目標(biāo)硬件管理和系統(tǒng)集成
系統(tǒng)的開發(fā)、調(diào)試、集成和測試過程中面臨的最大困難就是有時(shí)候缺少目標(biāo)硬件,因此開發(fā)團(tuán)隊(duì)只能退而求其次使用替代方案如評估板或基于PC主機(jī)的開發(fā)。Simics使得問題迎刃而解,整個(gè)開發(fā)團(tuán)隊(duì)的每一個(gè)成員都能獲得一個(gè)完整的虛擬目標(biāo)硬件系統(tǒng),每個(gè)開發(fā)人員都能基于整個(gè)系統(tǒng)來思考、設(shè)計(jì)方案與開發(fā)。
對于一些需要對目標(biāo)硬件作各種不同配置的開發(fā)人員,Simics虛擬平臺(tái)可輕而易舉地實(shí)現(xiàn)多種組件配置,這一功能在兼容性測試和客戶的特定條件測試中頗受青睞。
對整個(gè)產(chǎn)品生命周期的支持
Simics 對產(chǎn)品的整個(gè)生命周期都能提供支持,從系統(tǒng)定義直到后期產(chǎn)品維護(hù)
系統(tǒng)定義
支持多種硬件架構(gòu)
分析硬件架構(gòu)對原有軟件的影響
硬件和OS Bring-up
在硬件到位之前對底層軟件、板級支持包(BSPs)與OS設(shè)置進(jìn)行開發(fā)、調(diào)試和測試
建立虛擬原型
應(yīng)用程序開發(fā)
為每個(gè)應(yīng)用程序開發(fā)人員提供虛擬目標(biāo)硬件,消除了在后續(xù)集成環(huán)節(jié)中可能遇到的問題
提升高級調(diào)試功能,如保存檢查點(diǎn)(系統(tǒng)現(xiàn)場)、逆向調(diào)試和斷點(diǎn)調(diào)試
不斷集成并持續(xù)使用虛擬的目標(biāo)硬件,而不需等待實(shí)體硬件到位
在系統(tǒng)層面進(jìn)行調(diào)試,開通過檢查點(diǎn)將故障報(bào)告給開發(fā)人員
系統(tǒng)維護(hù)
始終對舊版產(chǎn)品上的軟件提供維護(hù)支持
在開始新型號硬件開發(fā)之前分析原有軟件的升級方案
支持多種目標(biāo)架構(gòu)
Power
Intel
MIPS
ARM
M68K
SPARC
Others
風(fēng)河Simics的主要功能
可模擬真實(shí)的硬件環(huán)境運(yùn)行所有軟件
可對整個(gè)系統(tǒng)進(jìn)行分析,而非某一塊參考板
通過正向或逆向的運(yùn)行提高調(diào)試效率
可從上一次保存的記錄點(diǎn)開始繼續(xù)執(zhí)行操作
整個(gè)開發(fā)團(tuán)隊(duì)都可共享系統(tǒng)和虛擬硬件的狀態(tài)
在系統(tǒng)穩(wěn)健性測試中進(jìn)行故障導(dǎo)入
通過創(chuàng)建腳本自動(dòng)執(zhí)行人工步驟和重復(fù)任務(wù)
提供標(biāo)準(zhǔn)調(diào)試器和軟件工具組
可與現(xiàn)有的開發(fā)環(huán)境進(jìn)行集成
可模擬整個(gè)目標(biāo)系統(tǒng)包括處理器、設(shè)備、所有電路板和子系統(tǒng)
可以使用Wind River 提供的預(yù)裝虛擬平臺(tái),也可以自行搭建或由本公司搭建所需平臺(tái)