新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 關于嵌入式系統的軟硬件協同設計

        關于嵌入式系統的軟硬件協同設計

        作者: 時間:2013-12-27 來源:網絡 收藏
          傳統的先硬件后軟件嵌入式系統的系統設計模式需要反復修改、反復試驗,整個設計過程在很大程度上依賴于設計者的經驗,長、開發成本高,在反復修改過程中,常常會在某些方面背離原始設計的要求。

          是為解決上述問題而提出的一種全新的系統設計思想。他依據系統目標要求,通過綜合分析系統軟硬件功能及現有資源,最大限度地挖掘系統軟硬件之間的并發性,協同設計軟硬件體系結構,以便系統能工作在最佳工作狀態.種設計方法,可以充分利用現有的軟硬件資源,縮短系統開發周期、降低開發成本、提高系統性能,避免由于獨立設計軟硬件體系結構而帶來的弊端。

          將這一設計思想應用在實際產品開發上離不開工具的幫助,本文也將對幾種比較成熟的協同設計工具加以簡單介紹

          
        1 協同設計與傳統設計方法的比較

          嵌入式系統是由若干個功能模塊組成的,這些功能模塊按照其性質可以分為軟件模塊和硬件模塊兩類。在過去幾十年內,系統的設計方法經歷了很大的變化,有自上向下的設計方法,也有模塊化設計方法,他們總體上都是硬件模塊優先的設計方法,將其統稱為傳統的設計方法。

          這種設計方法將硬件和軟件分為兩個獨立的部分。在整個設計過程中,通常采?quot;硬件優先的原則",即在粗略估計軟件任務需求的情況下,首先進行硬件設計,然后在此硬件設計平臺上進行軟件設計。由于在硬件設計過程中缺乏對軟件構架和實現機制的清晰了解,硬件設計工作帶有一定的盲目性。他的系統優化由于設計空間的限制,只能改善硬件/軟件各自的性能,不可能對系統做出較好的綜合優化,得到的最終設計結果很難充分利用硬軟件資源,難以適應現代復雜的、大規模的系統設計任務。

          而嵌人式系統是讓軟件設計和硬件設計作為一個整體并行設計,找到軟硬件的最佳結合點,從而使系統高效工作。

          最主要的一個優點就是在設計過程中,硬件和軟件設計是相互作用的,這種相互作用發生在設計過程的各個階段和各個層次。

          設計過程充分體現了軟硬件的協同性。在軟硬件功能分配時就考慮到了現有的軟硬件資源,在軟硬件功能的設計和仿真評價過程中,軟件和硬件是互相支持的。這就使得軟硬件功能模塊能夠在設計開發的早期互相結合,從而及早發現問題及早解決,避免了(至少可以減少)在設計開發后期反復修改系統以及由此帶來的一系列問題,而且有利于挖掘系統潛能、縮小產品的體積、降低系統成本、提高系統整體性能。

          
        2 軟硬件協同設計的過程

          總的來說,軟硬件協同設計的系統設計過程可以分為系統描述、系統設計、仿真驗證與綜合實現4個階段。

          系統描述是用一種或多種系統級描述語言對所要設計的嵌入式系統的功能和性能進行全面的描述,建立系統的軟硬件模型的過程。系統建模可以由設計者用非正式語言,甚至是自然語言來手工完成,也可以借助工具實現。手工完成容易導致系統描述不準確,在后續過程中需要修改系統模型,從而使系統設計復雜化等問題,而優秀的EDA工具可以克服這些弊端。

          對于嵌人式系統來說,系統設計可以分為軟硬件功能分配和系統映射2個階段。軟硬件功能分配就是要確定哪些系統功能由硬件模塊來實現,哪些系統功能由軟件模塊來實現。硬件一般能夠提供更好的性能,而軟件更容易開發和修改,成本相對較低。由于硬件模塊的可配置性,可編程性以及某些軟件功能的硬件化、固件化,某些功能既能用軟件實現,又能用硬件實現,軟硬件的界限已經不十分明顯。此外在進行軟硬件功能分配時,既要考慮市場可以提供的資源狀況,又要考慮系統成本、開發時間等諸多因素。因此,軟硬件的功能劃分是一個復雜而艱苦的過程,是整個任務流程最重要的環節。

          系統映射是根據系統描述和軟硬件任務劃分的結果,分別選擇系統的軟硬件模塊以及其接口的具體實現方法,并將其集成,最終確定系統的體系結構。具體地說,這一過程就是要確定系統將采用哪些硬件模塊(如全定制芯片、MCU,DSP,FPGA、存儲器、I/O接口部件等)、軟件模塊(嵌入式操作系統、驅動程序、功能模塊等)和軟硬件模塊之間的通訊方法(如總線、共享存儲器、數據通道等)以及這些模塊的具體實現方法。

          仿真驗證是檢驗系統設計正確性的過程。他對設計結果的正確性進行評估,以達到避免在系統實現過程中發現問題時再進行反復修改的目的。在系統仿真驗證的過程中,模擬的工作環境和實際使用時差異很大,軟硬件之間的相互作用方式及作用效果也就不同,這也使得難以保證系統在真實環境下工作的可靠性。因此,系統模擬的有效性是有限的。

          軟硬件綜合就是軟件、硬件系統的具體制作。設計結果經過仿真驗證后,可按系統設計的要求進行系統制作,即按照前述工作的要求設計硬件軟件,并使他們能夠協調一致地工作,制作完成后即可進行現場實驗。

          
        3 協同設計.EDA工具簡介

          軟硬件協同設計比較有代表性的EDA工具有CORSAIR,COOL和POLIS。這幾個系統都是從系統級的系統行為描述開始,經過成本的估計,軟硬件劃分、軟硬件的協同綜合、模擬,最后到板級的快速原型(除CO()L外)。原型板一般包含MCU以及ASIC或FPGA。軟件部分在微處理器或者微控制器上運行,硬件部分在ASIC或FPGA上實現。


          CORSAIR的系統描述階段用SDL和PMSC兩者相結合對系統進行建模。SDL是一種基于有限狀態機語義的面向對象的系統說明描述語言。CORSAIR用他來描述系統的行為功能。而系統的性能需求則由PMSC來描述。COOL使用VHDL語言作為系統的描述語言。在POLIS中,設計者使用某種具有擴展有限狀態機語義的高級語言(比如VHDL的可綜合的子集)進行系統描述。這幾個系統的計算模型基本上都是限定在擴展的FSM。當前,在系統的設計中,使用UlMI。作為系統建模語言是很有前景的發展方向。

          軟硬件劃分方面,POLIS需要由手工實現,其他兩種工具可以自動劃分。CORSAIR的目標體系結構是多處理器多FPGA,COOL是多處理器,而POUS是單處理器。

          這幾種系統協同綜合階段的目的就是生成硬件的硬件描述語言和軟件的C代碼,并對他們進行協同模擬。

          
        4 結 語

          作為一種全新的設計思想,軟硬件協同設計通過挖掘軟硬件之間的協同性,可以克服傳統設計方法中把軟件和硬件分開設計而帶來的弊端,使整個設計過程以及設計出來的產品能夠高效地工作。隨著CAD技術的發展,EDA工具對軟硬件協同設計技術的支持將越來越多,協同設計技術在系統設計中的作用也將越來越重要。


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南汇区| 文安县| 乌海市| 乌审旗| 沿河| 正定县| 屏东县| 长顺县| 康定县| 池州市| 西城区| 郴州市| 木兰县| 安顺市| 平阴县| 大埔区| 巩义市| 弥渡县| 克什克腾旗| 班戈县| 固安县| 温州市| 安丘市| 贡嘎县| 昌都县| 鄯善县| 班玛县| 辛集市| 沙湾县| 台东县| 玛多县| 丰原市| 隆子县| 大方县| 柘城县| 民县| 兴隆县| 安多县| 和龙市| 诏安县| 岢岚县|