唐鴻彬 蔣川湘 徐方云
摘要
探究嵌入式系統(tǒng)軟硬件聯(lián)合設(shè)計(jì)方法,能夠有效減少由于開(kāi)發(fā)過(guò)程中設(shè)計(jì)錯(cuò)誤帶來(lái)的不必要的浪費(fèi)。本文首先加那以后介紹了軟硬件聯(lián)合設(shè)計(jì)的一般方法和軟硬件聯(lián)合設(shè)計(jì)方法的運(yùn)用與發(fā)展,隨后以SOPC為例,探討了基于嵌入式系統(tǒng)軟硬件聯(lián)合設(shè)計(jì)開(kāi)發(fā)的具體路徑,希望這些觀點(diǎn)能夠有效促進(jìn)軟硬件協(xié)同設(shè)計(jì)的推廣和應(yīng)用。
【關(guān)鍵詞】嵌入式系統(tǒng) 軟硬件聯(lián)合設(shè)計(jì) 網(wǎng)絡(luò)信息技術(shù)
軟硬件協(xié)同設(shè)計(jì)方法在嵌入式系統(tǒng)中的應(yīng)用,能夠有效提高系統(tǒng)的開(kāi)發(fā)效率,避免傳統(tǒng)設(shè)計(jì)由于軟件和硬件串行開(kāi)發(fā)導(dǎo)致設(shè)計(jì)錯(cuò)誤,提高系統(tǒng)運(yùn)行的穩(wěn)定性和安全性。
1 軟硬件聯(lián)合設(shè)計(jì)
1.1 軟硬件聯(lián)合設(shè)計(jì)的一般方法
軟硬件聯(lián)合設(shè)計(jì)方法是指在軟硬件數(shù)字系統(tǒng)的設(shè)計(jì)過(guò)程中,基于并行設(shè)計(jì)和聯(lián)合設(shè)計(jì)理念,運(yùn)用統(tǒng)一工具和表示方法對(duì)軟硬件的系統(tǒng)功能進(jìn)行優(yōu)化配置,并對(duì)運(yùn)行系統(tǒng)進(jìn)行全局性設(shè)計(jì)驗(yàn)證的新型設(shè)計(jì)方法,能夠有效縮短設(shè)計(jì)開(kāi)發(fā)周期,節(jié)約系統(tǒng)運(yùn)行成本和周期,提高系統(tǒng)的設(shè)計(jì)效率,該方法性能夠有效彌補(bǔ)傳統(tǒng)設(shè)計(jì)方式的缺陷,提高運(yùn)行系統(tǒng)的抽象層次性,拓寬設(shè)計(jì)的輻射范圍。一般來(lái)所,軟硬件聯(lián)合設(shè)計(jì)的重要步驟可以劃分為:系統(tǒng)建模描述、軟硬件協(xié)同綜合以及軟硬件聯(lián)合仿真,其中,系統(tǒng)建模描述實(shí)質(zhì)上是利用網(wǎng)絡(luò)信息技術(shù)手段,完整描述數(shù)字系統(tǒng)的行為,以實(shí)現(xiàn)對(duì)系統(tǒng)功能的科學(xué)驗(yàn)證和軟硬件的合理劃分;軟硬件協(xié)同綜合則包括了對(duì)軟硬調(diào)度、約束代碼生成、硬件以及接口的綜合,以促進(jìn)對(duì)性能、成本、功耗等多方面的客觀評(píng)判和權(quán)衡,提高系統(tǒng)的設(shè)計(jì)效率;軟硬件聯(lián)合仿真則指的是在充分掌握軟硬件部分行為的基礎(chǔ)上,生成仿真環(huán)境和仿真數(shù)據(jù),并對(duì)系統(tǒng)行為進(jìn)行建模,以驗(yàn)證系統(tǒng)的功能和性能。軟硬件聯(lián)合設(shè)計(jì)的流程圖如圖1所示。
1.2 軟硬件聯(lián)合設(shè)計(jì)方法的運(yùn)用與發(fā)展
軟硬件聯(lián)合設(shè)計(jì)方法能夠有效滿足嵌入式系統(tǒng)的性能要求,提高系統(tǒng)設(shè)計(jì)的靈活性和實(shí)時(shí)性,軟硬件設(shè)計(jì)方法在到嵌入式系統(tǒng)中的應(yīng)用具有一些獨(dú)特的特征。首先,在軟硬件的劃分上,除了最基本的模擬退火算法之外,還可以應(yīng)用基于編譯器指導(dǎo)的方法、軟硬件流水線化、交互式劃分等方案;其次,商用組件的標(biāo)準(zhǔn)化和高度集成化也對(duì)嵌入式軟硬件聯(lián)合設(shè)計(jì)的發(fā)展產(chǎn)生了影響,隨著軟硬件組件的日益標(biāo)準(zhǔn)化,微處理器和微控制器呈現(xiàn)功能合并的趨勢(shì),在嵌入式系統(tǒng)設(shè)計(jì)中,軟硬件劃分的粒度正在持續(xù)增長(zhǎng),對(duì)可移植代碼和標(biāo)準(zhǔn)的實(shí)時(shí)操作系統(tǒng)具有較大的依賴性,在系統(tǒng)設(shè)計(jì)上,更加注重接口設(shè)計(jì)和整體性能,設(shè)計(jì)空間具有較強(qiáng)的多樣性和靈活性。最后,在嵌入式系統(tǒng)設(shè)計(jì)中的“聯(lián)合”與“分散”方面,硬件聯(lián)合設(shè)計(jì)方法的聯(lián)合模擬技術(shù)和虛擬原型技術(shù),確保了軟硬件設(shè)計(jì)的同步性,其聯(lián)合驗(yàn)證技術(shù)的應(yīng)用能夠有效提高系統(tǒng)的設(shè)計(jì)效率,減少成本消耗,為軟硬件建模、聯(lián)合模擬及評(píng)價(jià)構(gòu)建良好的開(kāi)發(fā)環(huán)境。
2 基于嵌入式系統(tǒng)軟硬件聯(lián)合設(shè)計(jì)開(kāi)發(fā)——以SOPC系統(tǒng)為例
2.1 系統(tǒng)任務(wù)描述
在SOPC嵌入式系統(tǒng)中應(yīng)用軟硬件聯(lián)合設(shè)計(jì),首要的是明確SOPC(System On aProgrammable Chip)是一種特殊的嵌入式系統(tǒng),屬于片上系統(tǒng)(System-on-a-chip,SoC),其主要邏輯設(shè)計(jì)是在可編程邏輯器件內(nèi)部進(jìn)行的,具有可裁減、可擴(kuò)充、可升級(jí)等多種優(yōu)勢(shì),依據(jù)該系統(tǒng)的性能和功能需求,需要對(duì)其進(jìn)行建模操作,一般來(lái)說(shuō),SOPC系統(tǒng)的模型主要包括數(shù)據(jù)流圖模型、任務(wù)流圖模型、Petri網(wǎng)模型等,利用軟硬件聯(lián)合設(shè)計(jì)方法,解決系統(tǒng)的統(tǒng)一描述問(wèn)題,需要采用特定的語(yǔ)言方式,編譯并映射成硬件描述語(yǔ)言和軟件實(shí)現(xiàn)語(yǔ)言,以促進(jìn)軟硬件并行協(xié)同工作的落實(shí)。
2.2 系統(tǒng)軟硬件劃分
軟硬件聯(lián)合設(shè)計(jì)方法在軟硬件的劃分上具有一定的特殊性,落實(shí)對(duì)系統(tǒng)軟硬件的科學(xué)劃分,能夠充分發(fā)揮硬件處理的快速和軟件控制靈活的特點(diǎn),促進(jìn)系統(tǒng)功能的全面提升。當(dāng)前,基于SOPC系統(tǒng)探索空間性質(zhì),其主流的軟硬件聯(lián)合劃分算法為模擬退火算法和遺傳算法,模擬退火算法(Simulated Annealing,SA)是一種通用的優(yōu)化算法,強(qiáng)調(diào)在局部最優(yōu)解能概率性地跳出并最終趨于全局最優(yōu);遺傳算法(Genetic Algorithm,GA)則是用于解決最佳化的搜索算法,其主要特點(diǎn)是能夠直接對(duì)結(jié)構(gòu)對(duì)象進(jìn)行操作,具備內(nèi)在的隱并行性和卓越的全局尋優(yōu)能力,能自動(dòng)獲取和指導(dǎo)優(yōu)化的搜索空間,兩種算法的有機(jī)結(jié)合能夠有效降低軟硬件成本,減少功耗需求,提高系統(tǒng)運(yùn)行性能。
2.3 軟硬件協(xié)同綜合
在軟硬件劃分完成以后,需要對(duì)軟件系統(tǒng)和硬件系統(tǒng)進(jìn)行綜合,其操作流程為,首先,要優(yōu)化系統(tǒng)功能單元的分配,篩選適宜SOPC嵌入式系統(tǒng)的處理器、數(shù)字信號(hào)處理(DigitalSignal Processing,DSP)以及特定硬件的體系結(jié)構(gòu)級(jí)別的組件;其次,要對(duì)系統(tǒng)任務(wù)進(jìn)行指派,配置硬件處理單元和處理器應(yīng)用軟件各自的功能,保障功能配置的協(xié)調(diào)性和匹配性;最后,要落實(shí)對(duì)系統(tǒng)任務(wù)的調(diào)度,規(guī)定處理單元任務(wù)的開(kāi)始時(shí)間和執(zhí)行順序,整個(gè)流程的操作目的是為了將劃分完成的軟硬件結(jié)構(gòu)描述轉(zhuǎn)換成為可以綜合的硬件描述和可以編譯的軟件程序,即,Verilog HDL(硬件模塊)和C(軟件模塊)。
2.4 軟硬件聯(lián)合仿真
軟硬件聯(lián)合仿真是通過(guò)模擬軟硬件之間的相互作用,實(shí)現(xiàn)對(duì)SOPC嵌入式系統(tǒng)整體性能的評(píng)估,以驗(yàn)證系統(tǒng)設(shè)計(jì)是否滿足用戶的性能要求,其仿真驗(yàn)證可以分為系統(tǒng)級(jí)仿真、行為級(jí)仿真、暫存器轉(zhuǎn)移層次(Register Transfer Level,RTL)以及門級(jí)仿真。典型的軟硬件協(xié)同仿真一般是在復(fù)雜可編程邏輯器件(Complex Programmable 10GicDevice,CPUD)或現(xiàn)場(chǎng)可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)的開(kāi)發(fā)環(huán)境下進(jìn)行的,其常用的設(shè)計(jì)工具為:Altera公司的Quartus Ⅱ、SOPC Builde、NiosⅡ IDE、Cadence Virtual Component Co design(VCC)以及System C。
3 結(jié)論
綜上所述,從宏觀的角度整體把握系統(tǒng)的設(shè)計(jì),落實(shí)軟硬件聯(lián)合設(shè)計(jì)方法的應(yīng)用,能夠強(qiáng)化軟硬件之間的并行性,實(shí)現(xiàn)對(duì)功能模塊的折衷分配,促進(jìn)系統(tǒng)最優(yōu)化理論狀態(tài)的達(dá)成。
參考文獻(xiàn)
[1]周哲照.嵌入式系統(tǒng)軟硬件協(xié)調(diào)設(shè)計(jì)環(huán)境構(gòu)造與實(shí)現(xiàn)方法[J].無(wú)線互聯(lián)科技,2018,15(12):52-53.
[2]陳銳,門永平,楊文強(qiáng),丁宗杰.基于UVM的FPGA軟硬件聯(lián)合仿真驗(yàn)證技術(shù)研究[J].空間電子技術(shù),2017,14(01):38-42.