亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于UML-SystemC的協(xié)同設(shè)計方法

        2012-09-01 00:17:02林炳生劉君圣
        關(guān)鍵詞:系統(tǒng)設(shè)計

        林炳生,劉君圣

        (閩江學(xué)院 物理學(xué)與電子信息工程系,福建 福州 350108)

        基于UML-SystemC的協(xié)同設(shè)計方法

        林炳生,劉君圣

        (閩江學(xué)院 物理學(xué)與電子信息工程系,福建 福州 350108)

        系統(tǒng)級SoC的設(shè)計包括硬件和軟件的協(xié)同設(shè)計,涉及物理約束、實時性和并發(fā)等關(guān)鍵問題.本文應(yīng)用UML建模和SystemC語言軟硬件協(xié)同開發(fā)技術(shù),闡述一種有效的Soc的設(shè)計模式,并通過一個錄音芯片的軟硬件描述,進行仿真實驗.實驗表明這種方法保證了芯片在多組協(xié)同設(shè)計下的兼容性和穩(wěn)定性,很大程度上提高了Soc設(shè)計效率.

        UML;SystemC;Soc

        1 引言

        嵌入式系統(tǒng)技術(shù)已進入SoC(片上系統(tǒng),System on a Chip)時代,原有的硬件設(shè)計語言難以滿足新的芯片設(shè)計要求.如何提高設(shè)計的對象層次,在較短時間內(nèi)設(shè)計出較高性能的芯片,以及保證芯片在多組協(xié)同設(shè)計下的兼容性和穩(wěn)定性,已經(jīng)成為當(dāng)前最受關(guān)注的問題.目前綜合運用UML的建模能力和高效的軟硬件設(shè)計語言SystemC開發(fā)SoC正成為主要方法.

        在傳統(tǒng)SoC設(shè)計中,系統(tǒng)被劃分為軟件和硬件兩大部分,軟件和硬件獨立進行開發(fā)設(shè)計.這樣就無可避免地隱含一些問題,如軟硬件之間的交互受到很大限制、軟硬件之間的相互性能影響造成很難評估和系統(tǒng)集成相對滯后,導(dǎo)致設(shè)計質(zhì)量差、設(shè)計修改難和研制周期不能有效保障,軟件設(shè)計師和硬件設(shè)計師要分別在不同的環(huán)境下對系統(tǒng)測試,影響整個產(chǎn)品的設(shè)計效率.

        本文所研究的SoC設(shè)計基于UML和System C,其設(shè)計流程見圖1.在這種設(shè)計模式中,軟硬件在設(shè)計過程中可以隨時進行共同驗證,有效的避免了傳統(tǒng)設(shè)計流程上的問題.System C軟硬件協(xié)同語言是一種系統(tǒng)級描述語言,偏向于高階設(shè)計,避免了SoC設(shè)計中前級設(shè)計方法與系統(tǒng)驗證策略的缺乏,而低階RTL設(shè)計則可以通過開發(fā)工具將System C代碼轉(zhuǎn)為Verilog或System Verilog代碼,再將Verilog可綜合代碼轉(zhuǎn)為電路設(shè)計.UML的每一類圖形都與System C代碼一一對應(yīng),大大減少代碼出錯率,代碼可以分成多組協(xié)同設(shè)計,大大提高了設(shè)計效率;系統(tǒng)模塊與HDL隨時可以進行共同驗證,聯(lián)系緊密;軟硬件設(shè)計師使用同種環(huán)境進行測試,提高產(chǎn)品設(shè)計效率.

        本文對基于UML的SoC設(shè)計方法進行了剖析,給出了新式設(shè)計的整體理念.最后通過一個實例驗證新式設(shè)計模式在片上系統(tǒng)設(shè)計中的科學(xué)性與實用性,證明了該種設(shè)計模式可以保證芯片在多組協(xié)同設(shè)計下的兼容性和穩(wěn)定性,并在很大的程度上提高了設(shè)計效率.

        2 基于UML和SystemC 的SoC設(shè)計

        2.1 UML在SoC設(shè)計中的應(yīng)用

        UML(統(tǒng)一建模語言)是一種可視化的建模語言,用來描述復(fù)雜的系統(tǒng)結(jié)構(gòu).它具有定義良好、易于表達并支持各個級別的抽象綜合等優(yōu)勢,可以對幾乎任何靜態(tài)結(jié)構(gòu)或動態(tài)行為的系統(tǒng)進行建模,彌補傳統(tǒng)SoC設(shè)計方法的不足,使設(shè)計者能夠?qū)W⒂谳^高層次上的整體規(guī)劃,而不必過于關(guān)注底層代碼實現(xiàn)細(xì)節(jié).

        UML主要由事物、關(guān)系和圖三者構(gòu)造而成.這里的事物主要有類、接口、協(xié)作和用例等,它們是對模型中最具有代表性的成分的抽象;關(guān)系則把各事物結(jié)合起來,在面向?qū)ο蠹夹g(shù)中,主要有依賴、關(guān)聯(lián)、泛化和實現(xiàn)等關(guān)系;而圖是UML建模的最終成果,是聚集了相關(guān)事物的圖形表示,它們能夠清晰地表達系統(tǒng)分析設(shè)計中的復(fù)雜概念,能夠反映不同視角上的系統(tǒng)模型的投影.UML提供了5類圖,其中包括9種圖形,如表1所示:

        表1 UML圖的種類

        (1)用例圖(use case diagram)從用戶的角度描述系統(tǒng)功能,展現(xiàn)了參與者(人、事物、其他系統(tǒng)等)、用例及他們之間的關(guān)系,將每個系統(tǒng)中的用戶分離并抽象,防止功能重復(fù)和出現(xiàn)多余的類.

        (2)靜態(tài)圖包括類圖(class diagram)和對象圖(object diagram).類圖是最常用的UML圖,顯示出類、接口的內(nèi)部結(jié)構(gòu)以及它們之間的關(guān)系,主要用在系統(tǒng)結(jié)構(gòu)的描述.對象圖則實例化了類圖,從實際的或原型化的情景來表達系統(tǒng)的靜態(tài)過程,一般使用它來說明數(shù)據(jù)結(jié)構(gòu)、類圖中的類或組件等的實例的靜態(tài)快照.

        1.無限制說。該學(xué)說認(rèn)為監(jiān)聽與搜查均屬于干預(yù)隱私權(quán)的強制處分措施,因此可以類推適用《德國刑事訴訟法典》第108條第1款規(guī)定:“在搜查時發(fā)現(xiàn)的物品雖與本案偵查無關(guān),但卻表明發(fā)生了其他犯罪行為的,要將物品臨時扣押。扣押后應(yīng)當(dāng)通知檢察院?!盵5]以該條為依據(jù),偶然監(jiān)聽所得材料應(yīng)當(dāng)允許作為證據(jù)。該觀點的理由為,法律雖未對偶然監(jiān)聽所得材料能否作為證據(jù)使用作出規(guī)定,但由于法律將通訊監(jiān)聽與搜查、扣押并列規(guī)定,而監(jiān)聽與搜查、扣押都是對相對人隱私權(quán)進行干預(yù)或侵害的偵查措施,兩者具有相同的法律構(gòu)造,可作相同的解釋,因此,對于偶然監(jiān)聽所得的材料可類推適用搜查、扣押的規(guī)定,允許其作為證據(jù)使用[7]。

        (3)行為圖有狀態(tài)圖(statechart diagram)和活動圖(activity diagram)兩種.狀態(tài)圖展現(xiàn)一個實體基于事件反應(yīng)的動態(tài)行為,顯示了該實體如何根據(jù)當(dāng)前所處的狀態(tài)對不同的事件做出反應(yīng)的.活動圖是狀態(tài)圖的一種特殊形式.其中所有或多數(shù)狀態(tài)都是活動狀態(tài),而且所有或多數(shù)轉(zhuǎn)移都在源狀態(tài)中的活動完成時立即觸發(fā).

        (4)交互圖用于描述對象間的交互關(guān)系.其中序列圖(sequence diagram)用來描述對象之間消息發(fā)送的先后次序,闡明對象之間的交互過程以及在系統(tǒng)執(zhí)行過程中的某一具體時刻將會發(fā)生什么事件.協(xié)作圖(collaboration diagram)強調(diào)收發(fā)消息的對象的組織結(jié)構(gòu).協(xié)作圖和序列圖是可以相互轉(zhuǎn)換的.

        (5)實現(xiàn)圖包括構(gòu)件圖(component diagram)和實施圖(deployment diagram).構(gòu)件圖描述系統(tǒng)構(gòu)件及各構(gòu)件之間的依賴關(guān)系.實施圖展現(xiàn)了運行時物理節(jié)點以及其中的構(gòu)件的配置等.

        將抽象建模結(jié)合到SoC設(shè)計當(dāng)中,大大改進了SoC設(shè)計流程.使用UML對系統(tǒng)進行整體建模,可以對系統(tǒng)的需求、功能和相應(yīng)的行為以圖形化的形式詳盡地描繪,使得系統(tǒng)設(shè)計人員提前對整體設(shè)計有感性認(rèn)識.這種通過UML圖來描述系統(tǒng)軟件模塊,再通過工具生成相應(yīng)C++代碼的SoC設(shè)計方法,使得電路設(shè)計從傳統(tǒng)的代碼編寫提升到系統(tǒng)級建模的層次,改善了SoC設(shè)計的流程,提高了團隊小組間的協(xié)調(diào)合作效率,從而進一步提升SoC的研發(fā)速度.

        2.2 SystemC在SoC設(shè)計中的應(yīng)用

        SystemC是一種系統(tǒng)級設(shè)計語言,它在C++基礎(chǔ)上添加了硬件擴展庫和仿真核,使之可以建模包括軟件和硬件的電子系統(tǒng).

        SystemC以C++作為底層標(biāo)準(zhǔn),為了具有硬件描述能力,SystemC一方面擴充了核語言,包括Module(模塊)、Process(進程)、Interface(接口)、Port(端口)、Channel(信道)、Signal(信號)、Time(時間)、Event (事件)等;另一方面擴展了12種數(shù)據(jù)類型(DataType),包括有 2個值的邏輯變量(sc_bit,sc_bv)、4個值的邏輯變量(sc_logic,sc_Iv)、1~64位的有 (無)符號整型數(shù)(sc_int,sc_uint )、大于64位的有(無)符號整型數(shù)(sc_bigint,sc_biguint)和定點數(shù)(sc_fixed,sc_ufixed,sc_fix和sc_ufix)等.此外SystemC還提供了用于軟硬件模塊連接的信息傳輸通道(Elementary Channels),包括sc_buffer,sc_fi_fo,sc_signal_rv,sc_semaphore和 sc_ mutex等,方便了系統(tǒng)的模擬驗證.

        下面闡述SystemC的幾個重要名詞:

        (2)進程(process):進程是包含在模塊中的用于描述功能的元素,在系統(tǒng)設(shè)計中可以使用進程描述并發(fā)行為.SystemC中有三種進程:Thread Process、Method Process、Clocked Thread Process.它們是相對獨立的線程,通過事件觸發(fā)執(zhí)行,可在指定執(zhí)行點掛起或恢復(fù).

        (3)通道(channel):通道是通信和同步的一個容器,它實現(xiàn)了一個或者多個接口(interface),接口是訪問通道的方法.同個模塊下不同進程間可以直接使用通道進行通信.

        (4)端口(port):不同模塊間的數(shù)據(jù)通過端口傳遞,兩個模塊的端口指向同一個通道時,便可以利用該通道共享數(shù)據(jù).它有三種模式:sc_in,sc_out, sc_inout.

        (5)信號(signal):信號可以連接各個模塊的端口.

        SystemC支持軟硬件協(xié)同設(shè)計,支持在C++的環(huán)境下對軟硬件及相關(guān)接口的描述,支持門級、RTL級、系統(tǒng)級等抽象層次上硬件的建模與仿真.

        SystemC語言的特點使得系統(tǒng)設(shè)計人員可以在設(shè)計過程中高效快捷地對軟硬件部分進行協(xié)同驗證,以及時地分析評估系統(tǒng)性能和設(shè)計的正確性,成熟的C++技術(shù)使得協(xié)同驗證速度大幅的提高.如圖2展現(xiàn)了基于SystemC的軟硬件協(xié)同設(shè)計過程.

        在一個SoC設(shè)計中,首先進行系統(tǒng)描述,定義系統(tǒng)功能.接著根據(jù)系統(tǒng)功能特點對各個功能模塊的實現(xiàn)方式進行分析,完成軟硬件功能模塊的劃分.劃分后,軟硬件模塊可以并行開發(fā),軟件模塊用C++實現(xiàn),硬件模塊由SystemC實現(xiàn).開發(fā)過程中,軟硬件模塊可一同在SystemC庫的支持下隨時進行驗證或仿真,若發(fā)現(xiàn)問題,可以及時作出相應(yīng)調(diào)整或重新劃分軟硬件模塊,直到驗證仿真滿足系統(tǒng)需求.因此,使用SystemC使得設(shè)計人員僅需使用一種開發(fā)環(huán)境,一種開發(fā)語言自由地完成SoC軟硬件總體設(shè)計,不僅縮短了設(shè)計周期,而且降低了硬件設(shè)計部分的復(fù)雜度、減少了代碼量與工作量,總體上提高了開發(fā)設(shè)計的效率.

        3 基于UML和SystemC的SoC設(shè)計實例

        UML與SystemC的巧妙配合能夠提高SoC設(shè)計效率,縮短開發(fā)周期,提高產(chǎn)品質(zhì)量.在節(jié)中,將以一個錄音芯片為實例,完整的介紹從UML建模到SystemC代碼實現(xiàn)的整個SoC設(shè)計流程.

        3.1 UML設(shè)計

        一個簡單錄音芯片功能需求有兩個,一是錄制一段聲音,二是播放上次錄制的聲音,據(jù)此即可畫出系統(tǒng)用例圖.對芯片進行系統(tǒng)分析、結(jié)構(gòu)設(shè)計,將系統(tǒng)劃分設(shè)計為多層級的組合結(jié)構(gòu),為直觀展現(xiàn)這種層級關(guān)系可以用UML的組合結(jié)構(gòu)圖來設(shè)計,如圖3:

        圖3 錄音芯片組合結(jié)構(gòu)圖

        Recorder模塊設(shè)計就是一個大模塊,其內(nèi)部含有次層級的Microcontroller、Memory和Keypad三個子模塊,而其中的Mircocontroller子模塊內(nèi)部又含有次層級更小的模數(shù)/數(shù)模轉(zhuǎn)換子模塊.我們還可以用UML的類圖呈現(xiàn)出另一種有空間感的層級關(guān)系.

        接著將各模塊進一步細(xì)分,進行線程設(shè)計,在UML中以活動圖來體現(xiàn)線程設(shè)計.將5個模塊進行分解,制作對應(yīng)的活動圖.使用活動圖來表示兩類進程的狀況:一是一個模塊內(nèi)幾個進程的并發(fā)執(zhí)行狀況,另一種是單條進程的執(zhí)行細(xì)節(jié),這些細(xì)節(jié)對應(yīng)的就是一段SystemC程序.如圖4、5分別展示了這兩種圖.

        經(jīng)過以上的幾個步驟后,我們已經(jīng)將一個芯片由頂而下細(xì)分成了進程,在這種設(shè)計模式下,由于有了UML建模圖,我們可以直觀的知道各個模塊之間的關(guān)系與數(shù)據(jù)流向.例如負(fù)責(zé)Mircocontroller模塊的小組,他們不需要知道Memory模塊如何實現(xiàn).從結(jié)構(gòu)圖中可以知道,他們只需關(guān)心如何從Memory模塊獲得信號、如何向Memory傳遞信號.負(fù)責(zé)ADCDAC模塊的小組則只需實現(xiàn)模擬數(shù)字信號之間的轉(zhuǎn)換.同樣的,負(fù)責(zé)Memroy模塊的小組只是要將數(shù)字信號進行存儲與送出而已.UML建模保證了芯片在多組協(xié)同設(shè)計下的兼容性與穩(wěn)定性,在SoC設(shè)計中發(fā)揮了它的特色.

        執(zhí)行各自不同功能的模塊要拼搭成某個具有新功能的模塊,必然少不了相互之間的通信,明確各個模塊、進程之間在執(zhí)行過程中信號的流動對于設(shè)計SystemC代碼來說是很重要的.UML通信圖可以很好的表現(xiàn)出模塊內(nèi)部某一群對象在執(zhí)行過程中的傳遞狀況.

        3.2 SystemC代碼實現(xiàn)

        有了UML建模后,就可以將程序與圖形一一對應(yīng),最后拼裝成一個完整的芯片.每個小組獨立進行設(shè)計,只要實現(xiàn)自己負(fù)責(zé)的功能即可,他們唯一關(guān)心的就是與其他模塊之間的通信,有了UML建模的圖形,模塊間的通信就一目了然了.例如Memroy模塊,它與Controller模塊間只有2個相連的端口In與Out,那么在SystemC代碼中,Memroy模塊的頭文件里有這么一段聲明

        而在Memroy.cpp文件中,要做的就是獲取In端口傳來的數(shù)據(jù)并存儲以及將存儲的數(shù)據(jù)寫到Out端口.

        上訴代碼將讀取In口,如果有數(shù)據(jù)就放到DataBuff數(shù)組中,而最后DataBuff將被綜合成一個存儲器,實際上就是完成了將In口輸入的數(shù)據(jù)存儲的功能.

        3.3 芯片仿真

        通過SystemC編寫測試平臺進行了芯片仿真.實驗證明,在多個小組獨立設(shè)計的情況下,編寫的main函數(shù)順利的執(zhí)行,實驗?zāi)芊抡娉晒?如圖6,展示了播放過程的仿真結(jié)果,Memory模塊將之前錄好存儲的數(shù)字信號通過端口輸出,DAC模塊接收數(shù)字信號并將其轉(zhuǎn)換為音頻模擬信號輸出,給Recorder外層結(jié)構(gòu)接收.

        圖6 實驗仿真結(jié)果

        4 結(jié)論

        UML的圖形表示法不僅直觀性強而且抽象度高,便于隱藏細(xì)節(jié),凸顯重點,配合SystemC程序語言來填補細(xì)節(jié),在提高系統(tǒng)效率的同時還保證了系統(tǒng)的創(chuàng)新性,此外系統(tǒng)的設(shè)計與開發(fā)效率也能得到大幅度提高.在UML建模后,可將芯片分成多個模塊給不同小組進行協(xié)同設(shè)計,不同組間可以不受其他小組約束進行模塊設(shè)計,使用SystemC能夠在設(shè)計開發(fā)過程中對多個不同模塊進行協(xié)同驗證與仿真,以及時發(fā)現(xiàn)問題、解決問題,減小返工率.

        〔1〕邱郁惠.Soc設(shè)計UML實務(wù)手冊[M].機械工業(yè)出版社,2008.

        〔2〕Bhasker J.SystemC入門[M].北京航空航天大學(xué)出版社,2008.

        〔3〕鄭人杰.UML建模大賽專家視角[EB/OL].http: //www.chinauml.org/index.aspx.

        〔4〕陳燕.基于UML的嵌入式系統(tǒng)系統(tǒng)級設(shè)計方法研究[D].上海復(fù)旦大學(xué),2005.

        〔5〕歐陽堅,沈海斌,顏曉浪.系統(tǒng)級芯片設(shè)計與SystemC[J].微電子學(xué),2002,32(6):453-456.

        〔6〕王建新,姚放吾.基于UML的軟硬件協(xié)同設(shè)計方法[J].計算機技術(shù)與發(fā)展,2006,16(1):96-98.

        〔7〕羅娟,曹陽,李德識.基于模式的SOC設(shè)計方法研究[N].北京優(yōu)點大學(xué)學(xué)報,2004(12).

        〔8〕張海濤,龔龍慶.基于UML的SoC建模設(shè)計方法研究[J].計算機技術(shù)與發(fā)展,2008,18(3):145-147.

        T P 391.7

        A

        1673-260X(2012)07-0023-04

        福建省2010大學(xué)生創(chuàng)新性實驗計劃資助項目(mjcx1001)

        猜你喜歡
        系統(tǒng)設(shè)計
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        何為設(shè)計的守護之道?
        《豐收的喜悅展示設(shè)計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        瞞天過海——仿生設(shè)計萌到家
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        国产人妻人伦精品1国产盗摄| 护士的小嫩嫩好紧好爽| av无码精品一区二区三区| 午夜时刻免费入口| 国产av麻豆mag剧集| 中文字幕日本特黄aa毛片| 国内精品久久久久久久久久影院| 国产免费a∨片在线软件| 亚洲日本一区二区一本一道| 性色av 一区二区三区| 国产精品无码专区视频| 精品视频专区| 日本高清一区二区在线观看| 亚洲精品中文字幕乱码无线| 男人的天堂一区二av| 朋友的丰满人妻中文字幕| 无遮无挡爽爽免费毛片| 粗大的内捧猛烈进出在线视频| 超碰Av一区=区三区| 成年女人18毛片毛片免费| 国产精品毛片一区二区三区| 国产午夜福利片在线观看| 人妻激情另类乱人伦人妻| 欧洲熟妇乱xxxxx大屁股7| 日本丰满少妇高潮呻吟| 国产精品人成在线观看不卡| 人妻一区二区三区av| 亚洲欧美中文字幕5发布| 精品亚洲成a人在线观看青青| 欧美在线专区| 国产在线观看网址不卡一区| 国内精品毛片av在线播放| 夜夜躁狠狠躁日日躁视频| 美女自卫慰黄网站| 成人日韩av不卡在线观看| 国产精品久久熟女吞精| 青青草高中生在线视频| 亚洲日韩欧美一区、二区| 7878成人国产在线观看| 亚洲一区二区三区品视频| 国产视频激情在线观看|