<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種測試裝置的制造方法

文檔序號:10515311閱讀:737來源:國知局
一種測試裝置的制造方法
【專利摘要】本發明提供一種測試裝置,包括:參數分發調度模塊,用于獲得流序列和所述流序列對應的流參數,并將所述流序列和所述流參數依次分配到多個流處理模塊;流處理模塊,用于根據獲取的流序列、流參數生成數據流;流控制模塊,用于依次從所述多個流處理模塊獲取生成的數據流,并按照預設速率發送給傳輸模塊;所述傳輸模塊,用于將從所述流控制模塊獲取的數據流發送給被測試設備。通過本發明的技術方案,可以滿足較高的測試速率,并且多個流處理模塊并行產生數據流,降低產生報文的功能模塊的帶寬要求和時鐘頻率的要求,具有一定的通用性和可擴展性,使測試設備的應用場景更加廣泛。
【專利說明】
一種測試裝置
技術領域
[0001]本發明涉及通信技術領域,尤其涉及一種測試裝置。
【背景技術】
[0002]隨著網絡設備(如路由器、交換機等)的普及,以太網中部署的網絡設備越來越多,而網絡設備的以太網通信接口(本文中簡稱為通信接口)支持的接口速率大小,直接影響著網絡設備的性能。那么,為了完成測試,測試設備(如流量測試儀)需要向待測試的網絡設備(本文中簡稱為待測試設備)發送預設速率的數據流(每一個數據流由多個預設長度的報文構成),以完成對于待測試設備的測試。
[0003]當待測試設備的接口速率提升時,則需要測試設備也能發送出對應速率的數據流。在設計測試設備時,為了提高數據流的速率,一般采用提升時鐘頻率或者提升構建報文的數據位寬的方式。
[0004]但是,時鐘頻率需要測試設備中的所有功能模塊都支持這一時鐘頻率,并非可以無限制的提升,過度的提升速率會導致高時鐘頻率的脈沖無法被功能模塊識別的問題;而如果提升數據位寬保持時鐘頻率不變,那么為了滿足預設速率,則構成一個報文的時間將會變短,而對于這個報文的計算將難以完成。

【發明內容】

[0005]本發明提供一種測試裝置,所述測試裝置包括參數分發調度模塊、流控制模塊、傳輸模塊、多個流處理模塊;
[0006]所述參數分發調度模塊,用于獲得流序列和所述流序列對應的流參數,并將所述流序列和所述流參數依次分配到所述多個流處理模塊;
[0007]所述流處理模塊,用于根據獲取的流序列、流參數生成數據流;
[0008]所述流控制模塊,用于依次從所述多個流處理模塊獲取生成的數據流,并按照預設速率發送給所述傳輸模塊;
[0009]所述傳輸模塊,用于將從所述流控制模塊獲取的數據流發送給被測試設備,以使所述測試設備利用發送的數據流測試所述被測試設備的接口性能。
[0010]基于上述技術方案,本發明實施例中,通過設置多個流處理模塊分別產生數據流,并通過流序列使多個流處理模塊產生的數據流按照預定的順序發送至待測試設備,從而滿足較高的測試速率,并且多個流處理模塊并行產生數據流,降低了產生報文的功能模塊的帶寬要求和時鐘頻率的要求,具有一定的通用性和可擴展性,使得測試設備的應用場景更加廣泛。
【附圖說明】
[0011]圖1是本發明一種實施方式中的測試裝置的結構圖;
[0012]圖2是本發明另一種實施方式中的測試裝置的結構圖;
[0013]圖3是本發明另一種實施方式中的測試裝置的結構圖;
[0014]圖4是本發明另一種實施方式中的測試裝置的結構圖;
[0015]圖5是本發明另一種實施方式中的測試裝置的結構圖;
[0016]圖6是本發明另一種實施方式中的測試裝置的結構圖。
【具體實施方式】
[0017]針對現有技術中存在的問題,本發明實施例中提出一種測試裝置,該測試裝置可以應用在測試設備(如流量測試儀)上,并用于對被測試設備的接口性能進行測試。其中,被測試設備可以為被測試的網絡設備(如路由器、交換機等),接口性能可以包括但不限于:通信接口的接口速率、接口丟包率等。如圖1所示,該測試裝置可以應用在測試設備的FPGA(Field Programmable Gate Array,現場可編程門陣列)上。
[0018]為了測試該被測試設備的接口性能,測試設備可以向被測試設備發送第二預設速率的數據流,并基于被測試設備返回的數據流大小,分析出被測試設備的接口性能。例如,為了判斷出被測試設備的通信接口是否支持100G接口速率(即數據流轉發能力),則以第二預設速率為100G為例,測試設備向被測試設備發送100G大小的數據流,如果獲知被測試設備返回的數據流大小為100G,則分析出被測試設備的通信接口支持100G的接口速率,且接口丟包率為O。
[0019]以第二預設速率為100G為例進行說明,為了分析出被測試設備的接口性能,測試設備向該被測試設備發送的100G數據流,不是相同類型的數據流,而是類型不斷變化的數據流。其原因是:假設100G數據流被分為10000個報文,如果向被測試設備發送相同類型的10000個報文,所有報文的IP地址和MAC(Media Access Control,介質訪問控制)地址等信息均相同,這樣被測試設備會采用相同方式直接處理每個報文,無法充分發揮被測試設備的性能,也就導致測試設備無法精確分析出被測試設備的接口性能。如果向被測試設備發送不同類型的10000個報文,所有報文的IP地址和/或MAC地址等信息不同,這樣被測試設備會采用不同方式分別處理不同的報文,可以充分發揮被測試設備的性能,也就使得測試設備能夠精確分析出被測試設備的接口性能。
[0020]為了精確分析出被測試設備的接口性能,測試設備會生成不同類型的數據流,而為了生成不同類型的數據流,則可以配置流序列信息、可變參數初始化信息、固定參數等。其中,流序列信息表示類型,如流序列I表示IP地址發生變化的類型,流序列2表示MAC地址發生變化的類型,流序列3表示IP地址和MAC地址同時發生變化的類型。此外,流序列信息還可以包括每種流序列的數量,如流序列I的數量為100,流序列8的數量為90,流序列3的數量為80。可變參數初始化信息是指與流序列信息對應的可變參數,如針對流序列I,可變參數初始化信息可以為IP地址初始值和IP地址變化范圍,如IP地址初始值是192.168.0.0,IP地址變化范圍是IP地址加I ;針對流序列2,可變參數初始化信息可以為MAC地址初始值和MAC地址變化范圍,如MAC地址初始值是08:00:20:0A:8C:6D,MAC地址變化范圍是MAC地址加I;針對流序列3,可變參數初始化信息可以為IP地址初始值和IP地址變化范圍,以及MAC地址初始值和MAC地址變化范圍。固定參數是指與流序列信息對應的固定參數,如針對流序列I,固定參數可以為報文內容、不會發生變化的參數(如MAC地址、協議類型等);針對流序列2,固定參數可以為報文內容、不會發生變化的參數(如IP地址、協議類型等);針對流序列3,固定參數可以為報文內容、不會發生變化的參數(如協議類型等)。不同的流序列對應的報文內容可相同,也可不同。
[0021]如圖1所示,將流序列信息、可變參數初始化信息、固定參數等作為初始化參數,則根據用戶的測試需要,可以在PC(Personal Computer,個人計算機)上配置初始化參數,PC可以通過網口將該初始化參數發送給測試設備的CPU(Central Processing Unit,中央處理器),CPU可以通過PCIE(Peripheral Component Interface Express,總線和接口標準)接口將該初始化參數發送給測試設備的FPGA。或者,還可以直接在FPGA中預先存儲該初始化參數。
[0022]之后,FPGA可以根據該初始化參數生成不同類型的數據流,并通過光纖將不同類型的數據流發送給被測試設備。在被測試設備上,對不同類型的數據流進行不同的處理,并通過通信接口將數據流返回給測試設備。測試設備可以基于被測試設備返回的數據流大小,分析出被測試設備的接口性能。
[0023]本發明實施例中,針對FPGA根據初始化參數生成不同類型的數據流,并通過光纖將不同類型的數據流發送給被測試設備的過程進行詳細說明。
[0024]如圖2所示,為本發明實施例中提出的測試裝置的結構示意圖,該測試裝置可應用在測試設備的FPGA上。其中,該測試裝置可以包括參數分發調度模塊、流控制模塊、傳輸模塊、多個流處理模塊。
[0025]在實際應用中,流處理模塊的數量可以根據實際經驗進行任意選擇,為了方便描述,在圖2以及后續各圖中,以8個流處理模塊為例進行說明,但是流處理模塊的數量并不限于此。
[0026]在本發明實施例的可選實施方式中,參數分發調度模塊,用于獲得流序列和該流序列對應的流參數,并將該流序列和該流參數依次分配到多個流處理模塊。流處理模塊,用于根據獲取的流序列、流參數生成數據流。流控制模塊,用于依次從多個流處理模塊獲取生成的數據流,并按照預設速率發送給傳輸模塊。傳輸模塊,用于將從流控制模塊獲取的數據流發送給被測試設備,以使測試設備利用發送的數據流測試被測試設備的接口性能。
[0027]流參數可以包括可變參數和固定參數,如圖3所示,該參數分發調度模塊可以包括參數存儲子模塊、流序列生成子模塊、參數預計算子模塊和調度子模塊。其中,參數存儲子模塊,用于存儲流序列信息、可變參數初始化信息和固定參數;流序列生成子模塊,用于根據從參數存儲子模塊中獲得的流序列信息,生成流序列;參數預計算子模塊,用于根據從參數存儲子模塊中獲得的可變參數初始化信息,生成接收到的流序列對應的可變參數;調度子模塊,用于獲取流序列和與該流序列對應的可變參數,并將獲得的可變參數發送給流處理模塊。
[0028]本發明實施例中,如圖4所示,針對每個流處理模塊,該流處理模塊包括流生成子模塊,參數緩存子模塊和報文緩存子模塊。在圖4中,以包括8個流處理模塊為例,流生成子模塊I對應于參數緩存子模塊I和報文緩存子模塊I,流生成子模塊2對應于參數緩存子模塊2和報文緩存子模塊2,以此類推,流生成子模塊8對應于參數緩存子模塊8和報文緩存子模塊8 0
[0029]其中,參數緩存子模塊,用于存儲參數分發調度模塊發送的流序列和可變參數。流生成子模塊,用于根據從參數緩存子模塊中讀取的流序列和可變參數以及從參數存儲子模塊中讀取的固定參數生成數據流。報文緩存子模塊,用于存儲生成的數據流,以使流控制模塊從報文緩存子模塊中獲取到生成的數據流。
[0030]針對在參數存儲子模塊存儲流序列信息、可變參數初始化信息和固定參數的過程,參數存儲子模塊可以是一個與FPGA直接連接的存儲裝置(如閃存等),且該存儲裝置內存儲有序列信息、可變參數初始化信息和固定參數等信息。或者,如圖3所示,該參數分發調度模塊還可以包括:PCIE控制子模塊,該PCIE控制子模塊通過PCIE總線與CPU連接,且PCIE控制子模塊接收CPU通過PCIE總線發送的流序列信息、可變參數初始化信息以及固定參數,并將流序列信息、可變參數初始化信息以及固定參數存儲到參數存儲子模塊中,以使參數存儲子模塊能夠存儲流序列信息、可變參數初始化信息、固定參數。
[0031]其中,針對PCIE控制子模塊接收流序列信息、可變參數初始化信息和固定參數,并將其存儲到參數存儲子模塊的過程,由于PCIE控制子模塊通過PCIE總線與測試設備的CPU通信,因此,CPU可以直接將流序列信息、可變參數初始化信息和固定參數發送給PCIE控制子模塊。由于PCIE控制子模塊通過PCIE總線與CPU進行通信,并可以通過Avalon-MM(AvalonMemory Mapped,Avalon存儲器映射)總線與參數存儲子模塊進行通信,因此,PCIE控制子模塊還可以將基于PCIE總線的流序列信息、可變參數初始化信息和固定參數,轉換為基于A V a I ο n -MM總線的流序列信息、可變參數初始化信息和固定參數,并將轉換后的流序列信息、可變參數初始化信息和固定參數存儲到參數存儲子模塊。
[0032]在實際應用中,PCIE控制子模塊的輸入時鐘頻率可以為10MHz,且PCIE控制子模塊內部有鎖相環單元,該鎖相環單元用于將時鐘頻率轉換為125MHz。其中,PCIE控制子模塊可以是PCIE控制器,鎖相環單元可以是鎖相環電路。
[0033]其中,針對參數存儲子模塊存儲流序列信息、可變參數初始化信息、固定參數的過程,參數存儲子模塊可以為一塊用于存儲信息的區域,如可以為控制狀態寄存器、數據寄存器、或者DPRAM(Dual Ported Random Access Memory,雙端口隨機存取存儲器)等,且參數存儲子模塊掛接在Avalon-MM總線上。
[0034]其中,流序列生成子模塊還可以將生成的流序列發送給參數預計算子模塊和調度子模塊。參數預計算子模塊還可以將生成的可變參數發送給調度子模塊。調度子模塊可以獲取流序列和與該流序列對應的可變參數。
[0035]其中,流序列生成子模塊在將生成的流序列發送給調度子模塊的過程中,可以直接將生成的流序列存儲在流序列生成子模塊對應的第一緩存區,以使調度子模塊從該第一緩存區中獲得流序列。參數預計算子模塊在將生成的可變參數發送給調度子模塊的過程中,可以直接將生成的可變參數存儲在參數預計算子模塊對應的第二緩存區,以使調度子模塊從第二緩存區中獲得可變參數。
[0036]其中,針對流序列生成子模塊生成流序列的過程,流序列生成子模塊可以從參數存儲子模塊中獲得流序列信息,如流序列I以及對應的數量100、流序列2以及對應的數量90、流序列3以及對應的數量80等,基于這些流序列信息,流序列生成子模塊生成的流序列可以為:123123123,...,在第80個123之后,流序列可以為:1212,...,在第10個12之后,流序列可以為1111111111。
[0037]其中,針對流序列生成子模塊生成流序列,并將生成的流序列存儲在流序列生成子模塊對應的第一緩存區的過程,流序列生成子模塊判斷第一緩存區是否已經存滿;如果否,則繼續生成流序列,并將生成的流序列存儲在流序列生成子模塊對應的第一緩存區;如果是,則停止生成流序列。例如,當第一緩存區能夠存儲的流序列的深度是200時,在生成200個流序列(如上述的1、2等數值,各表示一個流序列)之前,第一緩存區沒有存滿,繼續生成流序列,在生成200個流序列時,第一緩存區已經存滿,停止生成流序列。
[0038]其中,針對參數預計算子模塊生成可變參數的過程,參數預計算子模塊可以從參數存儲子模塊中獲得可變參數初始化信息,如針對流序列I的IP地址初始值I和IP地址變化范圍,針對流序列2的MAC地址初始值I和MAC地址變化范圍,針對流序列3的IP地址初始值I和IP地址變化范圍,MAC地址初始值I和MAC地址變化范圍。基于這些可變參數初始化信息,參數預計算子模塊在依次接收到來自流序列生成子模塊的123123123...時,生成的可變參數依次為IP地址初始值I (對應流序列I)、MAC地址初始值I (對應流序列2)、IP地址初始值1+MAC地址初始值I (對應流序列3),1?地址初始值2、1^(:地址初始值2、1?地址初始值2+1^(:地址初始值2,...,以此類推。
[0039]其中,針對參數預計算子模塊生成可變參數,并將生成的可變參數存儲在參數預計算子模塊對應的第二緩存區的過程,先判斷第二緩存區是否已經存滿;如果否,則繼續生成可變參數,并將生成的可變參數存儲在參數預計算子模塊對應的第二緩存區;如果是,則停止生成可變參數。例如,當第二緩存區能夠存儲的可變參數的深度是200時,在生成200個可變參數(如IP地址初始值I表示一個可變參數)之前,第二緩存區沒有存滿,繼續生成可變參數,在生成200個可變參數時,第二緩存區已經存滿,停止生成可變參數。
[0040]在一種可行的實施方式中,可以設置第一緩存區中能夠存儲的流序列的深度與第二緩存區中能夠存儲的可變參數的深度相同。由于參數預計算子模塊會基于來自流序列生成子模塊的流序列生成可變參數,即流序列生成子模塊每生成一個流序列,則參數預計算子模塊就會生成一個該流序列對應的可變參數。基于此,當第一緩存區中已經存滿流序列時,則第二緩存區中也已經存滿可變參數;當第一緩存區中未存滿流序列時,則第二緩存區中也未存滿可變參數。
[0041]這樣,參數預計算子模塊可以不再執行判斷第二緩存區是否已經存滿的過程,參數預計算子模塊每接收到一個流序列,就生成一個該流序列對應的可變參數時,此時也可以保證第二緩存區存滿后,不再寫入新的可變參數。
[0042]本發明實施例中,調度子模塊,在獲取流序列和與該流序列對應的可變參數,并將獲得的可變參數發送給流處理模塊的過程中,具體用于獲取流序列和與該流序列對應的可變參數;判斷每個流處理模塊中的報文緩存子模塊是否為空;如果是,則將連續的N個流序列和N個流序列對應的N個可變參數分發到該報文緩存子模塊所對應的參數緩存子模塊中。其中,N個流序列對應的數據流長度總和不超過該報文緩存子模塊的容量。
[0043]其中,在FPGA啟動測試過程時,所有報文緩存子模塊均為空,調度子模塊將流序列和可變參數依次分發給8個參數緩存子模塊。在后續過程中,在向參數緩存子模塊寫入流序列和可變參數之前,先判斷該參數緩存子模塊對應的報文緩存子模塊是否為空,如果否,則不向該參數緩存子模塊中寫入流序列和可變參數,如果是,則向該參數緩存子模塊中寫入流序列和可變參數。
[0044]在報文緩存子模塊為空時才向參數緩存子模塊中寫入流序列和可變參數的原因是:如果報文緩存子模塊不為空,當前正在讀取該報文緩存子模塊中的數據流,此時繼續向該報文緩存子模塊對應的參數緩存子模塊寫入流序列和可變參數時,則流生成子模塊會繼續生成數據流,并將生成的數據流存儲到該報文緩存子模塊,這樣,就從該報文緩存子模塊中讀取了流序列靠后的數據流,而沒有去讀取其它報文緩存子模塊中的流序列靠前的數據流,從而導致最終發送的數據流未按照流序列順序進行發送。
[0045]在一個例子中,針對報文緩存子模塊I至報文緩存子模塊8,假設N為10,則從第一個流序列開始,調度子模塊將連續的10個流序列和這10個流序列對應的10個可變參數分發到參數緩存子模塊I。在剩下的所有流序列和可變參數中,依然從第一個流序列開始,參數分發調度模塊將連續的10個流序列和這10個流序列對應的10個可變參數分發到參數緩存子模塊2。以此類推。
[0046]在調度子模塊將連續的N個流序列和N個可變參數分發到參數緩存子模塊的過程中,為了確定N的取值,固定參數中還可以包括每種類型的流序列對應的數據流長度,調度子模塊可以從參數存儲子模塊中獲得每個流序列對應的數據流長度,從而可以保證N個流序列對應的數據流長度總和,不超過報文緩存子模塊的容量。
[0047]在一種實施方式中,為了確定N的取值,如果存在一個N值,當N+1個流序列對應的數據流長度總和超過報文緩存子模塊的容量,N個流序列對應的數據流長度總和不超過報文緩存子模塊的容量時,確定這個N值是要使用的N值。
[0048]針對流生成子模塊生成數據流的過程,由于參數緩存子模塊用于緩存流序列和可變參數,因此,當參數緩存子模塊內存在流序列和可變參數時,則流生成子模塊可以從參數緩存子模塊中讀取流序列和可變參數,并從參數存儲子模塊中獲得固定參數,并利用流序列、可變參數和固定參數生成數據流。當參數緩存子模塊內不存在流序列和可變參數時,則流生成子模塊停止生成數據流。
[0049]在流生成子模塊利用流序列、可變參數和固定參數生成數據流的過程中,當流序列為流序列I,可變參數為IP地址初始值I時,則流生成子模塊利用IP地址初始值I和流序列I對應的固定參數(如報文內容、MAC地址、協議類型等)組成數據流。當流序列為流序列1,可變參數為IP地址初始值2時,則流生成子模塊利用IP地址初始值2和流序列I對應的固定參數組成數據流。當流序列為流序列2,可變參數為MAC地址初始值I時,則流生成子模塊利用MAC地址初始值I和流序列2對應的固定參數組成數據流。
[0050]在流生成子模塊生成數據流的過程中,流生成子模塊生成的是第一預設速率的數據流。在一種可行的實施方式中,第一預設速率、流生成子模塊的數量、第二預設速率之間可以存在如下關系:第一預設速率乘以(流生成子模塊的數量減去I),大于等于第二預設速率。在通常情況下,第一預設速率和第二預設速率均可以根據實際需要任意選擇,例如,第二預設速率可以為1006、1106、1206等,第一預設速率可以為206、216、196、186等。為了方便描述,以第二預設速率為100G,第一預設速率為20G為例進行說明,流生成子模塊的數量可以為6、7、8、9等,在圖4中,以流生成子模塊的數量為8為例。
[0051 ]當第一預設速率為20G時,則流生成子模塊可以為20G速率的流生成子模塊,而20G速率的流生成子模塊是指:能夠同時生成20G速率數據流的流生成子模塊,因此,流生成子模塊可以生成20G大小的數據流。在一種實施方式中,20G速率的流生成子模塊的時鐘頻率可以為315MHz,總線位寬為64位位寬。其中,總線位寬決定了輸入/輸出之間一個時鐘周期所數據傳輸的信息量。
[0052]但是,傳輸模塊的總線位寬可能與流處理模塊的總線位寬不同,此時則需要對產生的數據流進行轉換以滿足傳輸模塊的數據傳輸要求。因此,針對流生成子模塊將生成的數據流存儲到報文緩存子模塊的過程,在一種可行的實施方式中,如圖5所示,流處理模塊還包括設置于流生成子模塊和報文緩存子模塊之間的接口轉換子模塊。基于此,由于流生成子模塊采用第一總線位寬(如64位位寬),而傳輸模塊采用第二總線位寬(如512位位寬),因此,流生成子模塊在根據接收的流序列和可變參數以及從參數存儲子模塊獲取的固定參數生成數據流之后,還用于將第一總線位寬的數據流發送給接口轉換子模塊,接口轉換子模塊,用于將第一總線位寬的數據流轉換為第二總線位寬的數據流,并將第二總線位寬的數據流存儲到報文緩存子模塊中。
[0053]本發明實施例中,由于數據流存儲在報文緩存子模塊中,因此,流控制模塊依次從多個報文緩存子模塊中獲取數據流,并按照預設速率發送給傳輸模塊。具體的,流控制模塊,具體用于根據第一預設速率從每個報文緩存子模塊中讀取數據流,并按照第二預設速率發送給傳輸模塊,其中,第二預設速率大于第一預設速率。在一個例子中,第二預設速率可以為1006、1106、1206等,第一預設速率可以為206、216、196、186等。例如,流控制模塊從報文緩存子模塊I中讀取所有數據流,并將讀取的所有數據流發送給傳輸模塊,并且報文緩存子模塊I將已經被流控制模塊讀取的數據流刪除。之后,流控制模塊從報文緩存子模塊2中讀取所有數據流,并將讀取的所有數據流發送給傳輸模塊,并且報文緩存子模塊2將已經被流控制模塊讀取的數據流刪除,以此類推。
[0054]其中,在FPGA啟動測試過程時,所有報文緩存子模塊均為空,流控制模塊先等待所有報文緩存子模塊中均寫入數據流后,才從報文緩存子模塊I開始,依次讀取每個報文緩存子模塊中的所有數據流,并將讀取的數據流發送給傳輸模塊。在后續過程中,當遍歷到某報文緩存子模塊時,如果該報文緩存子模塊中存在數據流,則讀取該報文緩存子模塊的所有數據流,以此類推。在實際應用中,流控制模塊在讀取報文緩存子模塊I的所有數據流后,在讀取報文緩存子模塊2-報文緩存子模塊7的數據流的過程中,流生成子模塊I又會生成數據流,將生成的數據流寫入到報文緩存子模塊I。這樣,當流控制模塊遍歷到報文緩存子模塊I時,該報文緩存子模塊I中會存在數據流。
[0055]針對傳輸模塊將數據流發送給被測試設備的過程,傳輸模塊可以將第二預設速率的數據流發送給被測試設備。假設第二預設速率為100G,則在一種可行的實施方式中,傳輸模塊可以為接口發送電路,且該接口發送電路可以為100G的MAC/PHY邏輯電路。接口發送電路的管理接口為Avalon-MM總線,數據接口為Avalon-ST總線,且接口發送電路與10G光模塊直接連接,因此,接口發送電路可以通過光模塊發送100G數據流。
[0056]本發明實施例中,在一種可行的實施方式中,如圖6所示,接口性能的測試裝置還可以包括:時鐘模塊(如時鐘鎖相環電路),用于將輸入的第一時鐘頻率轉換為第二時鐘頻率,并將第二時鐘頻率分別提供給參數分發調度模塊、流控制模塊、每個流處理模塊。此外,該接口性能的測試裝置還可以直接為傳輸模塊提供有第三時鐘頻率。
[0057]在實際應用中,FPGA的輸入時鐘頻率通常為125MHz(即第一時鐘頻率),而圖6中虛線框內的各功能模塊通常工作在315MHz(即第二時鐘頻率)下,因此,可以在接口性能的測試裝置中配置時鐘模塊,該時鐘模塊用于將125MHz時鐘頻率倍頻到315MHz時鐘頻率,并提供給虛線框內的各功能模塊,作為虛線框內的各功能模塊的輸入時鐘頻率。
[0058]在實際應用中,傳輸模塊通常工作在322.265625MHz (即第三時鐘頻率)下,因此,可以直接為傳輸模塊提供一個322.265625MHz的外部時鐘頻率。
[0059]其中,本發明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
[0060]基于上述技術方案,本發明實施例中,通過設置多個流處理模塊分別產生數據流,并通過流序列使多個流處理模塊產生的數據流按照預定的順序發送至待測試設備,從而滿足較高的測試速率,并且多個流處理模塊并行產生數據流,降低了產生報文的功能模塊的帶寬要求和時鐘頻率的要求,具有一定的通用性和可擴展性,使得測試設備的應用場景更加廣泛。
[0061]本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可進一步拆分成多個子模塊。上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
[0062]以上公開的僅為本發明的幾個具體實施例,但是,本發明并非局限于此,任何本領域的技術人員能思之的變化都應落入本發明的保護范圍。
【主權項】
1.一種測試裝置,其特征在于,所述測試裝置包括參數分發調度模塊、流控制模塊、傳輸模塊、多個流處理模塊; 所述參數分發調度模塊,用于獲得流序列和所述流序列對應的流參數,并將所述流序列和所述流參數依次分配到所述多個流處理模塊; 所述流處理模塊,用于根據獲取的流序列、流參數生成數據流; 所述流控制模塊,用于依次從所述多個流處理模塊獲取生成的數據流,并按照預設速率發送給所述傳輸模塊; 所述傳輸模塊,用于將從所述流控制模塊獲取的數據流發送給被測試設備,以使所述測試設備利用發送的數據流測試所述被測試設備的接口性能。2.根據權利要求1所述的裝置,其特征在于,所述流參數包括可變參數和固定參數,所述參數分發調度模塊包括參數存儲子模塊、流序列生成子模塊、參數預計算子模塊和調度子模塊; 所述參數存儲子模塊,用于存儲流序列信息、可變參數初始化信息和固定參數; 所述流序列生成子模塊,用于根據從所述參數存儲子模塊中獲得的流序列信息,生成流序列; 所述參數預計算子模塊,用于根據從所述參數存儲子模塊中獲得的可變參數初始化信息,生成接收到的流序列對應的可變參數; 所述調度子模塊,用于獲取所述流序列和與所述流序列對應的可變參數,并將獲得的可變參數發送給所述流處理模塊。3.根據權利要求2所述的裝置,其特征在于,所述流處理模塊包括流生成子模塊、參數緩存子模塊和報文緩存子模塊; 所述參數緩存子模塊,用于存儲所述參數分發調度模塊發送的流序列和可變參數; 所述流生成子模塊,用于根據從所述參數緩存子模塊中讀取的流序列和可變參數以及從所述參數存儲子模塊中讀取的固定參數生成數據流; 所述報文緩存子模塊,用于存儲生成的數據流,以使所述流控制模塊從所述報文緩存子模塊中獲取到生成的數據流。4.根據權利要求3所述的裝置,其特征在于, 所述調度子模塊,具體用于獲取所述流序列和與所述流序列對應的可變參數;判斷每個所述流處理模塊中的報文緩存子模塊是否為空;如果是,則將連續的N個流序列和所述N個流序列對應的N個可變參數分發到所述報文緩存子模塊所對應的參數緩存子模塊中; 其中,所述N個流序列對應的數據流長度總和不超過所述報文緩存子模塊的容量。5.根據權利要求3所述的裝置,其特征在于,所述流生成子模塊采用第一總線位寬,所述流處理模塊還包括設置于所述流生成子模塊和所述報文緩存子模塊之間的接口轉換子豐旲塊; 所述流生成子模塊在所述根據接收的流序列和可變參數以及從所述參數存儲子模塊獲取的固定參數生成數據流之后,還用于將所述第一總線位寬的數據流發送給所述接口轉換子模塊; 所述接口轉換子模塊,用于將第一總線位寬的數據流轉換為第二總線位寬的數據流。6.根據權利要求3所述的裝置,其特征在于, 所述流控制模塊,具體用于根據第一預設速率從每個報文緩存子模塊中讀取數據流,并按照第二預設速率發送給所述傳輸模塊,其中,所述第二預設速率大于所述第一預設速率。7.根據權利要求1-6任一項所述的裝置,其特征在于,所述裝置還包括: 時鐘模塊,用于將輸入的第一時鐘頻率轉換為第二時鐘頻率,將所述第二時鐘頻率分別提供給所述參數分發調度模塊、所述流控制模塊、每個流處理模塊; 所述裝置還為所述傳輸模塊提供第三時鐘頻率。
【文檔編號】H04L12/26GK105871656SQ201610180564
【公開日】2016年8月17日
【申請日】2016年3月25日
【發明人】蔡恒, 於建軍, 高青
【申請人】杭州華三通信技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影