色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于SystemC描述的嵌入式系統(tǒng)的自動化驗(yàn)證

          基于SystemC描述的嵌入式系統(tǒng)的自動化驗(yàn)證

          作者: 時間:2012-04-05 來源:網(wǎng)絡(luò) 收藏

          在國民經(jīng)濟(jì)和國防各個領(lǐng)域中得到了越來越廣泛的應(yīng)用。隨著微電子技術(shù)和超大規(guī)模集成電路的高速發(fā)展,的規(guī)模越來越大,硬件部分的異構(gòu)程度和軟件部分的功能復(fù)雜程度都達(dá)到了歷史最高點(diǎn)。在更高的設(shè)計復(fù)雜度和更短的面市時間壓力下,提高抽象層次進(jìn)行系統(tǒng)級設(shè)計已成為解決問題的必然手段。另外,基于IP (intellectualproperty) 構(gòu)件的開發(fā)方法,在IP 的開發(fā)、交換和重用上,也亟待系統(tǒng)級開發(fā)方法的廣泛采用。

          系統(tǒng)級開發(fā)方法要求在較高的抽象層次上描述系統(tǒng),并模擬和驗(yàn)證。由于系統(tǒng)的復(fù)雜性,一般不能由系統(tǒng)功能級描述直接綜合到具體的軟硬件實(shí)現(xiàn),需要有多種不同抽象層次的中間級描述。傳統(tǒng)的設(shè)計方法采用不同的語言描述各種抽象層次,不僅帶來系統(tǒng)描述的不一致性,而且難以勝任軟硬件的協(xié)同驗(yàn)證,不能滿足復(fù)雜的設(shè)計需求。因此,人們迫切需要用一種單一語言來完成全部設(shè)計描述,分析系統(tǒng)體系結(jié)構(gòu)和建立軟硬件協(xié)同驗(yàn)證平臺。這就是所謂的系統(tǒng)級( system level description language ,SLDL) 。

          基于C + + 的 語言主要由眾多EDA(electronic design automation) 工具廠商推出,是目前最受矚目的系統(tǒng)級。它通過擴(kuò)展C + + 類庫來提供對系統(tǒng)硬件結(jié)構(gòu)的描述能力,不僅可以實(shí)現(xiàn)對嵌入式系統(tǒng)軟硬件的統(tǒng)一描述,而且支持從寄存器級硬件模型到系統(tǒng)級計算模型等各種不同抽象層次的建模,能產(chǎn)生多種抽象層共存的可執(zhí)行模型。因其對軟件的兼容性,以及支持交易級建模( transactionlevel modeling ,TLM) 所帶來的高效模擬速度等特征,近年來迅速成為流行的系統(tǒng)級設(shè)計和驗(yàn)證語言,尤其適用于軟硬件協(xié)同設(shè)計、驗(yàn)證以及體系結(jié)構(gòu)分析與優(yōu)化等方面。

          現(xiàn)有的 2.0 語言標(biāo)準(zhǔn)已經(jīng)可以進(jìn)行基本的設(shè)計驗(yàn)證,而新近推出的 驗(yàn)證標(biāo)準(zhǔn)(systemC verification standard) 則通過提供一些應(yīng)用程序接口( application programming interface ,API) ,如支持基于交易的驗(yàn)證、可約束的隨機(jī)數(shù)產(chǎn)生、異常處理等,更增強(qiáng)了其驗(yàn)證方面的能力。但是在設(shè)計過程中,驗(yàn)證方法一般還是采用傳統(tǒng)手段,比如手工實(shí)現(xiàn)測試代碼,然后通過波形圖查看工具等人為的驗(yàn)證等,缺乏對斷言的支持,整個驗(yàn)證過程的自動化程度低??紤]到在典型的設(shè)計中,驗(yàn)證通常會占用整個設(shè)計周期的2/ 3 左右時間,因此亟需采用高效和精確的驗(yàn)證方法。

          因?yàn)镾ystemC 的本質(zhì)是C ++ 的類庫,嵌入式系統(tǒng)SystemC 模型的驗(yàn)證就等同于軟件領(lǐng)域內(nèi)的測試,所以可以借鑒C/ C + + 軟件領(lǐng)域內(nèi)大量的經(jīng)驗(yàn)、工具和新的技術(shù)進(jìn)展。 本文就是如此嘗試:一方面,借鑒C + + 語言的自動化測試框架(automated testing f ramework ,ATF) 來實(shí)現(xiàn)驗(yàn)證過程的自動化;另一方面,應(yīng)用面向方面編程技術(shù)(aspect oriented programming ,AOP) ,分離和封裝測試代碼。采用這種驗(yàn)證方法,可按需要隨時靈活地進(jìn)行測試代碼到被測系統(tǒng)的動態(tài)植入,對被測系統(tǒng)無干擾,并實(shí)現(xiàn)驗(yàn)證過程的自動化。

          自動化測試框架

          目前在軟件領(lǐng)域內(nèi),測試活動受到了前所未有的重視,主要表現(xiàn)為測試驅(qū)動的開發(fā)方法 。該方法要求在設(shè)計系統(tǒng)的同時(甚至之前) 設(shè)計相關(guān)的測試模型,通過不斷測試來反復(fù)迭代,得到最后的設(shè)計??梢?在目前的軟件開發(fā)流程中,設(shè)計、編碼和測試各個階段的迭代周期變短,需要對代碼頻繁地重構(gòu),這就要求測試活動能夠自動、簡便、高速地運(yùn)行,自動化測試框架(ATF) 因此而得到了廣泛的采用。

          在圖1 所示的嵌入式系統(tǒng)開發(fā)流程中,系統(tǒng)級開發(fā)方法著重在較高抽象級對系統(tǒng)的分析和驗(yàn)證,然后自上而下地細(xì)化直到最后的實(shí)現(xiàn)。其間也意味著有頻繁的迭代過程,一方面表現(xiàn)為體系結(jié)構(gòu)、軟硬件劃分上的搜索迭代,另一方面表現(xiàn)為軟硬件協(xié)同模擬和驗(yàn)證,進(jìn)行早期嵌入式軟件的調(diào)試,在更早的階段發(fā)現(xiàn)錯誤。 在采用SystemC 作為建模語言的情況下,整個系統(tǒng)可以方便地用一種語言描述,然后細(xì)化到最后實(shí)現(xiàn);同時可以利用C ++ 語言的自動化測試框架,保證各個階段測試活動的自動化運(yùn)行。


          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉