《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技术 > 业界动态 > 软硬件协同设计时代到来

软硬件协同设计时代到来

2008-09-24
作者:David

? 以前曾有過系統(tǒng)設(shè)計(jì)完全串行化的時代。整個硬件平臺" title="硬件平臺">硬件平臺在經(jīng)過設(shè)計(jì)、原型創(chuàng)建、調(diào)試和全面完成后才開始軟件的開發(fā)。當(dāng)然,這種方法適合市場窗口很寬的年代。每每想起這種有趣的方法都能讓人暗自竊笑。


?? 如今情況有了很大的改變。市場窗口已經(jīng)變得很窄。硬件開發(fā)一般都要落后于軟件,但沒人能夠忍耐等待硬件原型出來后才開始考慮系統(tǒng)的驅(qū)動程序、操作系統(tǒng)和總線協(xié)議?,F(xiàn)在軟件開發(fā)過程必須盡早開始,以便軟件和硬件可以同時進(jìn)行驗(yàn)證。


?? 但在硅片還沒有出來、或者使用難度越來越大的情況下如何做到這一點(diǎn)呢?另外,在系統(tǒng)設(shè)計(jì)周期的早期階段,最終規(guī)范也是一個不斷變化的目標(biāo),很難為器件建立一個合適的測試平臺。而且你所賴于調(diào)試和性能分析的信息也不完整。除此之外,硬件平臺本身還包含了具有復(fù)雜互連、分級存儲器體系和多個相互依賴的軟件堆棧等特點(diǎn)的異類多內(nèi)核。


?? 對設(shè)計(jì)團(tuán)隊(duì)來說幸運(yùn)的是,針對不存在硬件平臺的情況下高效驗(yàn)證軟件的方法由來已久。當(dāng)然,解決方案的一部分需要極大地依賴于所謂的平臺系統(tǒng)級芯片(SoC),這是從已經(jīng)建立的、具有良好性能的IP庫中生成的通用硬件架構(gòu)。在進(jìn)行軟件開發(fā)時這種方法可以為設(shè)計(jì)團(tuán)隊(duì)提供很大的幫助。


?? 但對于想要在定制的硬件平臺上開發(fā)軟件的激進(jìn)者來說,軟硬件協(xié)同設(shè)計(jì)" title="軟硬件協(xié)同設(shè)計(jì)">軟硬件協(xié)同設(shè)計(jì)一般需要組裝一個高度抽象的硬件平臺模型。實(shí)現(xiàn)這種技術(shù)有多種方式。另外,模擬技術(shù)在最近幾年有了很大的發(fā)展,可以更輕松地用稍加詳細(xì)的模型運(yùn)行更多時鐘周期的仿真。另外,近來的標(biāo)準(zhǔn)化活動也有助于設(shè)計(jì)行業(yè)用建模取得相同效果。


高層決策


?? 越來越流行的解決協(xié)同設(shè)計(jì)問題的方式是從盡可能高的抽象層開始。在這種方式下,硬件/軟件劃分問題和哪種實(shí)現(xiàn)手段最適合初始算法可以得到同時處理。


?? MathWorks公司的模型設(shè)計(jì)概念采用的就是這類方法,它可以自動產(chǎn)生和驗(yàn)證嵌入式處理器的生產(chǎn)代碼。因此MathWorks的系列產(chǎn)品采用的是系統(tǒng)級流程,該流程包含了設(shè)計(jì)、仿真以及在Matlab和Simulink中的系統(tǒng)模型確認(rèn)(圖1)。


?? 借助于Real-Time Workshop和Real-Time Workshop Embedded Coder,設(shè)計(jì)人員" title="設(shè)計(jì)人員">設(shè)計(jì)人員可以自動產(chǎn)生嵌入式處理器的生產(chǎn)代碼。這些工具提供C代碼產(chǎn)生功能,并且目標(biāo)代碼提供了特殊目標(biāo)的生成代碼擴(kuò)展。


? 同時,MathWorks公司的Link產(chǎn)品,如Link for Code Composer Studio或Link for Tasking,可以幫助工程師直接參考原始可執(zhí)行規(guī)范對嵌入式軟件進(jìn)行測試、調(diào)試和驗(yàn)證。在硬件側(cè),工程師同樣可以參考原始可執(zhí)行規(guī)范使用Link for ModelSim驗(yàn)證在FPGA上實(shí)現(xiàn)的HDL代碼或ASIC代碼。


模型生成


? 軟硬件協(xié)同設(shè)計(jì)已經(jīng)成為電子系統(tǒng)級工具和方法的主要應(yīng)用之一。多家EDA公司已經(jīng)為創(chuàng)建特定架構(gòu)的平臺模型開發(fā)了相當(dāng)成熟的流程。


? Carbon設(shè)計(jì)系統(tǒng)公司提供的一類工具可以直接從設(shè)計(jì)的“黃金”RTL描述生成周期精確模型。這種RTL可以用Verilog、VHDL或混合語言的風(fēng)格編寫。這種所謂的“Carbon化”模型針對高性能進(jìn)行過優(yōu)化,因此仿真速度比RTL本身要快許多。


? 對于模型確認(rèn),Carbon公司的流程允許用戶通過參考原始HDL測試平臺的調(diào)試來驗(yàn)證單獨(dú)硬件模型。用Carbon的Model Studio創(chuàng)建的模型可以很容易集成進(jìn)現(xiàn)有的參考測試套件中以驗(yàn)證接口的周期精確性。所有業(yè)界標(biāo)準(zhǔn)的仿真器都可以使用,包括明導(dǎo)的Questa、新思的VCS和Cadence的NC-Sim。


?? 在需要將單獨(dú)的模型集成進(jìn)平臺時,Carbon的模型可以與系統(tǒng)級集成環(huán)境(如CoWare的Platform Architect及其它)集成在一起。它們也可以很容易地與周期級的傳統(tǒng)RTL IP集成在一起。在Carbon流程中的這個點(diǎn)上,用戶可以用從實(shí)際RTL編譯生成的精確周期模型代替早期的系統(tǒng)模型。


?? 在組裝好平臺后,Carbon化模型允許分析和研究硬件架構(gòu)本身。它們允許使用實(shí)際的RTL開展架構(gòu)分析,并使用現(xiàn)有的系統(tǒng)建模環(huán)境確認(rèn)架構(gòu)方面的假設(shè)。用戶可以研究設(shè)計(jì)實(shí)現(xiàn)的性能參數(shù),并驗(yàn)證使用高層系統(tǒng)模型作出的折衷是否值得。

?

?? 最后,該流程通過在硅片可用之前實(shí)現(xiàn)軟件調(diào)試來完成固件確認(rèn)。Carbon流程中的固件確認(rèn)可以充分發(fā)揮Carbon化周期級模型的精度優(yōu)勢,而且有利于虛擬平臺" title="虛擬平臺">虛擬平臺向多個設(shè)計(jì)團(tuán)隊(duì)和第三方軟件開發(fā)人員的推廣。

?

虛擬平臺


? 通過從硬件模型創(chuàng)建虛擬平臺可以解決多種軟件開發(fā)問題。與潛在不穩(wěn)定的首遍成功的硅片原型相比,虛擬系統(tǒng)可以給設(shè)計(jì)師提供對系統(tǒng)的更多控制。這樣,設(shè)計(jì)師可以工作在更加具有確定性的情況下。另外,他們能夠根據(jù)需要任意修改平臺,通過增加或減少功能模型和/或改變速度來確定對架構(gòu)和系統(tǒng)性能的影響。


? 虛擬硬件在存儲器、處理器寄存器和器件狀態(tài)方面提供了很好的可視性。當(dāng)你同步處理器時,你可以立即同步所有器件。虛擬化還可以提供對系統(tǒng)執(zhí)行更強(qiáng)的控制能力。當(dāng)調(diào)試要求全局系統(tǒng)停止時,所有處理器會同時停止,不存在“剎車”效應(yīng)。當(dāng)某個處理器正在執(zhí)行指令時,可以讓其它處理器原地等待。內(nèi)核速度可以慢下來,或完全停止,通信延時可以增加,而來自斷點(diǎn)的時序干擾將不復(fù)存在。


? ESL2.0工具集是CoWare公司推出的一個平臺創(chuàng)建工具。借助于CoWare公司的這些工具,SoC設(shè)計(jì)師可以在周期精確的抽象等級調(diào)試和衡量IP及子系統(tǒng)RTL的平臺級性能。


? CoWare公司聲稱利用虛擬平臺技術(shù)可以獲得30%到50%的周期時間減少。該技術(shù)將加快編輯-編譯-調(diào)試周期。虛擬平臺可以提供包括處理器、總線、外設(shè)和環(huán)境在內(nèi)的整個平臺的完全可視化和可控制能力,并且具有確定性。


?? 用于協(xié)同設(shè)計(jì)目的的虛擬平臺的另外一個優(yōu)點(diǎn)是消除了對硬件可達(dá)性的依賴。就象軟件包一樣,虛擬平臺是全球可訪問的-只需幾分鐘的時間,而且上千個單元都有一致的確定性行為。


? 虛擬平臺還有助于軟件開發(fā)人員回避由于不斷演變的硬件規(guī)范而導(dǎo)致的重復(fù)工作。CoWare的虛擬平臺可以用硬件架構(gòu)師和開發(fā)人員使用的相同技術(shù)進(jìn)行創(chuàng)建。因此,當(dāng)作出修改時,它們可以立即提供給軟件開發(fā)人員。

?

建立基礎(chǔ)架構(gòu)


? 虛擬平臺路線有其優(yōu)勢,但在成功道路上有也障礙。建立虛擬平臺是一個十分費(fèi)力的過程,而且必須與設(shè)計(jì)過程本身同時進(jìn)行,這樣就帶來了硬件模型在各種商用流程之間的互操作性問題。


? Imperas是虛擬平臺領(lǐng)域的一家新創(chuàng)企業(yè),今年初該公司作出了巨大的技術(shù)貢獻(xiàn),承諾為虛擬平臺提供開源基礎(chǔ)架構(gòu)" title="基礎(chǔ)架構(gòu)">基礎(chǔ)架構(gòu)。發(fā)現(xiàn)缺少寬泛的調(diào)試基礎(chǔ)架構(gòu)后,公司在其開放虛擬平臺(OVP)網(wǎng)站www.ovpworld.org和SourceForge網(wǎng)站上免費(fèi)推出了三種技術(shù)組件。


?? 第一種組件由用于處理器、外設(shè)和平臺建模的C語言建模應(yīng)用編程接口(API)組成,可以幫助設(shè)計(jì)師建立平臺驗(yàn)證基礎(chǔ)架構(gòu)并創(chuàng)建行為與處理器模型。第二個組件是寫入API的開源模型庫。這些模型能夠以預(yù)編譯對象代碼或源代碼文件的形式獲得。最初的庫由ARM、MIPS和OpenRISC OR1K器件的處理器模型組成,今后還會增加其它的處理器。


? 在上個月舉行的第45屆設(shè)計(jì)自動會議上,Imperas發(fā)布了與Tensilica公司的合作伙伴關(guān)系,允許Tensilica公司的Xtensa和Diamond Standard處理器的快速功能、指令精確模型在基于OVP的虛擬平臺上運(yùn)行。特別是,允許集成Tensilica處理器模型的打包文件現(xiàn)在就可以從www.ovpworld.org上免費(fèi)下載。這些模型將與Tensilica的TurboXim快速功能仿真器一起運(yùn)行。TurboXim仿真器的運(yùn)行速度比傳統(tǒng)的指令集仿真器快40到80倍。


? 三個免費(fèi)組件中的最后一個是OVP參考仿真器,能夠以高達(dá)500MIPS的速度運(yùn)行處理器模型。名為OVPsim的這個仿真器提供GDB接口供設(shè)計(jì)師調(diào)試選擇。OVPsim可以通過C/C++/SystemC封包器在其它仿真器中調(diào)用。它還能容納現(xiàn)有的指令集仿真器(ISS)處理器模型(圖3)。


硬件的參與
存在用硬件實(shí)現(xiàn)模擬中的軟硬件協(xié)同設(shè)計(jì)的情況。基于模擬的方法可以極大地幫助對硬件-軟件交互行為的檢查,因?yàn)樗确抡婵煸S多倍,并能使用硬件監(jiān)視和跟蹤功能,還能詳細(xì)檢查問題。
? 另外,模擬系統(tǒng)可以鏈接進(jìn)虛擬平臺,從而有助于實(shí)現(xiàn)完整的系統(tǒng)驗(yàn)證。例如,當(dāng)諸如CoWare公司Platform Architect的工具通過總線事務(wù)處理器的方式連接到ZeBu系統(tǒng)時,EVE公司的ZeBu系列模擬系統(tǒng)就可以在ESL模擬環(huán)境中使用(圖4)。


? EVE的ZeBu模擬器允許設(shè)計(jì)人員以1MHz以上的速度執(zhí)行嵌入式軟件,這個速度被許多開發(fā)人員認(rèn)為是確認(rèn)軟件的最低可接受速度。借助于ZeBu技術(shù),設(shè)計(jì)人員可以通過一個JTAG事務(wù)處理器將調(diào)試器連接至待測設(shè)計(jì)(DUT)模式下的處理器進(jìn)行軟件調(diào)試,然后停止/開始和逐步運(yùn)行調(diào)試器,中間不會丟失連接。


? “這是通過物理的JTAG電纜/插座無法實(shí)現(xiàn)的。”EVE-USA公司營銷副總裁兼總經(jīng)理Lauro Rizzatti表示。ZeBu系列產(chǎn)品同樣可以讓所有寄存器和存儲器對設(shè)計(jì)人員完全可視,無需編譯探測電路或?qū)UT應(yīng)用儀器。


?? 所有這些開發(fā)成果允許開發(fā)人員執(zhí)行軟件、運(yùn)行調(diào)試器,并在發(fā)生錯誤時停止運(yùn)行,查看硬件內(nèi)部,并詳細(xì)了解可能是軟件缺陷或硬件缺陷的問題。通過保持對軟件調(diào)試器、硬件寄存器/存儲器及兩者之間切換的可視性,錯誤通??梢栽谙鄬芏痰臅r間內(nèi)捕捉到。


不斷演進(jìn)的標(biāo)準(zhǔn)


?? EVE的ZeBu技術(shù)采用的事務(wù)處理器是從標(biāo)準(zhǔn)的協(xié)同模擬建模接口(SCEMI)改編而來的,它改進(jìn)了不同硬件和硬件仿真及模擬系統(tǒng)之間的高速、事務(wù)級驗(yàn)證性能。SCE-MI標(biāo)準(zhǔn)是在推進(jìn)EDA相關(guān)標(biāo)準(zhǔn)化工作的行業(yè)組織Accellera的支持下創(chuàng)建的。


? 最近,Accellera的董事會批準(zhǔn)了2.0版本的SCE-MI標(biāo)準(zhǔn)。據(jù)該組織表示,這是向提供在仿真、模擬和快速原型建立環(huán)境之間連接和移植事務(wù)處理器模型的便利方法邁出的重要一步。


?? “Accellera的SCE-MI接口試圖在模型執(zhí)行工具(如仿真器、模擬器和測試平臺)之間形成基礎(chǔ)性軟硬件接口,并且盡可能做到統(tǒng)一。”Accellera的接口技術(shù)委員會(ITC)主席、擬制SCE-MI 2.0規(guī)范的Brian Bailey表示,“2.0版本還參考了SystemVerilog直接編程接口(DPI)標(biāo)準(zhǔn),確保在已經(jīng)有合適標(biāo)準(zhǔn)的地方不會創(chuàng)建多余的標(biāo)準(zhǔn)?!?/FONT>

?

? 除了在SystemVerilog DPI子集基礎(chǔ)上建立的新使用模型外,SCEMI 2.0如今還兼容Open SystemC Initiative(OSCI)的事務(wù)級建模(TLM)定義。SCE-MI 2.0保持了與以前1.1版的后向兼容性,它還增加了具有數(shù)據(jù)整形功能的流接口用于優(yōu)化模擬速度,增加了仿真與模擬之間的雙向模型移植功能,并增加了更加簡化的事務(wù)處理器建模功能。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容