802.11b SoC設計的無縫協同驗證

来源:百度文库 编辑:神马文学网 时间:2024/04/29 20:39:34
SoC內部的CPU對工程師是不透明的,要在硬體上驗證SoC和進行軟體除錯就面臨巨大的挑戰,本文以802.11b SoC晶片設計為例,說明一種無縫協同驗證的新方法。
高度整合系統級晶片的硬體驗證和在該硬體上除錯軟體是當前驗證工程學領域面臨的嚴峻挑戰。嵌入到SoC內的處理器核心不再是可見的,因為未提供在線硬體加速模擬器或邏輯分析儀的接腳以進行除錯和分析。除對硬體的功能驗證外,方法學上必須考慮到在嵌入式系統內使用的軟體數量的增加。
在SoC系統設計週期中將產生和模擬一個抽象的設計模型。該抽象功能隨後被映射到系統的詳細架構,且執行架構性能建模。架構映射將設計分割為硬體和軟體以實現其功能。硬體小組用Verilog或VHDL實現設計的硬體部份,並使用硬體模擬器進行驗證。軟體小組用匯編語言、C或C++語言對軟體模塊進行編碼,並使用處理器模型或ICE測試軟體。傳統上,軟體小組需等待硬體原型完成才能夠進行軟體除錯,以實現最終系統整合。

圖1:802.11b晶片設計方
案中整合了三個關鍵要素:
MAC軟體、MAC硬體和基頻處理器。
在系統整合過程中通常會出現很多問題。這些問題可能是由對規格的誤解、不適當的介面定義以及最後設計上的變化等諸如此類的原因引起的。可透過修改軟體或更改硬體來消除錯誤,前者有可能影響系統性能,後者可能非常昂貴和費時,特別是當涉及積體電路需要重新設計時。在設計週期中提前進行系統整合將有助於及早檢測這些整合問題。這可透過在設計週期中及早建構硬體/軟體協同驗證環境而實現。
無縫軟硬體協同驗證工具
良好的硬體/軟體設計和驗證環境可發現功能性和韌體(嵌入軟體)問題,並在進行矽加工以前加速設計的收斂。這樣的硬體/軟體設計環境必須能夠解決典型的硬體/軟體的協同設計工具和工具套件所固有的缺點和侷限性。
由Mentor提供的無縫(Seamless)軟硬體協同驗證工具能夠驗證晶片的硬體和軟體之間正確的相互作用,並能夠確定性能有待改進的區域。Seamless工具加速了基於核心的SoC的初步設計實現和驗證進程,增加了首試投片成功的機會。SeamlessCVE環境使開發者能夠在得到物理原型之前,建構多種基於核心虛擬原型驗證平台。基於ARM的平台即是這類平台之一,且已被用於802.11b晶片設計方案。開發者透過在模擬的硬體上執行嵌入軟體,可在設計週期中很早發現並糾正硬體/軟體的介面錯誤。由此可降低使問題隱藏至系統整合時的可能性,那時軟體已完成,將會因糾錯而推遲完成設計。Seamless工具也使開發者能完全觀測和控制硬體和軟體的執行,從而加速軟體的除錯執行,而這在完成系統設計過程中經常是一個限制因素。
Seamless工具相對於虛擬硬體能執行診斷程式碼。在軟體執行期間,ARM嵌入式處理器產生數以百萬計的儲存交易,包括指令取回和記憶體讀寫。透過執行速度為10~20時脈/秒的邏輯模擬器進行數以百萬計的交易將花費數天時間。Seamless工具為ARM處理器經常存取的儲存空間維持獨特的儲存數組,這使開發者選擇要麼透過邏輯模擬器,要麼透過Seamless工具的攔截而實現對特定記憶體範圍的存取。

圖2:802.11b晶片協同驗證環境。
Seamless工具對ARM7、ARM9、ARM9E、ARM10和ARM11處理器系列提供處理器支援套件。每個處理器模型包括三個組成部份:指令集模擬器(ISS)、圖形軟體除錯器(XRAY)以及連結Seamless工具和HDL或C硬體模擬環境的匯流排介面模型(BIM)。Seamless C-bridge技術支援C硬體模型,從而充分利用C硬體模型較HDL模型更快的模擬速度。
Seamless工具使開發者能看到性能瓶頸問題,並理解開發者修改設計以消除這些瓶頸問題的效果。它能顯示嵌入式CPU資源概況表、儲存交易(包括高速緩衝記憶體分析)圖表、匯流排負載圖表以及匯流排仲裁延遲圖表。Seamless能讓軟體既可用Gantt圖表顯示軟體功能函數調用順序和持續時間,也能用直方圖的形式顯示每個軟體功能函數調用消耗的嵌入式CPU的時間。顯示儲存交易與時間關係的圖表有助於明確顯示峰值記憶體使用週期以及顯示如何更好地平衡記憶體使用。匯流排分析顯示使開發者能觀察匯流排負載和匯流排仲裁機制是否最佳化。
802.11b晶片的驗證
802.11b晶片設計方案中整合了三個關鍵要素:MAC軟體、MAC硬體和基頻處理器(圖1)。
主要的MAC硬體結構塊包括ARM7TDMI核心、指令碼SRAM和數據儲存空間。MAC軟體實現兩項基本功能:數據服務和管理服務。同時MAC硬體實現傳輸MPDU(媒體存取控制協議數據單元)和接收MPDU。
執行Seamless工具的第一步是將ARM處理器記憶體映射到硬體描述中的模擬儲存實例中。此時硬體模擬器要求的任何激勵已被確定。Seamelss的ARM處理器模型可執行C/C++和匯編語言實現的程式,應用軟體不需做任何修改。激勵包括時脈、外部中斷以及串行數據串流等。
如圖2所示,硬體設計者能執行不需做任何修改的應用軟體,而軟體工程師能在虛擬原型上測試他們的軟體。協同驗證環境為設計者在虛擬原型上執行軟體和追蹤軟體的執行提供了高水平的設計洞察力。可在Xray除錯器中執行程式碼,同時透過硬體模擬器中的追蹤和列表窗口監視匯流排的活動情況。透過設置斷點可控制模擬的執行。
圖3表示完整的Specman Elite/Seamless整合環境。Specman

圖3:晶片驗證單元
Elite除能存取硬體外還能存取軟體。利用此特點,驗證工程師能控制整個試驗環境,並能把系統作為一個整體進行驗證。被測試(DUT)的元件由與執行MAC軟體的ARM7TDMI及相應的MAC硬體設備組成。硬體元件有輸入/輸出埠(各四位元)、輸入/輸出32/16位元暫存器以及狀態/控制暫存器。硬體和軟體一同進行數據封包處理。Mentor為Seamless核心提供幾個取得專利權的性能最佳化工具套件,利用這些最佳化選項,可動態使用以顯著改進模擬速度性能。
本文小結
我們對Seamless協同驗證工作的效果印象深刻。首先,在得到硬體原型之前,利用Seamless可以驗證軟體和硬體是否可以協同工作,由此節省了寶貴的時間和工程工作。其次,使用Seamless協同驗證環境,可使軟體工程師能夠確定他們在傳統的實際硬體整合期間發現的所有主要問題。Seamless工具作為一種創新的協同驗證工具,成為幫助SoC設計團隊生產優質的嵌入式晶片的真正現實且強有力的方法。
基於Seamless的軟硬體協同驗證環境特點
加速模擬:Seamless提供高品質的CPU模擬模型,由CPU廠商保證其正確性和完備性;另一方面,由於這些模型是基於指令的模擬引擎而不是由RTL或netlist實現,模擬速度要比傳統上基於HDL的模擬快幾個數量級。
高效的軟體除錯能力:指令集模擬包括一個高階語言層次的除錯器,執行設計者透過對C或者是巨集匯編語言的除錯,而不再僅僅透過HDL模擬器的結果來推斷問題。就像軟體工程師日常除錯的環境一樣,變量和指針的值都可以被偵察。
訊號觀測能力:HDL模擬器比FPGA驗證和樣片除錯方法提供了更強大的訊號觀測能力。所有的訊號變化都是基於時序精確的。除錯者可以透過設置斷點、觸發條件來進行有效的除錯。
 
 
 
 
作者:Qiao Feng