最近筆者一直在寫關於在晶片投片(tapeout)成功之前,使用硬體模擬(hardware emulation)技術來驗證網路系統單晶片(SoC)設計好處的系列文章;本文將介紹一種可填補相同網路設計中矽前(pre-silicon)與矽後(post-silicon)驗證之間差距的新方法。

在開始詳細介紹前,讓我們先看看競爭激烈的網路應用市場;由於雲端運算、大型資料中心和行動應用等新市場的不斷湧現,使得軟體定義網路(SDN)架構得以大量採用。圖1是SDN市場的年度營收成長趨勢,預計在未來兩年將成長135%。

20161209TA01P1
圖 1 SDN市場因為雲端運算、大型資料中心和行動應用等帶動而持續成長。(圖片來源:Lauro Rizzatti)



而SDN也大幅提高了設計複雜性、擴大了設計規模以及增加了連接埠數量;圖2是SDN部分關鍵應用市場的設計規模擴展趨勢。

20161209TA01P2
圖2 SDN新應用提升了設計複雜性和邏輯閘數量。(圖片來源:Lauro Rizzatti)



這種勢不可擋的設計規模擴展,為已經不堪負荷的大型SoC設計團隊帶來諸多挑戰;以重要性程度排序,這些挑戰包括:

˙測試所有連接埠配置。 ˙量測並符合性能和頻寬需求。 ˙展示支援各種規格所有乙太網OSI層協定的設計。 ˙針對在矽前驗證以硬體模擬找出的硬體問題和實驗室裡的晶片原型進行除錯。 ˙確保設計按照預期透過軟體重新配置/執行。 ˙提供電路編譯、下載和運作的快速周轉時間(turnaround time)。 ˙將佈署驗證環境的成本/時間降至最低。 ˙評估功耗並將其降至最低。 ˙縮小晶片的面積。

這些挑戰已無法透過傳統軟體電路模擬器或者形式驗證工具解決,這非意味著這些工具已經變得毫無用處。恰恰相反,它們是驗證工具箱中的基本工具,但其部署只限於智慧財產權(IP)模組和子系統模組(sub-system)級別的驗證範圍內,這在現代的複雜SoC設計早期開發週期中是必不可少的,包括網路晶片。

在十億邏輯閘級的競爭舞臺,只有硬體驅動的驗證引擎可以應對這些挑戰任務,因應緊湊的時間表,在高速發展的網路市場中避免設計延遲帶來的潛在收益損失。

筆者之前的文章已多次提到過,在基於硬體的驗證引擎中,硬體模擬已成為前端驗證的最佳工具。現代硬體加速器擁有近乎無限的容量,可模擬最大型的設計,並且無需儀器/編譯即可提供整體設計可見性(visibility)和存取/控制,同時還支持高輸送量以及快速、可預測的編譯和調用時間。

它可以透過對資源的最佳化利用來容納多個平行使用者。它能以多個操作模式進行部署,從而執行多種驗證任務,包括實體電路硬體模擬(in-circuit-emulation,ICE)和虛擬測試、低功耗驗證、功耗估計、性能特徵化(performance characterization)以及可測試性設計(DFT)。

當使用多個──例如64個或更多──連接埠驗證網路SoC設計時,ICE的價值主張相比前十年已顯著降低;ICE環境需用加速轉接器(speed adapters)這樣的外接硬體,做為快速真實的網路流量(數百MHz)和相對低速的模擬設計(僅1MHz或數MHz)之間的介面。

但這會增加設置複雜性、增加功耗且降低可靠性;如此一來,設置的重新配置(re-configurability)變得繁瑣,實作起來也很慢,並使得硬體模擬器的使用權被限制於本地安裝的單個使用者,無法支援遠端存取。更糟的是,它讓設計除錯的可重現性和重複性變得不確定,導致除錯計畫難以執行。

現在,設計團隊正從ICE設置轉移到虛擬測試環境,免除了對所有硬體的依賴,也擺脫了包括雜訊、功耗、電纜、可靠性和相關成本等等。在實際硬體可用之前,可以透過使用軟體與可合成硬體模型的結合來建立虛擬元件,以便透過該軟體輕鬆進行重新配置。它們以硬體模擬速度執行,支援多使用者和多專案同時進行,可遠端存取,並且能佈署於資料中心。

在今年度設計自動化研討會(DAC2016)的一場座談會上,處理器設計業者Cavium助理副總裁、同時也是硬體工程師的Guy Hutchison表示:「我們的設計都是採用虛擬技術,部分原因在於我們的設計之本質──對我們來說,並沒有真正具有代表性的、能產生100G流量的工具,ICE方法對我們來說毫無價值,因此我們所有的模擬都是採用完全虛擬化方法。」

但是,虛擬模式需要創建虛擬測試環境,這不是一件簡單任務;在這方面,EDA供應商Mentor Graphics開發了全面性的精密虛擬環境VirtuaLAB,可以支援特定應用的SoC設計矽前測試。以網路設計為例,VirtuaLAB內含乙太網路資料封包產生器和監視器(EPGM),可生成、傳輸並監視待測設計(DUT)的乙太網路資料封包,具備配置25GMII、50GMII、200GMII和400GMII的能力。

每套VirtuaLAB支援多達32個連接埠;將多個VirtuaLAB系統組合,能將連接埠數量擴展至1,000個以上。圖3是128埠乙太網路交換器晶片的測試範例,並比較了ICE配置和同等級的VirtuaLAB。

20161209TA01P3
圖3 128埠乙太網路交換器晶片驗證的ICE設置(上)和同等級虛擬設置(下)的比較,顯示了ICE的複雜性以及遠端存取不可行的原因。(圖片來源:Mentor Graphics)。



矽前與矽後驗證

雖然VirtuaLAB具備有力的矽前驗證功能,但當工程師要在實驗室針對工程樣品進行矽後測試時,其有效性會打折扣。不過,在實驗室中測試網路設計工程樣品的方法,是透過使用專用的硬體網路測試儀。再次引述Cavium的Hutchison所言:「當我們在實驗室進行測試,會採用IXIA或Spirent流量產生器。」

在這種應用場景下,驗證環境有兩種差距(gap);首先是軟體模擬與硬體模擬之間的差距,其次是在設計中心以硬體模擬和VirtuaLAB進行的矽前驗證,以及在實驗室中由專業測試儀進行的矽後測試之間的差距,如圖4所示。

20161209TA01P4
圖4 在驗證環境中存在從模擬到實驗室測試之間的差距。(圖片來源:Mentor Graphics & IXIA)



彌補差距

為彌補硬體模擬環境與實驗室測試之間的差距,Mentor Graphics與網路設備和網路應用測試方案供應商IXIA攜手合作;IXIA的產品涵蓋整個網路測試需求範圍,從性能、功能性,再到安全和一致性測試,包括實體與虛擬測試儀器。

實體測試儀的特色包括:驗證實體DUT的高性能和可擴展性;測試高速乙太網路介面的資料平面之超高可擴展性(data plane hyper-scalability);以微秒級(ms)精度進行可靠的所有資料速率測試與量測;驗證光學元件和線纜的高速互連系統。

虛擬測試儀的特色則是:快速實現測試環境;管理訂閱和靈活的浮動授權(floating licensing);支援多用戶和多站點;執行大規模的功能測試;能在晶片設計週期的早期階段進行測試;一個或多個管理器件上的負載平衡(load balancing)驗證;驗證雲端/資料中心的SDN、網路功能虛擬化(NFV)和應用程式;認證網路安全性、阻斷和入侵偵測。

除了持續擴大Veloce硬體模擬平台應用程式陣容,Mentor也與IXIA共同開發了一個方案,以整合做為硬體模擬測試前端的IXIA IxNetwork虛擬化版本(VE)測試產品系列,以及做為後端的Mentor全新Veloce虛擬化網路(VN)應用程式(如圖5)。

20161209TA01P5
圖5 Mentor/IXIA整合式網路設計方案。(圖片來源:Mentor Graphics & IXIA)



做為前端的IxVerify是以IXIA之IxNetwork測試產品為基礎,採用相同的圖形化介面,並啟用了測試腳本和功能的重複使用(也支援IxExplorer舊版產品)。在其第一版中,該系統支援那些客戶端應用目前支援的所有無狀態(stateless)乙太網路流量,重點強調1G、10G、25G、40G、50G、100G、Tx/Rx頻寬分析、UDF/UDS、流量管制(traffic shaping)、封包延遲計算、完整的圖形化介面前端和IXIA的所有自動化特性。實際上,其客戶體驗與IXIA現有客戶並無差異。

VN App可做為後端,並且包括在工作站上執行的Veloce流程控制(Flow Control)機制,以及Veloce硬體模擬器內部映射的交易處理器(transactor),形成了從 IXIA測試平台到硬體模擬器的高性能最佳化資料平面流。就提高效率和改善除錯而言,該整體解決方案填補了軟體模擬、硬體模擬和實驗室之間的差距。

VN應用程式拓撲

模組化和高度可擴展的虛擬系統,反映了完全虛擬化的實體IXIA測試儀,因此可以使用Mentor的軟體模擬工具進行快速設計除錯,並為整個SoC驗證提供相同的Veloce ICE性能。圖6顯示Mentor/IXIA整合解決方案的功能區塊。

20161209TA01P6
圖6 圖中的配置是以IxVerify為前端,而VN應用程式做為後端。(圖片來源:Mentor Graphics & IXIA)



每片線卡都是在Qemu(一種通用的開放源碼機器硬體模擬器和虛擬器軟體)/KVM(Kernel Virtual Machine)工具程式下運作的虛擬機器(VM),採用了最先進的HyperVisor技術以及Testbench Express(TBX)技術,可以實現緊密整合的虛擬平台解決方案。線卡虛擬機器與位於公司網路的機箱虛擬機器(Chassis VM)通訊,透過在企業網路上任何位置、任何用戶之Windows工作站上運作的IxExplorer或IxVerify客戶端應用程式進行控制。

OSI參考模型

圖7比較了EPGM VirtuaLAB和VN App的OSI(Open Systems Interconnection)參考模型。

20161209TA01P7
圖7 ViruaLAB與VN App的OSI層比較。(圖片來源:Mentor Graphics & IXIA)



以新一代整合式方案加速驗證流程

Mentor Graphics和IXIA的合作,使得從事網路設計的客戶能將IXIA虛擬環境無縫整合到基於硬體模擬的驗證流程中,為實驗室環境帶來強大的硬體模擬優勢;如此能支援資料流程產生腳本(traffic flow generation scripts)的重複使用,進而提高效率、改善除錯並縮短產品上市時間,使設計團隊能降低複雜晶片設計中的挑戰風險。

利用此整合式系統,網路設計團隊能在軟體模擬、硬體模擬和實驗室中執行相同的測試;它支援高性能,並可為矽前驗證提供除錯優勢;實驗室中未發現的錯誤可在硬體模擬中透過與實驗室相同的測試環境進行追蹤,包括PCIe、乙太網路,以及其他可能存在於網路交換器的其他VirtuaLAB解決方案。測試整個產品中發現的錯誤,包括硬體和軟體,可在硬體模擬中立即再現,但若不使用由IXIA和Mentor Graphics共同開發的先進虛擬化技術,可能需要花費數星期時間。

20161209TA01P8
圖8 Mentor/IXIA整合方案消除了從軟體模擬到硬體模擬,再到實驗室驗證環境的所有差距。(圖片來源:Mentor Graphics & IXIA)



透過使用矽後軟體開發套件(SDK)和測試環境,可以實現真正「提前」的矽前驗證;降低複雜網路SoC開發風險不再是遙遠的目標,而是今日所有設計團隊都可以達成的任務。