通過(guò)高級C模型驗證管理設計的復雜性
嵌入式系統設計復雜性的增加,以及產(chǎn)品生命周期的縮短和競爭態(tài)勢的加強,將嵌入式設計技術(shù)不斷推向極限。復雜設計包含更多器件以及更強的互操作性,因此需要更多仿真、更高吞吐量以及更好的綜合測試。為解決復雜性問(wèn)題,在設計過(guò)程中,設計團隊需要另外一套方法,以減少系統驗證運行時(shí)間,及早進(jìn)行驗證。一種策略是通過(guò)C或HDL編寫(xiě)的高級行為模型來(lái)提高建模抽象的級別。
本文引用地址:http://dyxdggzs.com/article/5366.htm用抽象的C模型方法,建立嵌入式系統的結構化開(kāi)發(fā)
在系統抽象的較高級,結構化決策很少需要考慮細節。因此,抽象的C模型很少需要詳細的功能性。這些高級C模型可以快速建立,并比傳統的RTL模型仿真更快。原來(lái)用RTL花費數月時(shí)間編寫(xiě)的模型用高級C模型建立只需要幾周。
高級模型的速度和相對簡(jiǎn)單性允許工程師在設計過(guò)程的早期階段就可以進(jìn)行更全面的驗證。設計流程的更改在該階段不僅可以及早實(shí)施,降低成本,而且早些完成這些工作能降低風(fēng)險、提高設計產(chǎn)出、增強設計性能的可靠性。早期驗證和分析還減少了工程師必須用在調試復雜問(wèn)題的時(shí)間。
一種動(dòng)態(tài)參數化的C模型環(huán)境使在仿真期間可以修改設計特性,進(jìn)一步突出了早期驗證的優(yōu)點(diǎn)。仿真運行不需要編輯、重編譯、重連接和重載模型。例如,利用這一性能特點(diǎn),用戶(hù)可以根據算法第一次通過(guò)的結果,進(jìn)行設計修改的仿真。重復這樣做,仿真會(huì )自動(dòng)收斂于一特定的設計要求。
利用高速仿真的優(yōu)點(diǎn)、簡(jiǎn)化的模型建立及動(dòng)態(tài)參數化,可以使設計者研究各種設計選擇,驗證功能性,在設計過(guò)程中及早優(yōu)化系統性能。高級系統模型的建立也可同時(shí)由硬件和軟件團隊使用。例如,硬件工程師可以在早期向軟件組提供硬件觀(guān)點(diǎn)的確切表達。這樣,從整體效果上增加了協(xié)同驗證的機會(huì ),并減少了驗證運行時(shí)間。
由于高級C模型的效率,工程師可以用更多的時(shí)間改進(jìn)其設計。功能性、性能和設計差異性會(huì )大大增強優(yōu)化體系結構的潛力。抽象化C模型允許工程師在設計流程中早些決定哪些產(chǎn)品創(chuàng )意值得追求,哪些不值得。
由于在高級抽象對行為進(jìn)行了可行性測試,因而很少會(huì )發(fā)生錯誤,公司可以避免在不可行項目中投入大量的金錢(qián)、時(shí)間和精力。系統設計者甚至可以在現有設計進(jìn)行的同時(shí)研究未來(lái)設計的可能性。例如,路由器總線(xiàn)和存儲架構的優(yōu)化。一旦高層體系結構建立,作為基準,工程師可以開(kāi)始功能塊集成測試。利用這種抽象觀(guān)點(diǎn),除作為獨立單元測試外,一個(gè)或多個(gè)RTL塊可以在整個(gè)系統中關(guān)聯(lián)驗證。這樣可以使多功能塊的集成測試更快。
利用“無(wú)縫C橋”優(yōu)化總線(xiàn)判決
“無(wú)縫C橋”協(xié)同驗證環(huán)境是實(shí)現這種快速抽象建模的一種工具。另外,“無(wú)縫V5”版本包含一新的性能分析特性。通過(guò)精確的記錄與顯示信息,如總線(xiàn)利用與判決延遲、代碼描述、存儲器用法等,工程師可以很好地了解設計的性能特性。結合基于C硬件建模的動(dòng)態(tài)參數更改能力,性能分析使設計研究明顯地更具效率。
“無(wú)縫V5”提供了設計變更效果的即時(shí)反饋,得到了一個(gè)實(shí)用的、有競爭力的優(yōu)點(diǎn),設計組可以確定性能要求和滿(mǎn)足要求的數據。
“無(wú)縫C橋”接口增加了無(wú)縫環(huán)境的靈活性,可以利用比基于RTL工具更高級的抽象模型和接口,在設計工作的早期進(jìn)行協(xié)同驗證?!盁o(wú)縫”可以使嵌入式代碼以嵌入式系統中的硬件方式運行;“C橋”允許硬件通過(guò)事務(wù)級連接成為抽象的C模型?!盁o(wú)縫”協(xié)同驗證環(huán)境處理器支持包(PSP)可由ARM處理器系列,包括ARM7,ARM9,ARM10及ARM 11系列處理器提供。這些模型可直接插入設計環(huán)境,不需要重建接口及環(huán)境。
“C橋”技術(shù)可以混合和匹配編寫(xiě)于不同抽象級的C和HDL模型。由于它們從嚴格運行的抽象C模型轉移到更詳細的實(shí)現中,工程師們可以用簡(jiǎn)單取代RTL的特定C模型運行系統仿真。這允許在單一環(huán)境內,從高級C建模環(huán)境到更詳細的RTL實(shí)現進(jìn)行逐步轉換。隨著(zhù)轉換增加,測試版可保存復用。圖1為用閃存卡作圖像存儲器的簡(jiǎn)單圖像顯示器的框圖。
該設計全部用C語(yǔ)言建模,其處理器采用系統C測試版建模,其他所有塊作為C橋事務(wù)級模型編寫(xiě)。對于這樣一個(gè)簡(jiǎn)單設計,所有C模型幾周之內就可建立完成,而如果用純粹的RTL設計編寫(xiě),將會(huì )用數月時(shí)間才能完成。除通過(guò)降低模型復雜度節省了時(shí)間外,在C橋設計中,地址解碼及總線(xiàn)協(xié)議處理等工作也得以簡(jiǎn)化甚至消除。
用戶(hù)接口控制存儲在閃存中的各種圖像的打印。直接存儲器存取控制器(DMAC)對移出CF卡和進(jìn)入RAM的數據進(jìn)行管理。當圖像需要顯示時(shí),DMAC程序啟動(dòng),將圖像數據傳到RAM中,一旦DMAC處理開(kāi)始,ARM嵌入式代碼就訪(fǎng)問(wèn)RAM,取出圖像數據。將數據處理、打包成圖像閱讀器能識別的格式后,ARM微處理器發(fā)送像素顏色和坐標數據到閱讀器屏幕。
這個(gè)簡(jiǎn)單模型仿真的最初用途是查看在附加定時(shí)信息,如加入等待狀態(tài)后,系統的功能是否還正常?!盁o(wú)縫C橋”工具的調試與分析能力用于驗證功能,以及用于為達到優(yōu)化功能設計的設計參數試驗,特別是改善此情況下的總線(xiàn)判決方案。該例中,“無(wú)縫”工具發(fā)現設計不能正確實(shí)現功能,因為只有圖像的第一行打印正確?!盁o(wú)縫V5”總線(xiàn)負載圖揭示了問(wèn)題出在DMAC傳輸上(見(jiàn)圖2)。
圖2顯示DMAC占用總線(xiàn)時(shí)間超過(guò)75%(圖2中,DMAC是“其他”),因此圖形顯示程序已經(jīng)優(yōu)化,使每次總線(xiàn)存取時(shí)裝載盡可能多的數據。這表示總線(xiàn)判決方案不允許DMAC控制器足夠快地從閃存中取出圖像數據送到S-RAM中、放在圖像顯示程序前。當此發(fā)生時(shí),就會(huì )形成局部圖像。DMAC需要保證總線(xiàn)有足夠多的周期?!盁o(wú)縫C橋”應用可以用于解決動(dòng)態(tài)改善總線(xiàn)判決方案問(wèn)題。
采用具有擴展控制功能的工具與抽象模型一起工作,可以更容易、高效地研究各種可能性和設想。由于采用C橋模型,有些特性可以通過(guò)發(fā)指令到判決器模型使其動(dòng)態(tài)改變。在抽象建模級實(shí)施,可以極大簡(jiǎn)化,不需要進(jìn)入RTL設計中,給很多管腳賦特殊值,工程師簡(jiǎn)單發(fā)個(gè)指令讓高速判決器按不同方式動(dòng)作即可。通過(guò)改變判決器的參數,DMAC在A(yíng)RM926接回總線(xiàn)控制之前允許保持總線(xiàn)最小周期數。該值在1~16間可變。最保險的做法是將初始值設在最大值16,看是否可以解決顯示問(wèn)題。即使能夠解決,由于DMAC占用了太多總線(xiàn),也會(huì )引起圖像顯示刷新太慢的問(wèn)題。
在這種抽象級,基于“無(wú)縫V5”(見(jiàn)圖3)性能分析能力中提到的,用戶(hù)可以用其他值快速試驗。在判決延遲方面,0~10ms期間代表顯示圖像的初始試驗。沒(méi)有看到判決延遲影響CPU,圖像也沒(méi)有正確顯示。下一期間從10~20ms,顯示了最大值用于判決器參數時(shí)的圖像顯示過(guò)程??梢钥吹揭粋€(gè)大的判決延遲峰值引起圖像運算明顯減慢。最后一段,20~30ms之間,顯示參數降到4的情況,引起判決延時(shí)成比例降低,圖像也類(lèi)似減慢。這些效果的視覺(jué)顯示,可以得到某一特定設計選擇結果的即時(shí)反饋,而不需要掃描一個(gè)長(cháng)文本的輸出文件。
由于這一過(guò)程的速度,其他值可以逐一試驗,以得到最適合的總線(xiàn)判決方案。所有這些都可以實(shí)現,因為驗證改善優(yōu)化是動(dòng)態(tài)實(shí)現的,在同一環(huán)境中,以高吞吐量運行。原來(lái)在RTL方式下花費數小時(shí)的一個(gè)進(jìn)程,不包括改進(jìn)和再匯編時(shí)間,現在仿真一次只需要5到10分鐘。
結語(yǔ)
通過(guò)C建模提高抽象級,是解決嵌入式系統設計復雜性增加問(wèn)題的一種新型設計方法,“無(wú)縫C橋”技術(shù)使設計者在設計過(guò)程早期實(shí)現高仿真速度驗證功能和分析系統性能??焖?、抽象建模和“無(wú)縫”性能分析引擎減少了總體校驗時(shí)間,同時(shí),有利于創(chuàng )造最佳設計?!盁o(wú)縫”協(xié)同驗證環(huán)境也使塊級和系統級的綜合測試提前??傊?,這一方法降低了風(fēng)險,增加了設計產(chǎn)出量,提高了復雜的多成分系統的設計可靠性。由于明導公司和ARM的成功合作,“無(wú)縫C橋”方案特別適用于包含ARM微處理器核的設計?!?(李硯泉譯)
評論