<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 如何加快網(wǎng)絡(luò)設(shè)計(jì)驗(yàn)證的速度?

          如何加快網(wǎng)絡(luò)設(shè)計(jì)驗(yàn)證的速度?

          作者: 時(shí)間:2017-10-25 來(lái)源:網(wǎng)絡(luò) 收藏

            隨著 (IoT) 的迅猛發(fā)展,網(wǎng)絡(luò)供應(yīng)商也受到了巨大的影響。畢竟,如果沒(méi)有網(wǎng)絡(luò)基礎(chǔ)設(shè)施的支持,IoT 也將不復(fù)存在。造成的其中一個(gè)后果便是網(wǎng)絡(luò)設(shè)備中端口數(shù)量的顯著增加。

          本文引用地址:http://www.ex-cimer.com/article/201710/368252.htm

            今天,交換機(jī)和路由器已達(dá)到 256 個(gè)端口(到年底將會(huì)增加到 1024 個(gè)端口),而且它們可處理高達(dá) 120 Gb/s 的流量。同時(shí),網(wǎng)絡(luò)交換的延遲也在持續(xù)下降中,最低延遲已降至 1 µs。所有這些因素促使如今的網(wǎng)絡(luò)交換機(jī)和路由器芯片成為有史以來(lái)最大規(guī)模的芯片,達(dá)到了五億門(mén)級(jí)。在流片完成之前驗(yàn)證此類復(fù)雜 IC 設(shè)計(jì)是一項(xiàng)難以完成的任務(wù)。我們來(lái)考慮下具有 128 端口接口的 SoC 設(shè)計(jì)。

            盡管可以在塊級(jí)別使用 HDL 軟件仿真時(shí),用仿真流量來(lái)驗(yàn)證數(shù)億門(mén)級(jí)的整個(gè)設(shè)計(jì)顯得不合實(shí)際,而且必然會(huì)被淘汰。這是一個(gè)在電路內(nèi)模擬 (In-Circuit-EmulaTIon ICE) 模式中采用硬件模擬的主要案例。然而,ICE 配置需要對(duì)每個(gè)端口使用一個(gè)以太網(wǎng)測(cè)試儀。由于速度上的不匹配,測(cè)試儀和硬件仿真器不能直接連接,需要在兩者之間插入速率適配器。

            例如,我們的128 端口設(shè)計(jì)的測(cè)試設(shè)置需要 128 個(gè)以太網(wǎng)測(cè)試儀和 128 個(gè)以太網(wǎng)速度適配器,以及將其連接起來(lái)的所有接線(圖 1)。除了錯(cuò)綜復(fù)雜的布線、潛在的硬件不可靠性、整體開(kāi)支外,整個(gè)設(shè)置只能支持一位用戶在現(xiàn)場(chǎng)調(diào)試。遠(yuǎn)程訪問(wèn)根本無(wú)法實(shí)現(xiàn),因?yàn)檫h(yuǎn)程需要進(jìn)行人為操作,為不同的用戶配置不同的誓言環(huán)境。

            這種協(xié)議激勵(lì)建模環(huán)境的局限性早在幾年前就已顯現(xiàn)出,因而才有必要?jiǎng)?chuàng)建一個(gè)由軟件控制的環(huán)境,用于生成、傳輸和分析以太網(wǎng)數(shù)據(jù)包,從而對(duì)硬件仿真平臺(tái)內(nèi)映射的以太網(wǎng) SoC 進(jìn)行測(cè)試。通過(guò)軟件仿真方法,一般每天可驗(yàn)證 1,000 個(gè)數(shù)據(jù)包,而硬件仿真的處理量可達(dá)到 1,100 萬(wàn)以上。

            在此場(chǎng)景中,以太網(wǎng)測(cè)試儀模型運(yùn)行于連接到硬件仿真器的Linux工作站上?;诔墒斓膶?shí)現(xiàn) IP,模型準(zhǔn)確再現(xiàn)了實(shí)際的物理測(cè)試儀。這種虛擬測(cè)試儀包括以太網(wǎng)數(shù)據(jù)包生成器和監(jiān)視器 (EPGM),可以為 1G、10G、40G/100G 和 120G 網(wǎng)絡(luò)分別配置 GMII、XGMII、XLGMII/CGMII 和 CXGMII 接口。每個(gè)支持的MII端口都需要一個(gè) xRTL 事務(wù)處理器(圖 2)。

            

            圖 1. 一個(gè)使用 ICE 驗(yàn)證的 128 端口以太網(wǎng)交換機(jī)

            多個(gè)工作站的多個(gè)測(cè)試儀應(yīng)用可以組合在一起,制成多個(gè)協(xié)同模型,從而支持大端口計(jì)數(shù)配置。采用高速鏈路 (HSL) 卡將各個(gè)工作站的協(xié)同模型連接到硬件仿真器中。高度集成的傳輸機(jī)制為時(shí)鐘性能的最大化作了優(yōu)化,并且它對(duì)測(cè)試平臺(tái)來(lái)說(shuō)是透明的。由于運(yùn)行和調(diào)試是并行的,數(shù)據(jù)平面硬件仿真流量會(huì)隨端口數(shù)呈線性增長(zhǎng)。

            此方法還有其他幾個(gè)優(yōu)點(diǎn)。首先,通過(guò)遠(yuǎn)程訪問(wèn)可快速重新配置虛擬測(cè)試儀,以便執(zhí)行各項(xiàng)功能。其次,工作站是穩(wěn)定可靠的設(shè)備,只占同等功能的復(fù)雜以太網(wǎng)測(cè)試儀的一小部分成本。更重要的是,其能支持多個(gè)并發(fā)用戶,在大型軟件開(kāi)發(fā)團(tuán)隊(duì)備份時(shí)特別有用。最后同樣重要的是,可以將硬件仿真數(shù)據(jù)中心當(dāng)作企業(yè)級(jí)硬件仿真資源使用。

            此方法同樣非常適合于復(fù)雜測(cè)試場(chǎng)景的生成和監(jiān)控。采用交互和批處理模式 TCL 命令界面來(lái)控制所有MAC并生成各種各樣的協(xié)議和數(shù)據(jù)。每種協(xié)議可以以不同的數(shù)據(jù)長(zhǎng)度或者隨機(jī)的數(shù)據(jù)長(zhǎng)度按百分比混合。數(shù)據(jù)包傳輸仲裁策略包括多種算法:如 WRR、DWRR、SO 和 Random 等。

            

            圖 2. VirtuaLAB 以太網(wǎng)環(huán)境

            其還支持復(fù)雜交換拓?fù)涞膲毫y(cè)試和錯(cuò)誤注入。協(xié)議和性能違規(guī)均可報(bào)告出來(lái)。數(shù)據(jù)包可以在交互或批處理模式中進(jìn)行分析,以檢查數(shù)據(jù)包統(tǒng)計(jì)、Tx/Rx 跟蹤、元數(shù)據(jù)、時(shí)間戳以及線路中的所有內(nèi)容。

            硬件仿真的標(biāo)志之一是,它能對(duì)大型復(fù)雜系統(tǒng)進(jìn)行復(fù)雜性能分析。某些情況下,可能需要數(shù)百萬(wàn)個(gè)數(shù)據(jù)包才能切中當(dāng)前設(shè)計(jì)中穩(wěn)態(tài)分析的要點(diǎn)。以測(cè)量百萬(wàn)兆以太網(wǎng)交換機(jī)的流量比特率為例??梢圆捎锰摂M以太網(wǎng)簽名生成和數(shù)據(jù)包時(shí)間戳 (TS) 來(lái)計(jì)算這些測(cè)量。

            

            圖 3. 采用硬件仿真,各端口的測(cè)量可以在一小時(shí)內(nèi)完成

            在大量端口數(shù)的設(shè)備軟件仿真中,像這樣每個(gè)端口每個(gè)流量的測(cè)量都可以輕易耗費(fèi)一周的時(shí)間。但通過(guò)硬件仿真方法,同樣的測(cè)量在一小時(shí)內(nèi)就能完成。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();