<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          CppUnit 測試框架在這里的職責是對測試過程的自動化封裝。基礎的CppUnit 測試框架,無法與測試點收集器建立聯(lián)系,并且不提供連續(xù)狀態(tài)的斷言機制。本文的方法,一方面讓測試用例引用的測試點收集器對象與AOP 植入的收集器對象保持一致,然后將測試點收集器的數(shù)據(jù)發(fā)送到測試用例中來;另一方面,用鎖的形式實現(xiàn)測試輸入與測試響應異步過程同步化的機制,以適應測試過程同步化的特點。連續(xù)輸入輸出的測試,可以通過擴展測試點收集器的儲存能力,收集全部連續(xù)輸出,統(tǒng)一通知測試單元,完成連續(xù)信號的期望判斷。在有黃金模型的聯(lián)合模擬框架下,連續(xù)輸入輸出的測試,也可以由測試點收集器即時收集響應,即時通知測試單元,與黃金模型輸出的即時期望數(shù)據(jù)比較。

          的TLM 和簡單片上總線的測試實例

          語言的一個重要特征是支持系統(tǒng)的交易級建模( TLM) 和驗證。在系統(tǒng)級設計與驗證中,交易(t ransaction) 成為越來越重要的一個概念。一般來說,交易可以理解為系統(tǒng)模型中2 個模塊之間的一次數(shù)據(jù)交換。這個交換與采用的協(xié)議無關(guān),通常不涉及具體的總線時序等細節(jié)。最常見的是讀交易和寫交易,以保證模塊之間同步操作是事件交易。另外,模塊之間的中斷也是一種交易。TLM 模型較RTL (register t ransfer level ) 級容易編寫,而且模擬速度較RTL 級提高了100~1 000 倍,每秒鐘能仿真至少10 萬個交易。TLM 的一個重要用途,是可以作為RTL 級驗證的黃金參考模型,系統(tǒng)級測試用例可以重用;另外, TLM 模型對于軟件開發(fā)已足夠精確,因此可以在硬件RTL 級設計的同時,并行在TLM 模型上進行嵌入式軟件的開發(fā),加速開發(fā)流程。

          TLM 模型包含了事件之間的正確順序,而沒有底層的物理延時,可以為軟件設計者提供一些初步的性能分析。另外,含有時間信息的TLM 模型可對系統(tǒng)結(jié)構(gòu)做出一些評價,從而探索和優(yōu)化系統(tǒng)結(jié)構(gòu)。TLM 的設計一般都帶有一個總線通信結(jié)構(gòu), 完成各個功能模塊之間的相互通信。TLM 的主要任務就是相應的通信抽象,實現(xiàn)通信機制。一個簡單片上的總線系統(tǒng)包括主從設備接口、快/ 慢速存儲器通道、通用串口通道、仲裁器接口和仲裁器模塊等。測試的目的一是驗證各個模塊之間通信實現(xiàn)的正確性,為軟硬件協(xié)同設計提供正確的TLM 模型;二是可以評估系統(tǒng)的體系結(jié)構(gòu),如確定系統(tǒng)的資源如儲存器和FIFO(first in first out) 的大小等。圖5 給出了一個簡單片上總線的測試實例。

          在這個例子中, 由AspectC ++ 實現(xiàn)的Aop Test Probe 直接加在了各通信接口的通信方法上, 各通信方法在調(diào)用之前或之后, 都被Aop Test Probe 準確捕獲; 然后由TraceRecord 類收集相應的信息,再將信息通過接口NotifyTest 通知測試用例SimpleBusTestCase ;測試用例實例化被測體SimpleBus , 準備輸入數(shù)據(jù), 然后鎖定等待TraceRecord 發(fā)過來的響應數(shù)據(jù),通過與期望的斷言比較, 完成一個測試過程。 這里, SimpleBus 與TraceRecord 的關(guān)聯(lián)是由方面編譯器編譯Aop Test Probe 而植入的。測試完畢,就可以不再用方面編譯器編譯而去掉這個關(guān)聯(lián)。被測體在發(fā)布時不會由于測試代碼的冗余而影響效率和占用內(nèi)存。

          通過這個實例可以發(fā)現(xiàn),該自動化測試方法雖然由于AOP 的方面編譯帶來了更長的編譯時間,但AspectC ++ 實現(xiàn)了與C/ C + + 同樣高效的代碼同時帶來了更加明顯的優(yōu)點,比如消除測試代碼的冗余,減少出錯的可能,滿足測試要求的靈活性和可移植性等;自動化測試框架的結(jié)合,更是大大提高了測試過程的效率。所以該方法可為模型的驗證和評估提供十分有效的自動化手段。

          結(jié)語

          本文在對 描述的基礎上,提出了一種全新的自動化驗證方法。該方法采用AOP 技術(shù),并結(jié)合ATP 的使用。該方法支持測試自動化,并實現(xiàn)了測試代碼的分離和封裝,隨時可滿足被測系統(tǒng)的測試要求;對嵌入式系統(tǒng)的系統(tǒng)模型,可自動化、重復性地驗證,能夠滿足系統(tǒng)模型在較高抽象級的驗證和評估要求。面向方面的思想和技術(shù)在各方面的應用,已經(jīng)得到人們越來越多的關(guān)注,實際上,可以進一步引用AOP 技術(shù)到嵌入式系統(tǒng)的設計過程中,為系統(tǒng)設計提供更好的模塊化和復用性。


          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();