隨著物聯(lián)網(wǎng) (IoT) 的迅猛發(fā)展,網(wǎng)絡(luò)供應(yīng)商也受到了巨大的影響。畢竟,如果沒有網(wǎng)絡(luò)基礎(chǔ)設(shè)施的支持,IoT 也將不復(fù)存在。造成的其中一個后果便是網(wǎng)絡(luò)設(shè)備中以太網(wǎng)端口數(shù)量的顯著增加。
今天,以太網(wǎng)交換機(jī)和路由器已達(dá)到 256 個端口(到年底將會增加到 1024 個端口),而且它們可處理高達(dá) 120 Gb/s 的流量。同時,網(wǎng)絡(luò)交換的延遲也在持續(xù)下降中,最低延遲已降至 1 ?s。所有這些因素促使如今的網(wǎng)絡(luò)交換機(jī)和路由器芯片成為有史以來最大規(guī)模的芯片,達(dá)到了五億門級。在流片完成之前驗(yàn)證此類復(fù)雜 IC 設(shè)計(jì)是一項(xiàng)難以完成的任務(wù)。我們來考慮下具有 128 端口以太網(wǎng)接口的 SoC 設(shè)計(jì)。
盡管可以在塊級別使用 HDL 軟件仿真時,用仿真流量來驗(yàn)證數(shù)億門級的整個設(shè)計(jì)顯得不合實(shí)際,而且必然會被淘汰。這是一個在電路內(nèi)模擬 (In-Circuit-Emulation ICE) 模式中采用硬件模擬的主要案例。然而,ICE 配置需要對每個端口使用一個以太網(wǎng)測試儀。由于速度上的不匹配,測試儀和硬件仿真器不能直接連接,需要在兩者之間插入速率適配器。
例如,我們的128 端口設(shè)計(jì)的測試設(shè)置需要 128 個以太網(wǎng)測試儀和 128 個以太網(wǎng)速度適配器,以及將其連接起來的所有接線(圖 1)。除了錯綜復(fù)雜的布線、潛在的硬件不可靠性、整體開支外,整個設(shè)置只能支持一位用戶在現(xiàn)場調(diào)試。遠(yuǎn)程訪問根本無法實(shí)現(xiàn),因?yàn)檫h(yuǎn)程需要進(jìn)行人為操作,為不同的用戶配置不同的誓言環(huán)境。
這種協(xié)議激勵建模環(huán)境的局限性早在幾年前就已顯現(xiàn)出,因而才有必要創(chuàng)建一個由軟件控制的環(huán)境,用于生成、傳輸和分析以太網(wǎng)數(shù)據(jù)包,從而對硬件仿真平臺內(nèi)映射的以太網(wǎng) SoC 進(jìn)行測試。通過軟件仿真方法,一般每天可驗(yàn)證 1,000 個數(shù)據(jù)包,而硬件仿真的處理量可達(dá)到 1,100 萬以上。
在此場景中,以太網(wǎng)測試儀模型運(yùn)行于連接到硬件仿真器的Linux工作站上。基于成熟的實(shí)現(xiàn) IP,模型準(zhǔn)確再現(xiàn)了實(shí)際的物理測試儀。這種虛擬測試儀包括以太網(wǎng)數(shù)據(jù)包生成器和監(jiān)視器 (EPGM),可以為 1G、10G、40G/100G 和 120G 網(wǎng)絡(luò)分別配置 GMII、XGMII、XLGMII/CGMII 和 CXGMII 接口。每個支持的MII端口都需要一個 xRTL 事務(wù)處理器。
圖 1. 一個使用 ICE 驗(yàn)證的 128 端口以太網(wǎng)交換機(jī)
多個工作站的多個測試儀應(yīng)用可以組合在一起,制成多個協(xié)同模型,從而支持大端口計(jì)數(shù)配置。采用高速鏈路 (HSL) 卡將各個工作站的協(xié)同模型連接到硬件仿真器中。高度集成的傳輸機(jī)制為時鐘性能的最大化作了優(yōu)化,并且它對測試平臺來說是透明的。由于運(yùn)行和調(diào)試是并行的,數(shù)據(jù)平面硬件仿真流量會隨端口數(shù)呈線性增長。
此方法還有其他幾個優(yōu)點(diǎn)。首先,通過遠(yuǎn)程訪問可快速重新配置虛擬測試儀,以便執(zhí)行各項(xiàng)功能。其次,工作站是穩(wěn)定可靠的設(shè)備,只占同等功能的復(fù)雜以太網(wǎng)測試儀的一小部分成本。更重要的是,其能支持多個并發(fā)用戶,在大型軟件開發(fā)團(tuán)隊(duì)備份時特別有用。最后同樣重要的是,可以將硬件仿真數(shù)據(jù)中心當(dāng)作企業(yè)級硬件仿真資源使用。
此方法同樣非常適合于復(fù)雜測試場景的生成和監(jiān)控。采用交互和批處理模式 TCL 命令界面來控制所有MAC并生成各種各樣的協(xié)議和數(shù)據(jù)。每種協(xié)議可以以不同的數(shù)據(jù)長度或者隨機(jī)的數(shù)據(jù)長度按百分比混合。數(shù)據(jù)包傳輸仲裁策略包括多種算法:如 WRR、DWRR、SO 和 Random 等。
圖 2. VirtuaLAB 以太網(wǎng)環(huán)境
其還支持復(fù)雜交換拓?fù)涞膲毫y試和錯誤注入。協(xié)議和性能違規(guī)均可報(bào)告出來。數(shù)據(jù)包可以在交互或批處理模式中進(jìn)行分析,以檢查數(shù)據(jù)包統(tǒng)計(jì)、Tx/Rx 跟蹤、元數(shù)據(jù)、時間戳以及線路中的所有內(nèi)容。
硬件仿真的標(biāo)志之一是,它能對大型復(fù)雜系統(tǒng)進(jìn)行復(fù)雜性能分析。某些情況下,可能需要數(shù)百萬個數(shù)據(jù)包才能切中當(dāng)前設(shè)計(jì)中穩(wěn)態(tài)分析的要點(diǎn)。以測量百萬兆以太網(wǎng)交換機(jī)的流量比特率為例??梢圆捎锰摂M以太網(wǎng)簽名生成和數(shù)據(jù)包時間戳 (TS) 來計(jì)算這些測量。
圖 3. 采用硬件仿真,各端口的測量可以在一小時內(nèi)完成
在大量端口數(shù)的設(shè)備軟件仿真中,像這樣每個端口每個流量的測量都可以輕易耗費(fèi)一周的時間。但通過硬件仿真方法,同樣的測量在一小時內(nèi)就能完成。