新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于嵌入式系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)

關(guān)于嵌入式系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)

作者: 時(shí)間:2013-12-27 來(lái)源:網(wǎng)絡(luò) 收藏
  傳統(tǒng)的先硬件后軟件嵌入式系統(tǒng)的系統(tǒng)設(shè)計(jì)模式需要反復(fù)修改、反復(fù)試驗(yàn),整個(gè)設(shè)計(jì)過(guò)程在很大程度上依賴于設(shè)計(jì)者的經(jīng)驗(yàn),長(zhǎng)、開發(fā)成本高,在反復(fù)修改過(guò)程中,常常會(huì)在某些方面背離原始設(shè)計(jì)的要求。

  是為解決上述問(wèn)題而提出的一種全新的系統(tǒng)設(shè)計(jì)思想。他依據(jù)系統(tǒng)目標(biāo)要求,通過(guò)綜合分析系統(tǒng)軟硬件功能及現(xiàn)有資源,最大限度地挖掘系統(tǒng)軟硬件之間的并發(fā)性,協(xié)同設(shè)計(jì)軟硬件體系結(jié)構(gòu),以便系統(tǒng)能工作在最佳工作狀態(tài).種設(shè)計(jì)方法,可以充分利用現(xiàn)有的軟硬件資源,縮短系統(tǒng)開發(fā)周期、降低開發(fā)成本、提高系統(tǒng)性能,避免由于獨(dú)立設(shè)計(jì)軟硬件體系結(jié)構(gòu)而帶來(lái)的弊端。

  將這一設(shè)計(jì)思想應(yīng)用在實(shí)際產(chǎn)品開發(fā)上離不開工具的幫助,本文也將對(duì)幾種比較成熟的協(xié)同設(shè)計(jì)工具加以簡(jiǎn)單介紹

  
1 協(xié)同設(shè)計(jì)與傳統(tǒng)設(shè)計(jì)方法的比較

  嵌入式系統(tǒng)是由若干個(gè)功能模塊組成的,這些功能模塊按照其性質(zhì)可以分為軟件模塊和硬件模塊兩類。在過(guò)去幾十年內(nèi),系統(tǒng)的設(shè)計(jì)方法經(jīng)歷了很大的變化,有自上向下的設(shè)計(jì)方法,也有模塊化設(shè)計(jì)方法,他們總體上都是硬件模塊優(yōu)先的設(shè)計(jì)方法,將其統(tǒng)稱為傳統(tǒng)的設(shè)計(jì)方法。

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

  而嵌人式系統(tǒng)是讓軟件設(shè)計(jì)和硬件設(shè)計(jì)作為一個(gè)整體并行設(shè)計(jì),找到軟硬件的最佳結(jié)合點(diǎn),從而使系統(tǒng)高效工作。

  最主要的一個(gè)優(yōu)點(diǎn)就是在設(shè)計(jì)過(guò)程中,硬件和軟件設(shè)計(jì)是相互作用的,這種相互作用發(fā)生在設(shè)計(jì)過(guò)程的各個(gè)階段和各個(gè)層次。

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

  
2 軟硬件協(xié)同設(shè)計(jì)的過(guò)程

  總的來(lái)說(shuō),軟硬件協(xié)同設(shè)計(jì)的系統(tǒng)設(shè)計(jì)過(guò)程可以分為系統(tǒng)描述、系統(tǒng)設(shè)計(jì)、仿真驗(yàn)證與綜合實(shí)現(xiàn)4個(gè)階段。

  系統(tǒng)描述是用一種或多種系統(tǒng)級(jí)描述語(yǔ)言對(duì)所要設(shè)計(jì)的嵌入式系統(tǒng)的功能和性能進(jìn)行全面的描述,建立系統(tǒng)的軟硬件模型的過(guò)程。系統(tǒng)建模可以由設(shè)計(jì)者用非正式語(yǔ)言,甚至是自然語(yǔ)言來(lái)手工完成,也可以借助工具實(shí)現(xiàn)。手工完成容易導(dǎo)致系統(tǒng)描述不準(zhǔn)確,在后續(xù)過(guò)程中需要修改系統(tǒng)模型,從而使系統(tǒng)設(shè)計(jì)復(fù)雜化等問(wèn)題,而優(yōu)秀的EDA工具可以克服這些弊端。

  對(duì)于嵌人式系統(tǒng)來(lái)說(shuō),系統(tǒng)設(shè)計(jì)可以分為軟硬件功能分配和系統(tǒng)映射2個(gè)階段。軟硬件功能分配就是要確定哪些系統(tǒng)功能由硬件模塊來(lái)實(shí)現(xiàn),哪些系統(tǒng)功能由軟件模塊來(lái)實(shí)現(xiàn)。硬件一般能夠提供更好的性能,而軟件更容易開發(fā)和修改,成本相對(duì)較低。由于硬件模塊的可配置性,可編程性以及某些軟件功能的硬件化、固件化,某些功能既能用軟件實(shí)現(xiàn),又能用硬件實(shí)現(xiàn),軟硬件的界限已經(jīng)不十分明顯。此外在進(jìn)行軟硬件功能分配時(shí),既要考慮市場(chǎng)可以提供的資源狀況,又要考慮系統(tǒng)成本、開發(fā)時(shí)間等諸多因素。因此,軟硬件的功能劃分是一個(gè)復(fù)雜而艱苦的過(guò)程,是整個(gè)任務(wù)流程最重要的環(huán)節(jié)。

  系統(tǒng)映射是根據(jù)系統(tǒng)描述和軟硬件任務(wù)劃分的結(jié)果,分別選擇系統(tǒng)的軟硬件模塊以及其接口的具體實(shí)現(xiàn)方法,并將其集成,最終確定系統(tǒng)的體系結(jié)構(gòu)。具體地說(shuō),這一過(guò)程就是要確定系統(tǒng)將采用哪些硬件模塊(如全定制芯片、MCU,DSP,F(xiàn)PGA、存儲(chǔ)器、I/O接口部件等)、軟件模塊(嵌入式操作系統(tǒng)、驅(qū)動(dòng)程序、功能模塊等)和軟硬件模塊之間的通訊方法(如總線、共享存儲(chǔ)器、數(shù)據(jù)通道等)以及這些模塊的具體實(shí)現(xiàn)方法。

  仿真驗(yàn)證是檢驗(yàn)系統(tǒng)設(shè)計(jì)正確性的過(guò)程。他對(duì)設(shè)計(jì)結(jié)果的正確性進(jìn)行評(píng)估,以達(dá)到避免在系統(tǒng)實(shí)現(xiàn)過(guò)程中發(fā)現(xiàn)問(wèn)題時(shí)再進(jìn)行反復(fù)修改的目的。在系統(tǒng)仿真驗(yàn)證的過(guò)程中,模擬的工作環(huán)境和實(shí)際使用時(shí)差異很大,軟硬件之間的相互作用方式及作用效果也就不同,這也使得難以保證系統(tǒng)在真實(shí)環(huán)境下工作的可靠性。因此,系統(tǒng)模擬的有效性是有限的。

  軟硬件綜合就是軟件、硬件系統(tǒng)的具體制作。設(shè)計(jì)結(jié)果經(jīng)過(guò)仿真驗(yàn)證后,可按系統(tǒng)設(shè)計(jì)的要求進(jìn)行系統(tǒng)制作,即按照前述工作的要求設(shè)計(jì)硬件軟件,并使他們能夠協(xié)調(diào)一致地工作,制作完成后即可進(jìn)行現(xiàn)場(chǎng)實(shí)驗(yàn)。

  
3 協(xié)同設(shè)計(jì).EDA工具簡(jiǎn)介

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


  CORSAIR的系統(tǒng)描述階段用SDL和PMSC兩者相結(jié)合對(duì)系統(tǒng)進(jìn)行建模。SDL是一種基于有限狀態(tài)機(jī)語(yǔ)義的面向?qū)ο蟮南到y(tǒng)說(shuō)明描述語(yǔ)言。CORSAIR用他來(lái)描述系統(tǒng)的行為功能。而系統(tǒng)的性能需求則由PMSC來(lái)描述。COOL使用VHDL語(yǔ)言作為系統(tǒng)的描述語(yǔ)言。在POLIS中,設(shè)計(jì)者使用某種具有擴(kuò)展有限狀態(tài)機(jī)語(yǔ)義的高級(jí)語(yǔ)言(比如VHDL的可綜合的子集)進(jìn)行系統(tǒng)描述。這幾個(gè)系統(tǒng)的計(jì)算模型基本上都是限定在擴(kuò)展的FSM。當(dāng)前,在系統(tǒng)的設(shè)計(jì)中,使用UlMI。作為系統(tǒng)建模語(yǔ)言是很有前景的發(fā)展方向。

  軟硬件劃分方面,POLIS需要由手工實(shí)現(xiàn),其他兩種工具可以自動(dòng)劃分。CORSAIR的目標(biāo)體系結(jié)構(gòu)是多處理器多FPGA,COOL是多處理器,而POUS是單處理器。

  這幾種系統(tǒng)協(xié)同綜合階段的目的就是生成硬件的硬件描述語(yǔ)言和軟件的C代碼,并對(duì)他們進(jìn)行協(xié)同模擬。

  
4 結(jié) 語(yǔ)

  作為一種全新的設(shè)計(jì)思想,軟硬件協(xié)同設(shè)計(jì)通過(guò)挖掘軟硬件之間的協(xié)同性,可以克服傳統(tǒng)設(shè)計(jì)方法中把軟件和硬件分開設(shè)計(jì)而帶來(lái)的弊端,使整個(gè)設(shè)計(jì)過(guò)程以及設(shè)計(jì)出來(lái)的產(chǎn)品能夠高效地工作。隨著CAD技術(shù)的發(fā)展,EDA工具對(duì)軟硬件協(xié)同設(shè)計(jì)技術(shù)的支持將越來(lái)越多,協(xié)同設(shè)計(jì)技術(shù)在系統(tǒng)設(shè)計(jì)中的作用也將越來(lái)越重要。


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉