當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]連貫統(tǒng)一的嵌入式設(shè)計(jì)方法

連貫統(tǒng)一的嵌入式設(shè)計(jì)方法

沒(méi)有哪一類設(shè)計(jì)工程師比軟件開(kāi)發(fā)人員更熟悉高層次的抽象設(shè)計(jì)了。無(wú)論是開(kāi)發(fā)PC軟件、用于電子設(shè)備的嵌入式應(yīng)用、Web服務(wù)還是開(kāi)發(fā)數(shù)據(jù)庫(kù)系統(tǒng),都可使用高層次開(kāi)發(fā)系統(tǒng)與相關(guān)語(yǔ)言來(lái)避免與本地代碼打交道的麻煩。

軟件設(shè)計(jì)經(jīng)歷了漫長(zhǎng)的編程語(yǔ)言和系統(tǒng)發(fā)展道路,歸根結(jié)底都是為了使開(kāi)發(fā)人員避免與匯編語(yǔ)言的糾纏。使用現(xiàn)在常見(jiàn)的編程接口、代碼語(yǔ)法和編譯器的實(shí)現(xiàn)方式,軟件開(kāi)發(fā)通過(guò)廣泛的編程語(yǔ)言(從Pascal直到面向?qū)ο蟮恼Z(yǔ)言和C++)實(shí)現(xiàn)了高層次抽象。作為PC應(yīng)用軟件的“小弟”,用于電子設(shè)備的嵌入式軟件的開(kāi)發(fā)也大體運(yùn)用同樣的原則和系統(tǒng)。

實(shí)際上,用于開(kāi)發(fā)電子設(shè)計(jì)中的硬件和軟件的抽象系統(tǒng)如此常見(jiàn),以致它們被認(rèn)為是正常而非抽象的工作方式。軟件工程師由此獲得的明顯好處是降低了設(shè)計(jì)復(fù)雜性并提高了開(kāi)發(fā)速度。用于嵌入式固件的C語(yǔ)言的使用,使與寄存器堆?;虼罅糠庋b的順序代碼打交道的工作成為了歷史。

雖然這些概念在電子設(shè)計(jì)中是普遍的,但它們只是在臨時(shí)(ad-hoc)的基礎(chǔ)上存在,而且通常是在具體設(shè)計(jì)領(lǐng)域之內(nèi)。隨著電子產(chǎn)品設(shè)計(jì)復(fù)雜性的增加、開(kāi)發(fā)時(shí)間的縮短和嵌入式開(kāi)發(fā)方式的流行,軟件開(kāi)發(fā)人員需要能夠進(jìn)入使用高層次設(shè)計(jì)系統(tǒng)的其他領(lǐng)域。

抽象的硬件描述語(yǔ)言(HDL)

電子產(chǎn)品設(shè)計(jì)流程帶來(lái)的一個(gè)新挑戰(zhàn)是隨著電子產(chǎn)品開(kāi)發(fā)流程中可編程硬件設(shè)備的引入而出現(xiàn)的。在這種情況下,軟件被用來(lái)定義硬件或者作為膠合邏輯的一大部分,但更重要的是作為整個(gè)SoC的設(shè)計(jì)。

在高層次設(shè)計(jì)方面,可編程邏輯還處于其設(shè)計(jì)抽象演變的早期階段。硬件描述語(yǔ)言用于描述在寄存器層次的設(shè)計(jì),寄存器在最后合成后達(dá)到門電路層次,用于實(shí)現(xiàn)選定的設(shè)備傳統(tǒng)上是采用ASIC,現(xiàn)在更常見(jiàn)的是FPGA。但是,HDL晦澀難懂的性質(zhì)使其在復(fù)雜性上常常堪比于匯編語(yǔ)言,因此對(duì)于非HDL專家的人而言,開(kāi)發(fā)嵌入式硬件的任務(wù)令人望而生畏。

因此,各種設(shè)計(jì)抽象系統(tǒng)相繼被開(kāi)發(fā)出來(lái)以幫助緩解這一問(wèn)題。這些系統(tǒng)在方法 論 上存在很大區(qū)別,但通常都是基于示意圖的系統(tǒng)、圖形式流程圖方案或者C語(yǔ)言的變體和擴(kuò)展形式。它們?cè)试S更多開(kāi)發(fā)者(如軟件工程師)通過(guò)運(yùn)用及提高其現(xiàn)有能力來(lái)創(chuàng)造嵌入式硬件。像其他設(shè)計(jì)領(lǐng)域(硬件和應(yīng)用軟件)一樣,實(shí)現(xiàn)高層次設(shè)計(jì)系統(tǒng)以降低復(fù)雜性已經(jīng)成為公認(rèn)的方式,并應(yīng)用于FPGA開(kāi)發(fā)領(lǐng)域。

以基于C語(yǔ)言變體的高層次嵌入式設(shè)計(jì)系統(tǒng)為例,這種系統(tǒng)使具有硬件設(shè)計(jì)知識(shí)的軟件工程師有可能使用熟悉的語(yǔ)言和方法來(lái)設(shè)計(jì)嵌入式硬件。該過(guò)程傾向于反映軟件的順序性質(zhì),但它并非硬件的平行概念,且大多用于設(shè)計(jì)的各個(gè)部分或者用作轉(zhuǎn)化的軟件算法,采用SoC設(shè)計(jì)方案則是另一回事。

無(wú)論軟件工程師使用哪一種高層次系統(tǒng)(流程圖、示意圖或C語(yǔ)言轉(zhuǎn)化)來(lái)設(shè)計(jì)嵌入式硬件,他們都有機(jī)會(huì)創(chuàng)造相對(duì)復(fù)雜的大型“軟”硬件系統(tǒng)來(lái)支持其自己的軟件例程和功能,甚至可能在最后創(chuàng)造出完整的產(chǎn)品設(shè)計(jì)。

特別要注意的是,用于提高可編程邏輯設(shè)計(jì)的抽象層次的常用系統(tǒng)采用了各不相同、互不相關(guān)的方法 論,這與整體SoC設(shè)計(jì)過(guò)程相互關(guān)聯(lián)的性質(zhì)并不一致。由于可編程硬件的出現(xiàn),各設(shè)計(jì)領(lǐng)域之間的相互依存性被放大,可編程硬件通常是應(yīng)用軟件(可能是處理器、內(nèi)存等)的“宿主”,而它本身的“宿主”則是設(shè)計(jì)的物理硬件。FPGA結(jié)構(gòu)是硬件和軟件“三明治”的夾心層。

連貫統(tǒng)一的方案

為將設(shè)計(jì)抽象概念提高到新的水平,我們需要一個(gè)產(chǎn)品開(kāi)發(fā)系統(tǒng),可以將各個(gè)設(shè)計(jì)領(lǐng)域整合為使用單一設(shè)計(jì)數(shù)據(jù)模型的統(tǒng)一應(yīng)用系統(tǒng),這樣嵌入式軟件、可編程硬件和物理硬件可共用一個(gè)跨越所有設(shè)計(jì)領(lǐng)域的設(shè)計(jì)界面和設(shè)計(jì)數(shù)據(jù)模型,使產(chǎn)品開(kāi)發(fā)成為統(tǒng)一、連貫的任務(wù)。

然后,嵌入式硬件設(shè)計(jì)即可成為設(shè)計(jì)流程的一部分,進(jìn)入硬件與應(yīng)用軟件領(lǐng)域。任何設(shè)計(jì)領(lǐng)域的變動(dòng)都將引起單一數(shù)據(jù)集合的改動(dòng),并可立即用于其他領(lǐng)域,且任何高層次設(shè)計(jì)流程都可被設(shè)計(jì)系統(tǒng)的其余部分自然而然地“理解”。嵌入式硬件開(kāi)發(fā)領(lǐng)域的設(shè)計(jì)抽象已經(jīng)從位于常規(guī)過(guò)程頂端的一個(gè)簡(jiǎn)單、孤立的層面變?yōu)橐粋€(gè)交互式地滲透到整個(gè)設(shè)計(jì)系統(tǒng)的層面。

使用這樣的系統(tǒng),諸如在某一設(shè)計(jì)中實(shí)現(xiàn)一個(gè)USB 接口的典型任務(wù)即可得到極大簡(jiǎn)化。在這種情況下,USB 接口可能擁有需要被整合進(jìn)所有領(lǐng)域的要素,包括物理空間的連接器和接口硬件、可編程硬件領(lǐng)域的總線接口以及應(yīng)用軟件領(lǐng)域的驅(qū)動(dòng)和協(xié)議層。

包括數(shù)據(jù)庫(kù)構(gòu)成部分在內(nèi)的單一設(shè)計(jì)數(shù)據(jù)池?fù)碛幸粋€(gè)包含所有要素的單一USB區(qū)塊模型。你可以使用基于圖形的高層次捕獲系統(tǒng)簡(jiǎn)單地將該模型整合進(jìn)設(shè)計(jì),在系統(tǒng)中,該模型出現(xiàn)于所有設(shè)計(jì)領(lǐng)域,無(wú)論在哪個(gè)設(shè)計(jì)抽象層次。IP核心或所保存的設(shè)計(jì)可以同樣方式得到使用(和重復(fù)使用)。

使用統(tǒng)一開(kāi)發(fā)環(huán)境中單一設(shè)計(jì)數(shù)據(jù)模型的優(yōu)點(diǎn)貫穿到設(shè)計(jì)的方方面面。高層次設(shè)計(jì)可能性滲透到所有設(shè)計(jì)領(lǐng)域,并支持以軟件為中心的實(shí)用電子系統(tǒng)開(kāi)發(fā)方法。當(dāng)在單一連貫的設(shè)計(jì)環(huán)境中實(shí)現(xiàn)高層次設(shè)計(jì)后,即可將FPGA用作供軟件工程師使用的硬件開(kāi)發(fā)平臺(tái),而非用于存放由HDL專家創(chuàng)造的大量邏輯的硬件容器。

在實(shí)際硬件上的“軟”設(shè)計(jì)

接下來(lái)就是將該系統(tǒng)與低成本FPGA硬件開(kāi)發(fā)平臺(tái)(包括支持硬件、通用I/O系統(tǒng)并具有可以隨意更換的插入式外圍板卡)相結(jié)合。

該硬件平臺(tái)和高層次設(shè)計(jì)軟件之間的智能通信允許開(kāi)發(fā)板卡的所有部分進(jìn)行直接互動(dòng),而不只是提供用于FGPA編程的基本功能。你可以動(dòng)態(tài)更換外圍設(shè)備,而軟件則按照要求自動(dòng)重新配置接口層和配置文件。利用這一設(shè)置,包括物理硬件在內(nèi)的完整開(kāi)發(fā)系統(tǒng)就表現(xiàn)為一個(gè)連貫統(tǒng)一的設(shè)計(jì)環(huán)境。

對(duì)于所有工程師特別是軟件開(kāi)發(fā)人員來(lái)說(shuō),可以使用高層次系統(tǒng)在實(shí)際硬件的基礎(chǔ)上實(shí)時(shí)開(kāi)發(fā)和研究設(shè)計(jì)方案。在一些情況(例如簡(jiǎn)單產(chǎn)品生產(chǎn)過(guò)程)中,該硬件很可能成為成品,這使軟件工程師能迅速開(kāi)發(fā)出完整的產(chǎn)品,或者至少開(kāi)發(fā)出概念證明設(shè)備。此外,你用來(lái)開(kāi)發(fā)和測(cè)試產(chǎn)品的設(shè)計(jì)軟件和硬件開(kāi)發(fā)平臺(tái)可直接支持使用現(xiàn)成硬件。在該環(huán)境中開(kāi)展的設(shè)計(jì)可以直接而平滑地轉(zhuǎn)變?yōu)榛诩嫒軴TS硬件的成品。

采用這種方法,設(shè)計(jì)周期中的關(guān)鍵設(shè)計(jì)決定可以大大推遲,并且可在任何時(shí)候?qū)υO(shè)計(jì)的規(guī)定軟要素進(jìn)行更新,甚至在產(chǎn)品已開(kāi)始實(shí)際使用之后。設(shè)計(jì)過(guò)程的早期階段不再需要立即做出硬件決定,這使軟件設(shè)計(jì)師能夠?qū)⒕杏谠O(shè)計(jì)中定義功能的嵌入式硬件和軟件。硬件選擇可以留到最后以滿足設(shè)計(jì)的“軟”要素的需要,而非采用相反的方式。

這種單一硬件和軟件設(shè)計(jì)環(huán)境提供了在更短時(shí)間內(nèi)和以更低風(fēng)險(xiǎn)來(lái)開(kāi)發(fā)、調(diào)試、原型化和部署創(chuàng)新設(shè)計(jì)所需的基礎(chǔ)架構(gòu)。當(dāng)通過(guò)與所有設(shè)計(jì)領(lǐng)域相連接的高層次FPGA設(shè)計(jì)界面進(jìn)行訪問(wèn)時(shí),軟件開(kāi)發(fā)人員可利用該系統(tǒng)與物理開(kāi)發(fā)硬件的內(nèi)在聯(lián)系來(lái)創(chuàng)造能夠提供獨(dú)特和高價(jià)值用戶體驗(yàn)的創(chuàng)新產(chǎn)品設(shè)計(jì)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉