新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 通過高級C模型驗證管理設計的復雜性

        通過高級C模型驗證管理設計的復雜性

        作者:■ Mentor Graphics公司 SoC 驗證部 Mike Andrews 時間:2005-04-27 來源:eaw 收藏

        設計復雜性的增加,以及產品生命周期的縮短和競爭態勢的加強,將嵌入式設計技術不斷推向極限。復雜設計包含更多器件以及更強的互操作性,因此需要更多仿真、更高吞吐量以及更好的綜合測試。為解決復雜性問題,在設計過程中,設計團隊需要另外一套方法,以減少系統驗證運行時間,及早進行驗證。一種策略是通過C或HDL編寫的高級行為模型來提高建模抽象的級別。

        本文引用地址:http://www.104case.com/article/5366.htm

        用抽象的C模型方法,建立的結構化開發
        在系統抽象的較高級,結構化決策很少需要考慮細節。因此,抽象的C模型很少需要詳細的功能性。這些高級C模型可以快速建立,并比傳統的RTL模型仿真更快。原來用RTL花費數月時間編寫的模型用高級C模型建立只需要幾周。
        高級模型的速度和相對簡單性允許工程師在設計過程的早期階段就可以進行更全面的驗證。設計流程的更改在該階段不僅可以及早實施,降低成本,而且早些完成這些工作能降低風險、提高設計產出、增強設計性能的可靠性。早期驗證和分析還減少了工程師必須用在調試復雜問題的時間。
        一種動態參數化的C模型環境使在仿真期間可以修改設計特性,進一步突出了早期驗證的優點。仿真運行不需要編輯、重編譯、重連接和重載模型。例如,利用這一性能特點,用戶可以根據算法第一次通過的結果,進行設計修改的仿真。重復這樣做,仿真會自動收斂于一特定的設計要求。
        利用高速仿真的優點、簡化的模型建立及動態參數化,可以使設計者研究各種設計選擇,驗證功能性,在設計過程中及早優化系統性能。高級系統模型的建立也可同時由硬件和軟件團隊使用。例如,硬件工程師可以在早期向軟件組提供硬件觀點的確切表達。這樣,從整體效果上增加了協同驗證的機會,并減少了驗證運行時間。
         由于高級C模型的效率,工程師可以用更多的時間改進其設計。功能性、性能和設計差異性會大大增強優化體系結構的潛力。抽象化C模型允許工程師在設計流程中早些決定哪些產品創意值得追求,哪些不值得。
        由于在高級抽象對行為進行了可行性測試,因而很少會發生錯誤,公司可以避免在不可行項目中投入大量的金錢、時間和精力。系統設計者甚至可以在現有設計進行的同時研究未來設計的可能性。例如,路由器總線和存儲架構的優化。一旦高層體系結構建立,作為基準,工程師可以開始功能塊集成測試。利用這種抽象觀點,除作為獨立單元測試外,一個或多個RTL塊可以在整個系統中關聯驗證。這樣可以使多功能塊的集成測試更快。

        利用“無縫C橋”優化總線判決
        “無縫C橋”協同驗證環境是實現這種快速抽象建模的一種工具。另外,“無縫V5”版本包含一新的性能分析特性。通過精確的記錄與顯示信息,如總線利用與判決延遲、代碼描述、存儲器用法等,工程師可以很好地了解設計的性能特性。結合基于C硬件建模的動態參數更改能力,性能分析使設計研究明顯地更具效率。
        “無縫V5”提供了設計變更效果的即時反饋,得到了一個實用的、有競爭力的優點,設計組可以確定性能要求和滿足要求的數據。
        “無縫C橋”接口增加了無縫環境的靈活性,可以利用比基于RTL工具更高級的抽象模型和接口,在設計工作的早期進行協同驗證。“無縫”可以使嵌入式代碼以中的硬件方式運行;“C橋”允許硬件通過事務級連接成為抽象的C模型。“無縫”協同驗證環境處理器支持包(PSP)可由ARM處理器系列,包括ARM7,ARM9,ARM10及ARM 11系列處理器提供。這些模型可直接插入設計環境,不需要重建接口及環境。
        “C橋”技術可以混合和匹配編寫于不同抽象級的C和HDL模型。由于它們從嚴格運行的抽象C模型轉移到更詳細的實現中,工程師們可以用簡單取代RTL的特定C模型運行系統仿真。這允許在單一環境內,從高級C建模環境到更詳細的RTL實現進行逐步轉換。隨著轉換增加,測試版可保存復用。圖1為用閃存卡作圖像存儲器的簡單圖像顯示器的框圖。
        該設計全部用C語言建模,其處理器采用系統C測試版建模,其他所有塊作為C橋事務級模型編寫。對于這樣一個簡單設計,所有C模型幾周之內就可建立完成,而如果用純粹的RTL設計編寫,將會用數月時間才能完成。除通過降低模型復雜度節省了時間外,在C橋設計中,地址解碼及總線協議處理等工作也得以簡化甚至消除。
        用戶接口控制存儲在閃存中的各種圖像的打印。直接存儲器存取控制器(DMAC)對移出CF卡和進入RAM的數據進行管理。當圖像需要顯示時,DMAC程序啟動,將圖像數據傳到RAM中,一旦DMAC處理開始,ARM嵌入式代碼就訪問RAM,取出圖像數據。將數據處理、打包成圖像閱讀器能識別的格式后,ARM微處理器發送像素顏色和坐標數據到閱讀器屏幕。
        這個簡單模型仿真的最初用途是查看在附加定時信息,如加入等待狀態后,系統的功能是否還正常。“無縫C橋”工具的調試與分析能力用于驗證功能,以及用于為達到優化功能設計的設計參數試驗,特別是改善此情況下的總線判決方案。該例中,“無縫”工具發現設計不能正確實現功能,因為只有圖像的第一行打印正確。“無縫V5”總線負載圖揭示了問題出在DMAC傳輸上(見圖2)。
        圖2顯示DMAC占用總線時間超過75%(圖2中,DMAC是“其他”),因此圖形顯示程序已經優化,使每次總線存取時裝載盡可能多的數據。這表示總線判決方案不允許DMAC控制器足夠快地從閃存中取出圖像數據送到S-RAM中、放在圖像顯示程序前。當此發生時,就會形成局部圖像。DMAC需要保證總線有足夠多的周期。“無縫C橋”應用可以用于解決動態改善總線判決方案問題。
        采用具有擴展控制功能的工具與抽象模型一起工作,可以更容易、高效地研究各種可能性和設想。由于采用C橋模型,有些特性可以通過發指令到判決器模型使其動態改變。在抽象建模級實施,可以極大簡化,不需要進入RTL設計中,給很多管腳賦特殊值,工程師簡單發個指令讓高速判決器按不同方式動作即可。通過改變判決器的參數,DMAC在ARM926接回總線控制之前允許保持總線最小周期數。該值在1~16間可變。最保險的做法是將初始值設在最大值16,看是否可以解決顯示問題。即使能夠解決,由于DMAC占用了太多總線,也會引起圖像顯示刷新太慢的問題。
        在這種抽象級,基于“無縫V5”(見圖3)性能分析能力中提到的,用戶可以用其他值快速試驗。在判決延遲方面,0~10ms期間代表顯示圖像的初始試驗。沒有看到判決延遲影響CPU,圖像也沒有正確顯示。下一期間從10~20ms,顯示了最大值用于判決器參數時的圖像顯示過程。可以看到一個大的判決延遲峰值引起圖像運算明顯減慢。最后一段,20~30ms之間,顯示參數降到4的情況,引起判決延時成比例降低,圖像也類似減慢。這些效果的視覺顯示,可以得到某一特定設計選擇結果的即時反饋,而不需要掃描一個長文本的輸出文件。
        由于這一過程的速度,其他值可以逐一試驗,以得到最適合的總線判決方案。所有這些都可以實現,因為驗證改善優化是動態實現的,在同一環境中,以高吞吐量運行。原來在RTL方式下花費數小時的一個進程,不包括改進和再匯編時間,現在仿真一次只需要5到10分鐘。

        結語
        通過C建模提高抽象級,是解決嵌入式系統設計復雜性增加問題的一種新型設計方法,“無縫C橋”技術使設計者在設計過程早期實現高仿真速度驗證功能和分析系統性能。快速、抽象建模和“無縫”性能分析引擎減少了總體校驗時間,同時,有利于創造最佳設計。“無縫”協同驗證環境也使塊級和系統級的綜合測試提前。總之,這一方法降低了風險,增加了設計產出量,提高了復雜的多成分系統的設計可靠性。由于明導公司和ARM的成功合作,“無縫C橋”方案特別適用于包含ARM微處理器核的設計。■ (李硯泉譯)



        關鍵詞: 嵌入式系統

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 铁力市| 苏州市| 准格尔旗| 视频| 莫力| 江川县| 蚌埠市| 阜平县| 永嘉县| 江华| 右玉县| 新津县| 阿克陶县| 平顶山市| 岐山县| 瑞安市| 奉节县| 杂多县| 永年县| 闵行区| 枣庄市| 尼玛县| 舟曲县| 秦皇岛市| 富锦市| 灯塔市| 临漳县| 西和县| 宜昌市| 阿城市| 丹阳市| 伊吾县| 定陶县| 铅山县| 务川| 汉寿县| 青海省| 随州市| 航空| 禹州市| 泽普县|