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