亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法

文檔序號:9810819閱讀:952來源:國知局
一種基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其是涉及一種基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法。
【背景技術(shù)】
[0002]在網(wǎng)絡(luò)芯片的驗(yàn)證領(lǐng)域,通常要廣泛應(yīng)用發(fā)包工具,通過發(fā)包工具來模擬真實(shí)網(wǎng)絡(luò)環(huán)境中的以太網(wǎng)報(bào)文流,從而達(dá)到驗(yàn)證芯片功能和性能的目的。目前的發(fā)包工具大都采用C語言函數(shù)來實(shí)現(xiàn),再通過編程語言接口(英文簡稱PLI)接口將C語言產(chǎn)生的報(bào)文傳給硬件描述語言(英文稱Verilog)仿真器。這種方法在一定程度上能滿足芯片驗(yàn)證要求,但這種方法有以下兩個(gè)方面的不足:第一,仿真效率不夠高,尤其在發(fā)包通道很多,發(fā)包數(shù)量很大的情況下,其仿真速度會變得很慢,嚴(yán)重影響芯片驗(yàn)證的效率,從而影響芯片開發(fā)周期及上市時(shí)間;第二,調(diào)試不方便,由于C語言運(yùn)行的結(jié)果要通過PLI接口傳給Verilog仿真器,也就是說在Verilog仿真器里面既無法看到C函數(shù)的代碼,也無法看到C語言發(fā)包工具的任何中間結(jié)果,這樣調(diào)試起來很不方便。

【發(fā)明內(nèi)容】

[0003]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺陷,提供一種基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明提出如下技術(shù)方案:一種基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法,其包括令牌維護(hù)模塊和發(fā)包控制模塊,所述令牌維護(hù)模塊用來控制發(fā)包速率,在每個(gè)時(shí)鐘沿到來時(shí),令牌維護(hù)模塊按照指定的速率累加,在令牌維護(hù)模塊為正的情況下才發(fā)送報(bào)文數(shù)據(jù),每發(fā)送一個(gè)報(bào)文數(shù)據(jù)則減去該發(fā)送報(bào)文數(shù)據(jù)占用的令牌數(shù),保證發(fā)包的速率和令牌累計(jì)的速率相同;所述發(fā)包控制模塊按照各個(gè)通道輪循處理,若當(dāng)前通道的動(dòng)態(tài)數(shù)組里有報(bào)文數(shù)據(jù),則看是否有令牌數(shù),如果有,則發(fā)送報(bào)文數(shù)據(jù),在報(bào)文數(shù)據(jù)發(fā)送之后將動(dòng)態(tài)數(shù)組里面的該報(bào)文數(shù)據(jù)刪除,保證動(dòng)態(tài)數(shù)組里面沒有存儲多余的報(bào)文數(shù)據(jù);若當(dāng)前通道的動(dòng)態(tài)數(shù)組有報(bào)文數(shù)據(jù)沒有令牌數(shù),則切換到下一個(gè)通道,按前述方式中如果該通道對應(yīng)的動(dòng)態(tài)數(shù)組有報(bào)文并且該通道對應(yīng)的令牌數(shù)大于零,則使能該通道發(fā)送報(bào)文數(shù)據(jù),否則繼續(xù)切換到下一通道,實(shí)現(xiàn)基于動(dòng)態(tài)數(shù)組的多通道任意帶寬發(fā)包。
[0005]優(yōu)選地,所述通道之間的切換可以指定不同的模式,所述通道之間的切換可為依次累加,或依次遞減,或指定序列。
[0006]優(yōu)選地,所述報(bào)文數(shù)據(jù)的存儲采用系統(tǒng)級硬件描述語言(英文稱SystemVerilog)定義的動(dòng)態(tài)數(shù)組。
[0007]優(yōu)選地,所述動(dòng)態(tài)數(shù)組里面最多存一個(gè)包,只有發(fā)完一個(gè)包之后才會存儲下一個(gè)報(bào)文數(shù)據(jù)。
[0008]優(yōu)選地,在每次時(shí)鐘觸發(fā)時(shí),查看當(dāng)前通道的動(dòng)態(tài)數(shù)組里面是否有報(bào)文數(shù)據(jù),如果沒有,看是否滿足產(chǎn)生報(bào)文數(shù)據(jù)條件,在滿足發(fā)包條件下產(chǎn)生一整個(gè)報(bào)文數(shù)據(jù),并將該報(bào)文數(shù)據(jù)按照數(shù)據(jù)發(fā)送的格式存儲在動(dòng)態(tài)數(shù)組中。
[0009]優(yōu)選地,產(chǎn)生報(bào)文數(shù)據(jù)的條件滿足已經(jīng)發(fā)送的報(bào)文數(shù)小于需要發(fā)送的總報(bào)文數(shù)。
[0010]優(yōu)選地,所述產(chǎn)生報(bào)文數(shù)據(jù)的條件還需滿足該通道的報(bào)文數(shù)據(jù)沒有被反壓。
[0011]優(yōu)選地,所述產(chǎn)生報(bào)文數(shù)據(jù)的條件還需滿足該通道已被用戶使用。
[0012]本發(fā)明的有益效果是:本發(fā)明基于SystemVerilog的動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包,仿真效率大大提升,調(diào)試大為方便,而且很容易擴(kuò)展新的功能,有效提升了芯片驗(yàn)證者的工作效率,縮短了芯片開發(fā)周期。
【附圖說明】
[0013]圖1是本發(fā)明基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包流程圖;
[0014]圖2是本發(fā)明基于動(dòng)態(tài)數(shù)組和基于C函數(shù)實(shí)現(xiàn)發(fā)包的仿真效率對比。
【具體實(shí)施方式】
[0015]下面將結(jié)合本發(fā)明的附圖,對本發(fā)明實(shí)施例的技術(shù)方案進(jìn)行清楚、完整的描述。
[0016]結(jié)合圖1所示,本發(fā)明所揭示的一種基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法,包括令牌維護(hù)模塊和發(fā)包控制模塊,令牌維護(hù)模塊主要用來控制發(fā)包速率,在每個(gè)時(shí)鐘沿到來時(shí),令牌維護(hù)模塊就按照指定的速率累加,只有在令牌維護(hù)模塊為正的情況下才發(fā)送報(bào)文數(shù)據(jù),每發(fā)送一個(gè)報(bào)文數(shù)據(jù)則減去該發(fā)送數(shù)據(jù)占用的令牌數(shù),這樣就保證了發(fā)包的速率和令牌累計(jì)的速率一樣,即為指定的發(fā)包速率;發(fā)包控制按照各個(gè)通道輪循處理,通道之間的切換可以指定不同的模式,如依次累加,依次遞減,指定序列等,報(bào)文數(shù)據(jù)的存儲采用System Verilog定義的動(dòng)態(tài)數(shù)組,這種數(shù)據(jù)結(jié)構(gòu)可以最大化的優(yōu)化程序運(yùn)行時(shí)消耗的內(nèi)存,其只根據(jù)實(shí)際消耗的數(shù)據(jù)大小分配內(nèi)存空間,這樣不管產(chǎn)生多大的報(bào)文數(shù)據(jù),都不會占用多余的內(nèi)存。
[0017]為了進(jìn)一步優(yōu)化程序運(yùn)行效率,在動(dòng)態(tài)數(shù)組里面最多存一個(gè)包,只有發(fā)完一個(gè)包之后才會存儲下一個(gè)報(bào)文數(shù)據(jù)。具體的,在每次時(shí)鐘觸發(fā)時(shí),查看當(dāng)前通道的動(dòng)態(tài)數(shù)組里面是否有報(bào)文數(shù)據(jù),如果沒有,看是否滿足產(chǎn)生報(bào)文數(shù)據(jù)條件,在滿足發(fā)包條件下產(chǎn)生一整個(gè)報(bào)文數(shù)據(jù),并將該報(bào)文數(shù)據(jù)按照數(shù)據(jù)發(fā)送的格式存儲在動(dòng)態(tài)數(shù)組中。
[0018]其中產(chǎn)生報(bào)文數(shù)據(jù)的條件有三個(gè),一是已經(jīng)發(fā)送的報(bào)文數(shù)小于需要發(fā)送的總報(bào)文數(shù),二是該通道的報(bào)文沒有被反壓,最后一個(gè)是該通道被用戶使能了。如果當(dāng)前通道的動(dòng)態(tài)數(shù)組里有報(bào)文數(shù)據(jù),則看是否有令牌數(shù),如果有,則發(fā)送報(bào)文數(shù)據(jù),在報(bào)文數(shù)據(jù)發(fā)送之后將動(dòng)態(tài)數(shù)組里面的該報(bào)文數(shù)據(jù)刪除,這樣保證動(dòng)態(tài)數(shù)組里面沒有存儲多余的報(bào)文數(shù)據(jù),若當(dāng)前通道的動(dòng)態(tài)數(shù)組有數(shù)據(jù)沒有令牌數(shù),則切換到下一個(gè)通道,按前述方式繼續(xù)發(fā)送報(bào)文數(shù)據(jù),這樣便實(shí)現(xiàn)了基于動(dòng)態(tài)數(shù)組的多通道任意帶寬發(fā)包。
[0019]圖2的是基于動(dòng)態(tài)數(shù)組和基于C語言實(shí)現(xiàn)的發(fā)包工具的仿真效率對比,由圖表格式可以看到,在通道數(shù)比較少的情況下,動(dòng)態(tài)數(shù)組發(fā)包工具的仿真效率約為C函數(shù)的三到五倍,在通道數(shù)很多的情況下,動(dòng)態(tài)數(shù)組發(fā)包工具的仿真效率也比C函數(shù)高了一倍以上。
[°02°]本發(fā)明基于System Verilog動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬的方法,采用動(dòng)態(tài)數(shù)組存儲要發(fā)送的報(bào)文數(shù)據(jù),實(shí)時(shí)根據(jù)發(fā)送報(bào)文數(shù)據(jù)的數(shù)量分配內(nèi)存空間,提升仿真效率,又由于該方法完全基于System Veri log實(shí)現(xiàn),對于Veri log仿真器完全可見,方便調(diào)試,易于擴(kuò)展新功能。
[0021]本發(fā)明還可以很方便的擴(kuò)展新功能,比如按照突發(fā)模式發(fā)包,帶內(nèi)插入報(bào)文信息發(fā)包等等,這些功能基于C語言發(fā)包函數(shù)擴(kuò)展很麻煩,不便調(diào)試,對于大部分芯片驗(yàn)證者來說是不可行的,但是基于本發(fā)明去實(shí)現(xiàn)的話,則大部分驗(yàn)證者都可以很容易做到。
[0022]本發(fā)明的技術(shù)內(nèi)容及技術(shù)特征已揭示如上,然而熟悉本領(lǐng)域的技術(shù)人員仍可能基于本發(fā)明的教示及揭示而作種種不背離本發(fā)明精神的替換及修飾,因此,本發(fā)明保護(hù)范圍應(yīng)不限于實(shí)施例所揭示的內(nèi)容,而應(yīng)包括各種不背離本發(fā)明的替換及修飾,并為本專利申請權(quán)利要求所涵蓋。
【主權(quán)項(xiàng)】
1.一種基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法,其包括令牌維護(hù)模塊和發(fā)包控制模塊,其特征在于:所述令牌維護(hù)模塊用來控制發(fā)包速率,在每個(gè)時(shí)鐘沿到來時(shí),令牌維護(hù)模塊按照指定的速率累加,在令牌維護(hù)模塊為正的情況下才發(fā)送報(bào)文數(shù)據(jù),每發(fā)送一個(gè)報(bào)文數(shù)據(jù)則減去該發(fā)送報(bào)文數(shù)據(jù)占用的令牌數(shù),保證發(fā)包的速率和令牌累計(jì)的速率相同;所述發(fā)包控制模塊按照各個(gè)通道輪循處理,若當(dāng)前通道的動(dòng)態(tài)數(shù)組里有報(bào)文數(shù)據(jù),則看是否有令牌數(shù),如果有,則發(fā)送報(bào)文數(shù)據(jù),在報(bào)文數(shù)據(jù)發(fā)送之后將動(dòng)態(tài)數(shù)組里面的該報(bào)文數(shù)據(jù)刪除;若當(dāng)前通道的動(dòng)態(tài)數(shù)組有報(bào)文數(shù)據(jù)沒有令牌數(shù),則切換到下一個(gè)通道,如果該通道對應(yīng)的動(dòng)態(tài)數(shù)組有報(bào)文并且該通道對應(yīng)的令牌數(shù)大于零,則使能該通道發(fā)送報(bào)文數(shù)據(jù),否則繼續(xù)切換到下一通道。2.根據(jù)權(quán)利要求1所述的基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法,其特征在于,所述通道之間的切換可指定不同的模式,所述通道之間的切換為依次累加,或依次遞減,或指定序列。3.根據(jù)權(quán)利要求1所述的基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法,其特征在于,所述報(bào)文數(shù)據(jù)的存儲采用系統(tǒng)級硬件描述語言定義的動(dòng)態(tài)數(shù)組。4.根據(jù)權(quán)利要求1所述的基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法,其特征在于,所述動(dòng)態(tài)數(shù)組里面最多存一個(gè)包,只有發(fā)完一個(gè)包之后才會存儲下一個(gè)報(bào)文數(shù)據(jù)。5.根據(jù)權(quán)利要求1所述的基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法,其特征在于,所述方法還包括:在每次時(shí)鐘觸發(fā)時(shí),查看當(dāng)前通道的動(dòng)態(tài)數(shù)組里面是否有報(bào)文數(shù)據(jù),如果沒有,看是否滿足產(chǎn)生報(bào)文數(shù)據(jù)條件,在滿足發(fā)包條件下產(chǎn)生一整個(gè)報(bào)文數(shù)據(jù),并將該報(bào)文數(shù)據(jù)按照數(shù)據(jù)發(fā)送的格式存儲在動(dòng)態(tài)數(shù)組中。6.根據(jù)權(quán)利要求1所述的基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法,其特征在于,所述方法還包括:產(chǎn)生報(bào)文數(shù)據(jù)的條件滿足已經(jīng)發(fā)送的報(bào)文數(shù)小于需要發(fā)送的總報(bào)文數(shù)。7.根據(jù)權(quán)利要求6所述的基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法,其特征在于,所述產(chǎn)生報(bào)文數(shù)據(jù)的條件還滿足該通道的報(bào)文數(shù)據(jù)沒有被反壓。8.根據(jù)權(quán)利要求7所述的基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法,其特征在于,所述產(chǎn)生報(bào)文數(shù)據(jù)的條件還滿足該通道已被用戶使能。
【專利摘要】本發(fā)明揭示了一種基于動(dòng)態(tài)數(shù)組實(shí)現(xiàn)多通道任意帶寬發(fā)包的方法,其包括令牌維護(hù)模塊和發(fā)包控制模塊,所述令牌維護(hù)模塊用來控制發(fā)包速率,在每個(gè)時(shí)鐘沿到來時(shí),令牌維護(hù)模塊按照指定的速率累加,在令牌維護(hù)模塊為正的情況下才發(fā)送報(bào)文數(shù)據(jù),每發(fā)送一個(gè)報(bào)文數(shù)據(jù)則減去該發(fā)送報(bào)文數(shù)據(jù)占用的令牌數(shù),保證發(fā)包的速率和令牌累計(jì)的速率相同;所述發(fā)包控制模塊按照各個(gè)通道輪循處理。本發(fā)明有效提升了芯片驗(yàn)證者的工作效率,縮短了芯片開發(fā)周期。
【IPC分類】H04B17/391, H04L12/26, G06F17/50
【公開號】CN105574292
【申請?zhí)枴緾N201610064734
【發(fā)明人】段光生, 唐飛
【申請人】盛科網(wǎng)絡(luò)(蘇州)有限公司
【公開日】2016年5月11日
【申請日】2016年1月29日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1