【導讀】乙太網路系統單晶片(SoC)的設計日益復雜,電路與功能的模擬驗證更是曠日費時。而利用硬體模擬技術,即可處理大量驗證作業,又可支援多用戶同時進行,能較傳統軟體模擬方法,達到更快速、準確的效果,有助SoC設計人員提高工作效率。
乙太網路VirtuaLAB軟體可提供由軟體控制的整合環境,用于生成、傳輸和分析乙太網路封包,從而對硬體模擬平臺內映射的乙太網系統單晶片(SoC)進行測試。隨著對連通性需求的大幅增長,網際網路已成為數10億用戶的主要通訊手段。根據“Internet Live Stats”指出,2014年網際網路覆蓋人數已達到30億,占全球人口約40%。
網際網路實現了廣泛的資料通訊服務,如電子郵件、視訊下載、Google搜索、推特(Twitter)消息發送、Skype電話等等。表1列出了每天和每一秒鐘的主要網際網路活動數量。
網際網路的起源可以追溯到不同時間不同地點的多項發明的匯合,集眾人之力完成。垂直發展包括封包交換技術、通訊協議以及源自20世紀60年代的電信行業活動。Xerox Palo Alto實驗室在傳輸控制協定(網際網路協定或TCP/IP)基礎上創建了專為“區域網路”(LAN)開發的乙太網標準。
個人電腦的發明,推動了網際網路發展,使其成為現如今這樣擁有30億使用者的網路。沒有個人電腦及其關聯設備(如印表機和掃描器),網際網路可能就只能局限于軍事和學術機構中。
在網路術語中,所有連接到網路的設備都被分類為網路節點。在最基本的網路結構中,各節點通過集線器連接在一起。即多埠設備將任何到達的資訊包復制到與之連接的所有其他埠(節點)(圖1)。
圖1.典型基于集線器的網路配置
這種最簡單的方法存在一個問題,即網路的發展會被限制在數臺設備或節點當中。
基于集線器的網路中,有四個問題阻礙了網路擴展:
.頻寬:通過一段時間內傳輸的資料量進行測量。在集線器網路中,使用者共用總頻寬。
.延遲:通過封包到達目的地的時間進行測量。在集線器網路中,傳輸規則使得延遲增加到不能接受的程度。
.網路故障:在集線器網路中,一個節點可能會引發其他節點出現問題,如過度廣播或不恰當的速度設置。
.沖突:多個節點同時傳輸封包時會發生沖突,因此可能有必要進行重新傳輸。
要解決并糾正這些問題,業界開發了可替代集線器的新設備。其中,交換機和路由器可保留頻寬、降低延遲、避免網路故障以及防止沖突。
乙太網SoC案例研究
早在1989年,Kalpana就發明了七埠乙太網交換機,可處理10Mbit/s流量。時至今日,乙太網交換機和路由器已達到256個埠,到年底可能還將達到1024個埠,它們可處理1/10/40/100/120Gbit/s的流量。盡管業界預測未來埠數量還將增加,但受到傳輸介質的限制,頻寬不太可能會提升到1000Gbit/s,可看到采用平行處理方法增加頻寬的措施。網路交換的延遲持續下降,到如今,最低延遲已降至1μs以下。
大量埠、流量增加、延遲降低、安全性整體提升以及易用性,使得如今的網路交換機和路由器成為巨大的電路設計,達到了五億邏輯閘數量級,僅屈居于最大的處理器和圖形晶片之后。網路SoC的設計,包含128埠乙太網介面,且可支援1/10/40/100/120Gbit/s等不同的連結速度,在實體晶片可用之前,驗證此類復雜積體電路(IC)設計是一項難以完成的任務。
當可以在電路區塊層級使用硬體描述語言(HDL)模擬時,用模擬流量來驗證數億門級的整個設計顯得不合實際,而且必然會被淘汰。這是在電路內類比(ICE)模式中采用硬體模擬的主要案例。
這種驗證方式的獨特之處在于能通過真實流量對設計進行測試。設定上針對每個埠需要一臺乙太網測試儀。由于測試儀和模擬的待測設計(DUT)之間速度范圍差異較大,因此不能直接連接,需要在兩者之間插入速率適配器。這樣就可以將測試儀的高速調整到類比至DUT的相對較低速度。
分析中的設計含128個埠,需要設置128個乙太網測試儀和128個乙太網速度適配器,以及大量接線(圖2)。除了錯綜復雜的布線、潛在的硬體不可靠性、整體開支外,最令人沮喪的是整個設置只能支援模擬實驗室附近的單一用戶。
圖2.128埠且支援1/10/40/100/120Gbit/s傳輸率的乙太網交換機通過電路內類比(ICE)進行驗證。
VirtuaLAB用于網路設計驗證
將這種設置與采用虛擬方法的設置進行比較,如明導國際(Mentor Graphics)的虛擬乙太網設備(VirtuaLAB)。在此場景中,裝有Linux環境的工作站連接硬體加速器,在工作站上用軟體對乙太網測試儀實現一樣的行為模式。基于成熟的實現智慧財產權(IP),模型準確再現了實際的物理測試儀。
這種虛擬測試儀包括乙太網資料包生成器和監視器(EPGM),可生成、傳輸并監控DUT的乙太網資料包。可以為1G、10G、40G/100G和120G分別配置GMII、XGMII、XLGMII/CGMII和CXGMII介面。VirtuaLAB軟體也可對流量進行離線分析,提供統計資料,并支援下列功能。
VirtuaLAB虛擬測試儀和DUT之間的介面包括一個VirtuaLAB-DPI實例,它負責與虛擬乙太網擴展的寄存器傳輸級(xRTL)交易處理器通訊,該處理器與連接到DUT的Null-PHY相連。任意xMII支援類型的每個埠需要一個xRTL交易處理器(圖3)。
圖3.VirtuaLAB和DUT之間的介面采用負責與虛擬乙太網xRTL通訊的一個EPGM-DPI實例。
VirtuaLAB可為每個工作站提供32GMII、XGMII、XLGMII/CGMII和CXGMII埠。多個工作站的多個VirtuaLAB應用可以結合在一起,即實現多個傳輸通道,可支援多埠數所需配置。采用高速鏈路(HSL)卡將各個工作站的協同模型(Co-model)連接到模擬器中。緊密集成的傳輸機制已準備就緒,設計時鐘性能已調節至最佳化,并且它對測試平臺來說是透明的。由于采用并行運行時和調試架構,資料流(Data-plane)硬體模擬流量會隨埠數呈線性增長。圖4為多個協同模型拓撲的架構圖。
圖4.多個協同模型拓撲的高層視圖
除了實現高速資料流傳輸外,采用這種方法還有諸多其他益處。首先,通過遠端存取可快速重新配置虛擬測試儀,以便執行各項功能。其次,工作站是穩定可靠的設備,只占同等功能的復雜乙太網測試儀的一小部分成本。
更重要的是,其能支持多重平行用戶,在大型軟體發展團隊備份時特別有用。同樣重要的是,VirtuaLAB設置可利用企業伺服器的資訊科技(IT)管理功能,是將硬體模擬資料中心設置為企業級模擬資源的理想解決方案。
VirtuaLAB支持通過定向(Directed)的測試方法來定義并控制進入硬體模擬DUT的特定封包串流,然后跟蹤從DUT返回的封包內容。它可以配置用于多個協同模型主機,主機由一個軟體實例,以及虛擬乙太網xRTL交易處理器支援,交易處理器連接到Null-PHY和硬體模擬器上的DUT。此軟體可在最多八個協同模型主機上運行。可在一個工作站上控制集中“控制器”軟體,對VirtuaLAB實例進行管理。
VirtuaLAB動態埠組重新配置支援復雜測試
乙太網VirtuaLAB非常適合于復雜測試場景的生成和監控。采用互動介面和批次處理模式TCL命令介面來控制媒體存取控制(MAC)并生成由協議和資料流所組成的金字塔。乙太網封包結構的示例包括非同質資料包類型、所有乙太網封包類型、封包資料酬載(Payload)、Jumbo封包、虛擬區域網路(VLAN)、TCP/IP、使用者資料封包協定(UDP)、PAUSE包、網際網路群組管理協議(IGMP)、位址解析通訊協定(ARP)等。每種協議類型的流量百分比可以和不同的資料包大小或資料流程隨機大小相混合。封包傳輸仲裁包括多種演算法:如WRR、DWRR、SO和加密隨機亂數(Random)等。
乙太網VirtuaLAB為1/10/40/100Gbit/s全雙工速度采用動態埠組重新配置功能,支援復雜交換拓撲的壓力測試和錯誤注入。例如,xMII/PCS寬度、鏈路速度、鏈路建立/斷線,以及故障狀態都可在硬體模擬運行時進行動態配置,并且不需重新編譯即可支援對大量埠組配置的測試。回圈冗余校驗(CRC)、前置訊號(Preamble)、IFG和網路速率等協定和性能違規均可報告出來。資料包可以在交互或批次處理介面進行查驗,以檢查資料包統計、發射器(TX)/接收器(Rx)跟蹤、中繼資料(如簽名)、時間戳記以及線路中的所有內容。
硬體模擬提供復雜性能分析
硬體模擬的特點之一是,它能對大型復雜系統進行復雜性能分析。硬體模擬用于驗證封包分類、篩選、速率、小頻寬(BW)、封包導向規則、流量調整、CoS、刪除序列以及利用簽名分析對流量進行IFG分析。
某些情況下,可能需要數百萬個資料包才能切中當前設計中穩態分析的重點。以測量兆百萬位元組乙太網交換機的流量位元速率為例。采用虛擬乙太網簽名生成和封包時間戳記(TS)來計算這些數據。
在此測量示例中(圖5),流速X=(Window FlowX中的位元組數)×8/(1-ms時間 WindowFlowX)。在大量埠數的設備軟體模擬中,像這樣每個埠每個流量的測量都可以輕松耗掉一周的時間。但通過硬體模擬,同樣的測量在1小時內就能完成。
圖5.采用硬體模擬,各埠的測量可以在1小時內完成。
總而言之,乙太網VirtuaLAB可提供由軟體控制的環境,用于生成、傳輸和分析乙太網資料包,從而對硬體模擬平臺內映射的乙太網SoC進行測試。通過軟體模擬方法,一般每天可驗證1000個資料包,而硬體模擬和VirtuaLAB乙太網的處理量卻達到每天1100萬以上。全球位于多個地點的平行多用戶可以同時受益。
VirtuaLAB作為一項快速、準確、易用的解決方案,將復雜乙太網SoC設計如期推向市場,極大提升了效率。