新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 可重定位的基于事務的系統級驗證

        可重定位的基于事務的系統級驗證

        作者:■美國Zaiq公司 Damian Deneault,Rish McAndrew\美國Aptix公司 時間:2005-04-27 來源:eaw 收藏

        功能驗證已經成為開發的主要問題。隨著一些復雜的規模超過兩千萬門,以及對開發和集成嵌入式軟件的需求持續增加,軟件模擬器已經力所不及。在設計過程需要幾百萬個時鐘周期來充分測試和驗證軟件功能的情況下,軟件仿真器的性能下降到1-5Hz。按照這種速率,軟件調試需要幾年的時間。如果設計項目組不能夠投入這么多的時間,則意味著芯片制造出來之后,在加電后的幾秒內就會出現錯誤。
        基于事務的驗證允許代表單個或者多個時鐘周期的大量數據不經多次調用而直接進入模擬器,極大地提高了模擬性能。到目前為止,驗證環境都是基于事件的,也就是說必須在每個時鐘周期甚至子周期提供驗證數據。大多數硬件驗證語言,如Synopsys的Vera或Verisity的e語言都是這樣工作的。而事務則可以處理結構化可視數據類型。例如,一個以太網事務可以處理一個完整的以太網數據包;一個PCI DMA總線事務可以處理一個完整的突發傳輸。
        仿真器外部接口的增強提高了驗證通信接口的性能。例如,仿真器的DirectC調用使驗證性能提高了大約一個數量級。然而這種仿真性能和驗證完整性的提高,僅僅把軟件調試周期減少到一年以內,仍然存在難以容忍的芯片設計質量和上市時間的矛盾。低成本的服務器集群也不是理想的解決方案,因為它們只能解決多個小型測試的回歸問題,而不能加速像軟件集成這樣的線性過程。因此,對于大多數設計團隊,真正的應用開發和調試過程只有在拿到硅芯片之后才能開始。

        仿真
        多年來,仿真和模擬加速硬件系統已經增強了模擬性能。這些硬件系統提供的性能加速從模擬加速器的幾十kHz到Aptix系統的幾十MHz。例如,運行在Aptix System Explore上的設計能夠以實時或者接近于實時的速度運行,與實際操作環境相互作用。
        過去幾年開發的基于事務的系統級驗證技術能夠極大地影響SoC驗證的效率。例如,Zaiq的方法包含一個事務處理器(transactor)結構,可以無縫地重新定位仿真和模擬。現在Aptix的最新產品是Aptix SoC Validation Lab。
        Zaiq基于事務的驗證技術將處理器定義為HDL總線功能模型(BFM)和C語言間的接口部件。C語言一側包括測試控制、數據產生與檢查,以及C/C++抽象層,后者執行數據操作,如分段與重組、打包和協議相關的功能。(見圖1)。
        這種面向事務的定位,加上平臺庫所提供的數據打包能力具有多個優點。首先,它為測試者提供了一個結構化的視角和簡單的應用程序接口(API)。這可以把測試者從底層總線協議的細節中解放出來,只關注于產生完成測試目標所需要的條件,從而產生更有效率的測試代碼編寫和更高的測試質量。其次,它提供可重用性,即通過改變底層的BFM模型,為一個接口所寫的測試可以運行在另外一個不同的接口上。最后,它可以提高性能。基于事務的傳輸層把C語言一側的事務請求映射到HDL寄存器,控制BFM中的狀態機。相對于發送周期性的信號請求,或者單個信號的編程語言接口(PLI)請求,使用事務傳輸層具有巨大的速度優勢。在很多情況下,性能的提升超過幾個數量級。
        傳輸層的TestBenchPlus (TBP)軟件支持線程,這樣可以啟動多個并發任務。這一特性加強了對被測試器件(DUT)的控制,更接近于仿真真實的系統級性能。
        另外,Zaiq提供了一個應用型平臺庫和環境工具,以方便串行協議數據的產生與檢查、回歸配置管理、性能監控和控制功能、以及圖形和命令行用戶界面的使用。

        基于事務的仿真
        目前已有兩項技術,基于事務的仿真和系統級仿真,問題是如何無縫地提供基于事務的仿真系統。在Aptix SoC Validation Lab以及其他與協同仿真相關產品的基礎上,Zaiq和Aptix已達成技術和市場合作關系來組合這兩項關鍵技術,新產品稱為PREP Messenger。對PREP Messenger的要求如下:
        ?在系統級驗證方面提供已被Zaiq證明是成功的豐富測試激勵方式,包括復雜數據類型和協議的產生,自檢查測試和隨機激勵。
        ?利用Aptix在硬件仿真方面的專業經驗,達到相對于軟件仿真器的幾個數量級的性能提高。
        ?在不需要修改、轉換步驟,或者維持多組代碼的基礎上,允許相同的測試和BFM模型無縫地應用于模擬和仿真。
        Zaiq和Aptix認識到讓PREP Messenger使用Accelera標準協同仿真API:建模接口(SCE-MI)的優勢,該標準對基于事務的協同仿真提供了標準定義。SCE-MI標準定義了與硬件信息端口通信的軟件代理,結構上與Zaiq的PREP環境相匹配。SCE-MI允許在軟件代理和HDL信息端口之間有多個虛擬通信通道。在事務架構的硬件和軟件兩方面都符合工業標準接口,再加上相對于專用接口的性能優勢,PREP Messenger可以保護開發者在驗證IP上的努力。Aptix/Zaiq的SCI-MI基礎結構可由SCE-MI Tranporte獨立提供,并包含在PREP Messenger標準協同仿真傳輸層中。
        提供與SCE-MI兼容的基于事務的仿真涉及如下開發內容:
        1. 利用Aptix Expeditor高速物理接口實現SCE-MI通信基礎結構。
        2. 支持通過SCE-MI基礎結構與Aptix System Explore平臺的通信,或者通過工業標準接口與軟件仿真器通信,同時對測試編寫者保持相同的系統驗證API。
        3. 開發一個可綜合的BFM結構,包括與SCE-MI信息端口的標準接口,在不需要改變BFM的情況下,按照HDL進行軟件模擬,然后綜合成硬件仿真。
        目的是既不改變高層基礎結構,也不改變測試代碼,從而當HDL和測試平臺的HDL部分(SCE-MI BFM)被映射進仿真器時,測試環境的其它部分保持不變。這種可重定位的概念意味著測試環境可以透明、無縫地從純軟件模擬轉換到高速硬件仿真。用這種方法,運行在最新PC平臺的Linux系統下,可以實現超過軟件模擬器20000倍的性能提高。
        對于每個可綜合的BFM模型都有一個對應的C/C++側的函數。這個C語言側的處理器負責對高層協議建模和驗證,從而為測試編寫者提供了一個簡單的類似于加載/存儲的API。C語言側的多個處理器都作為一個單獨的插入執行,在模擬和仿真中插入控制和切換都同樣由傳輸層處理,從而提供了硬件系統測試中所需要的并行操作。

        SoC實例
        為了展示PREP Messenger的強大能力,看一下假設的網絡SoC(NSoC),該實例實現了一個簡單的SOHO完整路由芯片。圖2所示的網絡SoC包含兩個主要部分。第一部分包含ARM 926EJ-S內核,用于芯片的初始化、配置路由表和數據類型,并且實現USB2.0的用戶接口。該芯片中的ARM系統是ARM PrimeXsys平臺的一個子集。芯片的另一部分實現網絡路由引擎,通過一個雙端口的數據包存儲器分別與嵌入式微處理器和ARM AMBA-AHB總線相連。芯片的輸入側能夠把4個支持多協議的輸入端口與2個支持多協議的輸出端口相連。
        NSoC的系統級測試集中在兩個方面:首先是網絡子系統的數據處理和協議檢查;其次是網絡子系統與用來配置和監視系統的ARM代碼的兼容性。
        在NSoC的驗證環境中,C語言測試組產生網絡子系統的測試條件。該測試條件詳細說明應用于NSoC的分組數據格式和協議:長度、載荷、報頭、數據包的間隔時間,以及錯誤情況。該條件即包括用來滿足特定事件覆蓋的直接測試用例,以及基于直接測試用來覆蓋測試編寫者沒有詳細描述情況的隨機激勵。
        當今的數據、計算機和通信系統包含迅速增加的協議、格式和復雜層次。PREP平臺庫提供這種功能的可重用性,并且把這種復雜性跟測試編寫者、BFM模型編寫者以及SoC芯片設計者隔離開。數據產生庫提供大多數標準數據類型和協議,如以太網、Utopia接口、ATM、AMBA-AHB、AXI和PCIX。軟件計分板系統跟蹤加到系統上的激勵,并且自動檢查結果。測試編寫者可以完全描述數據類型來實現直接測試用例,或者允許平臺庫隨機產生數據類型的部分或者所有域對系統進行實驗。
        BFM模型對每個接口或者協議產生適當的信號和周期。它們產生總線周期,發送和接收數據,監視錯誤。它們可以連接到一個標準接口或者專用接口。
        傳輸層通過一個事務API進行訪問,把適當的事務請求發送給BFM模型。傳輸層使用標準的Verilog PLI或VHDL FLI接口作軟件模擬,使用SCE-MI傳輸器API作協同仿真。
        每個事務處理器含一個帶有與SCE-MI硬件側信息端口接口的可綜合BFM核;與之相對應的C語言側函數來作協議檢查、錯誤處理、排隊和SCE-MI功能測試有關的處理,并且具有和SCE-MI軟件側信息端口代理的接口,以及一個可選的平臺庫的API。
        Zaiq提供SYSTEMware驗證元件庫(SVC)。SVC是由Zaiq支持和驗證過的成熟的事務處理器,用來支持行業標準接口。SVC由可綜合的HDL編寫的BFM組成,與SCE-MI API兼容。它們有一個對應運行在自己線程內的C函數,來實現高層抽象,并且能夠無縫地重定位于模擬或仿真。
        為了產生符合實際的測試,考慮單個分組從測試組1經過該NSoC重新回到測試的流程。
        1. 測試指示平臺庫產生一個隨機的分組負荷。
        2. 平臺庫構成分組,把它送給端口1 C語言側的Xactor“IP-1”。
        3. Xactor“IP-1”通過傳輸層把分組送給SCE-MI兼容的BFM模型“IP-1”,后者接著緩存數據,在被測芯片的時鐘控制下,把分組發送給被測芯片。
        4. 分組流經整個NSoC,通過輸出端口0的BFM模型“OP-0”和Xactor“OP-0”返回測試組1,由測試代碼檢驗正確性。

        用于仿真的可重定位NSoC
        Aptix Design Pilot可把所有的HDL映射到System Explore中的多個FPGA中。測試平臺中的BFM模型是和SCE-MI兼容并且可綜合的,它們也同樣被映射到System Explorer中的FPGA中。傳輸層使用SCE-MI傳輸器和Aptix Expeditor作為從C語言一側移動分組和控制數據的高速鏈路。由SCE-MI傳輸器完成多個通信通道的處理,它在Expeditor的超高速物理鏈路上透明地多路傳輸數據。對每個Accellera標準,SCE-MI傳輸器同樣支持時鐘管理和控制。

        從協同模擬到協同仿真
        系統級測試的另一個重要方面是專用邏輯(如該例中的網絡子系統部分)與嵌入式處理器硬件和軟件的相互作用。這種相互作用必須被測試到,以保證硬件的正確性,并且加速硬件/軟件的集成。
        系統測試通過一系列的讀寫操作來啟動和配置網絡子系統。這些讀寫操作是由系統級測試發起的,表示為嵌入式處理器在啟動和芯片工作期間的寄存器配置動作。
        測試序列詳細描述傳輸層在AHB SVC-BFM模型(SCE-MI兼容的SYSTEMware驗證部分)上的讀寫事務。AHB SVC-BFM模型在模擬或仿真模式下產生ARM AMBA-AHB總線上的總線周期。系統測試檢查適當的總線周期響應,驗證總線基本接口、地址映射與寄存器定義。在平臺庫的幫助下,系統測試檢查通過整個芯片的數據流。
        測試程序通過事務處理器和BFM模型,可以從所有關鍵的系統級的有利位置來控制和觀察SoC芯片設計:即每個SoC芯片的主要I/O接口,及芯片內部的主要系統總線。因為測試是在事務的抽象級編寫的,因此測試代碼可以比開發者所需要關注的每個引腳的每個時鐘周期更早開發出來。在產品的早期階段開發的測試代碼可以在以后的所有階段使用。這些因素產生了一個非常強大和高效率的系統驗證環境。
        在測試完軟件接口、寄存器定義和初始化順序后,協同模擬可以接著完成軟件調試。這時,整個應用軟件編譯到實際的目標處理器上(如ARM 926),目標代碼運行在ARM Developer Suite(ADS)上。
        包含在ADS中的ARMulator指令集仿真器(ISS)捕獲對AHB總線地址的讀寫操作。傳輸層把捕獲的讀和寫送給AHB BFM模型;在模擬或仿真中產生總線周期;響應并被返回給ISS。
        ADS提供一個高效和高度精確的軟件開發環境用來生成和調試應用軟件。PREP環境、事務傳輸層、BFM模型與HDL設計可以精確評估硬件和軟件之間的相互作用。系統級測試和平臺庫產生大量的NSoC激勵,仔細調試錯誤或硬件和軟件之間的算法。
        PREP Messenger和System Explorer模擬平臺的事務基礎比軟件模擬器快幾個數量級,允許調試整個軟件包,而不僅僅是代碼片斷。
        在與ISS協同模擬后,處理器內核可以放置在仿真器硬件中。編譯后的代碼存放在EPROM或存儲器中。處理器內核可以實現為“硬IP”,如封裝后的測試芯片,或者“軟宏”,映射到System Explorer FPGA中。處理器完全以硬件執行代碼,以獲取最大性能,同時允許來自系統測試的豐富激勵、流量和錯誤情況。大多數處理器(包括ARM的)提供一個IEEE JTAG或其他的電路內仿真器(ICE)接口,用來加載存儲器,檢查寄存器和控制程序運行。
        在驗證的最后階段,SoC原型的部分或者全部主要的接口都可以連接到實際的激勵源上,從而把SoC驗證從直接和隨機測試擴展到可能還沒有覆蓋到的兼容性、互通性和集成效果測試。

        結語
        在單個芯片上,集成電路門數的持續增加和容納整個系統的能力,包括一個或者多個軟件控制的處理器,對驗證整個芯片功能的傳統模擬方法產生了持續增加的壓力。大多數SoC芯片是多標準,它們支持多個標準的內部或外部接口標準,實現了第三方的IP核。確保正確地集成定制和可重用的IP核,并且能夠被編程執行特定的功能,同時符合行業接口標準是一個嚴峻的驗證挑戰。對于長時間的線性過程,例如引導一個操作系統,模擬已超出了其能力范圍。
        把系統級測試平臺移到抽象的事務級,除性能之外,比引腳級的事件驅動或精確周期的模擬有更多的優勢。而且,使用成熟的驗證IP產生測試程序可以用在項目的多個階段,提高測試質量。成熟的驗證IP對于行業標準接口更有吸引力,因為供應商可以把它們的專業知識運用在IP中,由多個客戶來支付IP的開發費用。
        最后,綜合被測試設計和測試平臺的所有精確周期部分,在硬件仿真環境下得到網表,可以實現相對于軟件模擬3到4個數量級的性能提升。
        使用事務級的測試平臺,以及Aptix SoC Validation Lab工具,如PREP Messenger,完全可以應對幾百萬門SoC芯片的驗證挑戰。■ (曉東譯)



        關鍵詞: SoC

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 萨嘎县| 新平| 大兴区| 漳平市| 泽州县| 芦山县| 天气| 海宁市| 衡阳县| 堆龙德庆县| 曲阜市| 石渠县| 佛坪县| 肃南| 库尔勒市| 顺义区| 北辰区| 隆子县| 香格里拉县| 云南省| 西宁市| 万盛区| 滕州市| 昔阳县| 佛坪县| 衡山县| 察哈| 津市市| 平山县| 枝江市| 藁城市| 分宜县| 桐梓县| 河南省| 红原县| 山阳县| 华池县| 隆尧县| 龙海市| 安远县| 成武县|