新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 艱巨的工作:軟件/硬件協(xié)同設(shè)計(jì)

艱巨的工作:軟件/硬件協(xié)同設(shè)計(jì)

——
作者: 時(shí)間:2005-09-21 來源:EDN電子設(shè)計(jì)技術(shù) 收藏

艱巨的工作:軟件/硬件協(xié)同設(shè)計(jì)

本文引用地址:http://butianyuan.cn/article/8738.htm

工程師們逐漸發(fā)現(xiàn),他們不得不協(xié)調(diào)對(duì)一個(gè)產(chǎn)品的軟件和硬件部分同時(shí)進(jìn)行的開發(fā)工作。
  要點(diǎn)
  ●  工程師通過體系結(jié)構(gòu),而不只是通過應(yīng)用代碼來實(shí)現(xiàn)產(chǎn)品多樣化。
  ●  物理原型法是微處理器時(shí)代初期使用的開發(fā)系統(tǒng)和在線仿真器的天然演進(jìn)。
  ●  基于平臺(tái)的設(shè)計(jì)通過提供已驗(yàn)證的硬件體系結(jié)構(gòu)來簡(jiǎn)化 SOC 產(chǎn)品的開發(fā)。
  ●  在所有協(xié)同設(shè)計(jì)方法中,ESL 具有最好的建模靈活性,但同時(shí)也帶來了復(fù)雜性。
---------------------------------------------------------------------------------------------
  在 ASIC 普及應(yīng)用之前,人們都是先開發(fā)和調(diào)試執(zhí)行平臺(tái),然后為它們編寫軟件。軟件工程師到硬件健全到接近其發(fā)布的版本時(shí),才完成大多數(shù)操作系統(tǒng)的開發(fā)工作。工程師開發(fā)產(chǎn)品時(shí)使用的是已為大家所接受的固定平臺(tái),從主機(jī)到微型計(jì)算機(jī)和微控制器,不一而足 。應(yīng)用軟件使產(chǎn)品與眾不同并使之具有市場(chǎng)優(yōu)勢(shì)的部件。半導(dǎo)體行業(yè)在制造能力方面取得了進(jìn)步,可以在一塊芯片上為工程師提供幾百萬個(gè)晶體管。EDA行業(yè)提供的新工具和改進(jìn)的工具使設(shè)計(jì)師能夠高效地使用額外的晶體管。
  ASIC 使硬件結(jié)構(gòu)體系定制化,因此也使相關(guān)軟件只適用于某一任務(wù)。設(shè)計(jì)師創(chuàng)建硬件來滿足要開發(fā)的產(chǎn)品的要求,常常創(chuàng)建新的計(jì)算引擎,并幾乎總是設(shè)計(jì)新的外設(shè)控制器來滿足終端產(chǎn)品的執(zhí)行速度、功耗和制造成本等目標(biāo)。新的硬件體系結(jié)構(gòu)需從操作系統(tǒng)到設(shè)備驅(qū)動(dòng)和總線協(xié)議的多層新軟件。操作系統(tǒng)很少是通用的,而是專用的,公司必須為其推出產(chǎn)品系列中的每一種新產(chǎn)品修改操作系統(tǒng)。乍一看,似乎本來就應(yīng)該先開發(fā)硬件平臺(tái),然后再編寫在其上運(yùn)行的軟件。用這種方法,軟件工程師可以更方便地調(diào)試代碼,因?yàn)樗麄兪褂玫氖枪潭ǖ膱?zhí)行引擎和健全的開發(fā)工具。但依次開發(fā)硬件和軟件存在兩個(gè)問題,其中第一個(gè)問題是依次開發(fā)周期的長(zhǎng)度。在許多情況下,采用先開發(fā)、調(diào)試硬件,然后再開發(fā)軟件的方法,開發(fā)周期很長(zhǎng),以至產(chǎn)品失去上市良機(jī)。第二個(gè)問題是發(fā)生硬件設(shè)計(jì)錯(cuò)誤的可能性。如果你在開發(fā)軟件時(shí)才檢測(cè)到硬件開發(fā)中的錯(cuò)誤,則設(shè)計(jì)小組必須返回去進(jìn)行修改,這可能要花費(fèi)掉好幾周甚至幾個(gè)月的寶貴時(shí)間。此外,在整個(gè)設(shè)計(jì)周期中,錯(cuò)誤發(fā)現(xiàn)得越晚,修改就越復(fù)雜。問題的實(shí)質(zhì)是:同時(shí)開發(fā)硬件與軟件部分是一個(gè)必要條件,而不是一種奢侈。
  在同時(shí)開發(fā)軟件/硬件的過程中,工程師可以使用許多方法(附文《SOC驗(yàn)證的方方面面》)。你可以把它們簡(jiǎn)化成三種方法:硬件仿真、基于平臺(tái)的設(shè)計(jì)和 ESL(電子系統(tǒng)級(jí))設(shè)計(jì)。這些方法仍然以硬件為中心,  盡管有些廠商聲稱他們的工具可提供一種評(píng)估介于功能的硬件實(shí)現(xiàn)和軟件實(shí)現(xiàn)之間的折衷方案的手段。
  第一種方法在實(shí)際硬件可供使用之前為應(yīng)用工程師提供一個(gè)軟件模型或硬件模型,供開發(fā)軟件代碼時(shí)使用。第二種方法類似于建立一個(gè)供編寫軟件用的硬件平臺(tái)目標(biāo)的老方法。雖然并不是所有的硬件都有,但大部分都有,而且硬件系統(tǒng)符合已有的標(biāo)準(zhǔn)與協(xié)議,從而為軟件開發(fā)人員提供一種結(jié)構(gòu)。第三種方法在最終的體系結(jié)構(gòu)方面具有最大的靈活性,但它也最復(fù)雜。它要求設(shè)計(jì)人員在不同的抽象層次上工作,并了解各種抽象模型的限制以作出正確的假設(shè)。
  顧名思義,物理原型法允許工程師使用一個(gè)原型代表目前還沒有的硬件塊。這一方法沿革久遠(yuǎn),為人所熟知。很多年前,硬件系統(tǒng)是由標(biāo)準(zhǔn)部件組成的,工程師們會(huì)開發(fā)一塊試驗(yàn)電路板,板上有已知的部件和一些用來模擬目前還沒有的數(shù)字邏輯器件的硬件,以便在整個(gè)系統(tǒng)實(shí)用之前,軟件工程師能對(duì)芯核進(jìn)行調(diào)試。盡管物理原型法在今天實(shí)施起來與15年前有所不同,但這種方法沒有多大變化。仿真產(chǎn)品供應(yīng)商提供的一種硬件系統(tǒng)包括:與一個(gè)作為主機(jī)的計(jì)算系統(tǒng)接口所必需的電路;能使工程師配置目標(biāo)數(shù)字電路硬件模型的內(nèi)部通信邏輯;對(duì)一個(gè)或多個(gè)模擬目標(biāo)邏輯的 FPGA進(jìn)行編程的機(jī)制。
  Aptix 公司負(fù)責(zé)市場(chǎng)與業(yè)務(wù)開發(fā)的高級(jí)副總裁Charles Miller認(rèn)為:有了一個(gè)在幾十兆赫下運(yùn)行的FPGA原型,操作系統(tǒng)引導(dǎo)時(shí)間只有幾分鐘,從而為軟件開發(fā)人員提供了一個(gè)有用的工具。原型可以用實(shí)際的顯示、輸入設(shè)備和其它外設(shè)來驅(qū)動(dòng)目標(biāo)系統(tǒng)。在最終投片前,一個(gè)軟件工程師可能要對(duì)設(shè)計(jì)運(yùn)行幾十億個(gè)驗(yàn)證周期。如果軟件工程師發(fā)現(xiàn)了問題,可以立即在 RTL 級(jí)進(jìn)行修正,既免去開發(fā)軟件變通方案的費(fèi)用,也不會(huì)犧牲最終產(chǎn)品的性能。更好的是,軟件開發(fā)是與硬件開發(fā)同時(shí)進(jìn)行的,最終產(chǎn)品可以更快地開發(fā)出來。
  Aptix 公司提供的一整套軟件和硬件產(chǎn)品,能使工程師將復(fù)雜設(shè)計(jì)分配給多個(gè)FPGA,并將它們與現(xiàn)有硬件組合在一起,以完成設(shè)計(jì)。已被 Verisity公司(www.verisity.com)并購的 Axis 系統(tǒng)公司利用可重配置的計(jì)算技術(shù),在其Xcite 和 Xtreme 產(chǎn)品中對(duì)硬件進(jìn)行仿真和加速仿真。
  Cadence 公司的 Quickturn 部門出售 Palladium 系列產(chǎn)品。Palladium 產(chǎn)品是與 Cadence 公司的 Incisive 驗(yàn)證平臺(tái)完全兼容的,具有仿真與加速兩種功能。用戶們可以在網(wǎng)絡(luò)內(nèi)共享一個(gè)產(chǎn)品,對(duì)同一被仿真硬件進(jìn)行模擬。在仿真模式下,Palladium產(chǎn)品只要內(nèi)含外設(shè)、嵌入式處理器和嵌入式軟件,就可全面支持系統(tǒng)的驗(yàn)證。EVE(仿真與驗(yàn)證工程)公司開發(fā)了 ZeBu,目的在于減少傳統(tǒng)仿真器的費(fèi)用,并保持所需的高性能。該產(chǎn)品可以對(duì)復(fù)雜度達(dá) 100 萬~1200 萬個(gè)門的 ASIC 設(shè)計(jì)進(jìn)行仿真。
  Mentor Graphics 公司仿真產(chǎn)品系列中的最新產(chǎn)品 CelaroPro 可以應(yīng)對(duì)業(yè)內(nèi)最大設(shè)計(jì)的挑戰(zhàn)。CelaroPro把仿真功能擴(kuò)大到超出純芯片仿真的范圍,并生成一種強(qiáng)大的軟硬件協(xié)同驗(yàn)證系統(tǒng),其先進(jìn)功能包括在 C 語言環(huán)境中的代碼覆蓋、試驗(yàn)平臺(tái)加速、交互設(shè)計(jì)調(diào)試以及仿真等。
  為工程師提供各種可嵌入處理器芯核的公司也經(jīng)常提供仿真系統(tǒng)。ARM 提供的 RealView Baseboard 支持圍繞 ARM 芯核和 Power/VR MBX 內(nèi)核的 3-D 圖形應(yīng)用開發(fā)。該系統(tǒng)提供一個(gè) AMBA 多層原型環(huán)境,并且既有擴(kuò)充存儲(chǔ)器,又有一系列外設(shè)控制器。它支持供靜態(tài)與動(dòng)態(tài)存儲(chǔ)器用的擴(kuò)展模塊位置,供外設(shè)和第二個(gè)處理器用的 logic-tile 擴(kuò)展位置,一個(gè) PCI 背板,時(shí)鐘產(chǎn)生與仲裁,以及一系列 LCD 面板。
  Tensilica 提供的低價(jià)位 XT2000 開發(fā)工具,使用一個(gè)可編程邏輯器件來仿真 Xtensa 處理器配置。這種仿真工具包能使開發(fā)人員評(píng)估多種處理器配置選擇方案,并在設(shè)計(jì)周期的早期就開發(fā)和調(diào)試軟件(圖 1)。



評(píng)論


相關(guān)推薦

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

關(guān)閉