本發(fā)明涉及信息數(shù)據(jù)存儲技術(shù)領(lǐng)域,尤其涉及一種深存儲器以及測量儀器。
背景技術(shù):
存儲器是電子測量儀器的關(guān)鍵組成單元,面臨大數(shù)據(jù)時代,測量儀器對存儲器的容量、帶寬大小及處理性能的要求也日漸提升。
現(xiàn)有的示波器、邏輯分析儀等通用測量儀器的深存儲器的存儲容量通常都很低,通常存儲容量小于10Mpts(8位的示波器一個采樣點1pt=8bits),僅僅能夠存儲10兆采樣點;而且深存儲器的處理速度也非常慢,10Mpts大小的數(shù)據(jù)需要處理很久。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明提供一種深存儲器及測量儀器,以解決現(xiàn)有技術(shù)中通用測量儀器的存儲容量小、帶寬小及處理性能較低的問題。
基于上述目的,本發(fā)明提供的技術(shù)方案具體如下:
一種深存儲器,包括:至少一個存儲器,所述存儲器包括至少兩個子存儲器,每個所述子存儲器包括一個現(xiàn)場可編程邏輯陣列FPGA和一個與所述FPGA相連的存儲單元,所述至少兩個子存儲器的FPGA級聯(lián)。
優(yōu)選地,所述FPGA為邏輯資源在16萬以上的FPGA。
優(yōu)選地,所述存儲單元包括并行的多個DDR3顆粒,多個DDR3的總線合并后與FPGA相連,實現(xiàn)數(shù)據(jù)的輸入輸出。
優(yōu)選地,所述DDR3顆粒的個數(shù)為4或8。
優(yōu)選地,所述存儲器個數(shù)為一個,所述存儲器包括第一子存儲器和第二子存儲器;
所述第一子存儲器包括第一FPGA和與所述第一FPGA相連的第一存儲單元;
所述第二子存儲器包括第二FPGA和與所述第二FPGA相連的第二存儲單元;
所述第一FPGA與所述第二FPGA級聯(lián),數(shù)據(jù)由所述第一FPGA輸入,由所述第二FPGA輸出。
優(yōu)選地,所述存儲器個數(shù)為兩個,所述存儲器包括第一子存儲器、第二子存儲器、第三子存儲器和第四子存儲器;
所述第一子存儲器包括第一FPGA和與所述第一FPGA相連的第一存儲單元;
所述第二子存儲器包括第二FPGA和與所述第二FPGA相連的第二存儲單元;
所述第三子存儲器包括第三FPGA和與所述第三FPGA相連的第三存儲單元;
所述第四子存儲器包括第四FPGA和與所述第四FPGA相連的第四存儲單元;
所述第一FPGA與所述第二FPGA級聯(lián),數(shù)據(jù)由所述第一FPGA輸入,由所述第二FPGA輸出;
所述第三FPGA與所述第四FPGA級聯(lián),數(shù)據(jù)由所述第三FPGA輸入,由所述第四FPGA輸出。
優(yōu)選地,所述深存儲器還包括第五FPGA,所述第五FPGA的輸入端分別連接所述第二FPGA的輸出端和所述第四FPGA的輸出端,數(shù)據(jù)由所述第五FPGA輸出。
本發(fā)明還提供一種測量儀器,包括上面所述的深存儲器。
優(yōu)選地,所述測量儀器為示波器或邏輯分析儀。
經(jīng)由上述技術(shù)方案可知,本發(fā)明提供的深存儲器,包括至少一個存儲器,所述存儲器包括至少兩個子存儲器,每個所述子存儲器包括一個FPGA(Field-Programmable Gate Array,現(xiàn)場可編程邏輯陣列)和一個與所述FPGA相連的存儲單元,所述至少兩個子存儲器的FPGA級聯(lián)。即本發(fā)明提供的深存儲器包括多個存儲單元,存儲單元增加,其總?cè)萘考翱値捲黾?;由于所述兩個子存儲器的FPGA級聯(lián),在處理相同單位的數(shù)據(jù)時,可以分在兩個FPGA同時進行數(shù)據(jù)處理,相當于流水線處理數(shù)據(jù),從而處理數(shù)據(jù)的總時間減少,處理速度增加,處理性能提高。
本發(fā)明提供的測量儀器包括上面所述的深存儲器,由于所述深存儲器的存儲容量增加、帶寬增加、處理性能提高,因此所述測量儀器的性能更好。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種深存儲器結(jié)構(gòu)示意圖;
圖2為傳統(tǒng)FPGA的數(shù)據(jù)處理架構(gòu);
圖3為傳統(tǒng)FPGA的數(shù)據(jù)抽樣過程示意圖;
圖4為本發(fā)明實施例提供的大規(guī)模FPGA的數(shù)據(jù)處理架構(gòu);
圖5為本發(fā)明實施例提供的大規(guī)模FPGA的數(shù)據(jù)抽樣過程示意圖;
圖6為本發(fā)明實施例提供的存儲單元結(jié)構(gòu)示意圖;
圖7為為本發(fā)明實施例提供的另一種深存儲器結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
發(fā)明人在實踐過程中發(fā)現(xiàn),如果示波器的存儲深度能夠做到足夠大,就能保持最高的波形采樣率,則觀察到的波形會更加真實、細膩。反之,如果存儲深度只有1Mpts甚至更低,當要觀察時長較大的波形時,示波器就只能被迫降低采樣率。由于采樣點數(shù)不足,示波器顯示的波形也會嚴重失真,甚至產(chǎn)生波形混疊,誤導用戶測量分析。
因此,示波器或其他測量儀器如邏輯分析儀等,均需要存儲容量大、帶寬高和處理性能高的深存儲器。
實施例一
本發(fā)明實施例提供一種深存儲器,包括至少一個存儲器,所述存儲器包括至少兩個子存儲器,每個所述子存儲器包括一個FPGA和一個與所述FPGA相連的存儲單元,所述至少兩個子存儲器的FPGA級聯(lián)。需要說明的是,每個子存儲器都是獨立的單元,能夠獨自處理輸入到其內(nèi)的數(shù)據(jù)。且相連的子存儲器可以通過FPGA互連共享數(shù)據(jù)。
假設(shè)一個存儲單元的存儲容量為d′,本實施例中提供的深存儲器的子存儲器的個數(shù)為N,則本實施例中提供的深存儲器的總存儲容量D=N*d′,可見,增加了存儲單元的個數(shù),能夠增加深存儲器的總存儲容量。同理,假設(shè)一個存儲單元的帶寬為p′,則本實施例中提供的深存儲器的總帶寬為P=N*p′,可見,深存儲器的總帶寬與存儲單元的數(shù)量有關(guān),當存儲單元的數(shù)量增加時,總帶寬也隨之增加。而串聯(lián)了新的FPGA后,多個PFGA級聯(lián),多級FPGA同時對數(shù)據(jù)進行處理,相當于流水線處理數(shù)據(jù),從而相對于一個FPGA處理數(shù)據(jù)的時間來說,多級FPGA同時處理能夠減少處理時間,進而提高數(shù)據(jù)處理速度,也即提高了深存儲器的處理性能。
因此,本實施例中不限定增加的子存儲器的個數(shù),優(yōu)選地,所述子存儲器的個數(shù)為2個或4個,如圖1所示為2個子存儲器時的結(jié)構(gòu)圖,本領(lǐng)域技術(shù)人員可以理解的,當然在其他情況下還可以繼續(xù)增加級聯(lián)的子存儲器的個數(shù),具體根據(jù)所述深存儲器的存儲容量需求而定。
需要說明的是,本實施例中所述FPGA優(yōu)選采用邏輯資源在16萬以上的FPGA,更為優(yōu)選的,F(xiàn)PGA1和FPGA2均采用XC7K160T型號的FPGA,其邏輯資源能夠達到16萬,處理速度能夠進一步加快,且其數(shù)據(jù)處理架構(gòu)相對于現(xiàn)有技術(shù)中的FPGA發(fā)生變化,進而提升了處理性能,本領(lǐng)域技術(shù)人員能夠理解的,其他型號的邏輯資源在16萬以上的FPGA同樣也能應(yīng)用于本實施例中,本實施例對此不做限定。
如圖2所示,為傳統(tǒng)FPGA的數(shù)據(jù)處理架構(gòu),通常的數(shù)據(jù)流程為:數(shù)據(jù)經(jīng)“存儲單元控制器”由“存儲單元”讀取,經(jīng)過“位寬轉(zhuǎn)換”模塊做降速處理,送“數(shù)據(jù)抽樣”進行處理后,再送到各“功能模塊”。設(shè)“數(shù)據(jù)抽樣”的總線位寬為L1(通常很小,如32),存儲單元控制器的輸出總線位寬為L2(通常遠大于L1,如512)。傳統(tǒng)方案通常受限于資源或設(shè)計難度,通常的抽樣模塊和位寬轉(zhuǎn)換模塊是分開的。在較低的總線位寬(L1)下,處理資源少(通常為32或64位),容易現(xiàn)實,但是處理時間長。
假設(shè)需要處理的數(shù)據(jù)總量為M(bits),則傳統(tǒng)的數(shù)據(jù)處理架構(gòu)需要處理的時間為:
其中Tsystem為系統(tǒng)時鐘周期。
如圖3為4倍抽樣過程,位寬轉(zhuǎn)換模塊首先將輸入到位寬轉(zhuǎn)換單元的總線位寬為L2的位寬轉(zhuǎn)換為數(shù)據(jù)抽樣模塊能夠使用的總線位寬L1,然后經(jīng)過數(shù)據(jù)抽樣模塊的出行抽樣,一個一個掃描后,得到抽樣數(shù)據(jù)D4和D8。本實施例中L2=32;L1=8;4倍等間隔抽樣處理,8個數(shù)據(jù)需要8個系統(tǒng)時鐘周期才能處理完。
本實施例提供的數(shù)據(jù)處理架構(gòu),利用大規(guī)模FPGA資源多的優(yōu)點,做了并行加速處理,在物理結(jié)構(gòu)上將“位寬轉(zhuǎn)換”和“數(shù)據(jù)抽樣”模塊結(jié)合組成“快速抽樣模塊”,數(shù)據(jù)處理架構(gòu)圖如圖4所示。
則本實施例中提供的大規(guī)模FPGA的數(shù)據(jù)處理架構(gòu)需要處理的時間為:
由于采用了大規(guī)模的FPGA,具有足夠的資源,涉及復雜度大增,但能夠大大提高處理速度,同樣的數(shù)據(jù),抽樣過程如圖5所示,將位寬轉(zhuǎn)換模塊與數(shù)據(jù)抽樣模塊合并,使用了L2的高總線位寬,其抽樣過程為快速抽樣模塊從輸入到快速抽樣模塊的總線位寬為L2的數(shù)據(jù)中并行處理直接抽樣得到數(shù)據(jù)D4和D8。本實施例中,L2=32;L1=8;4倍等間隔抽樣處理,8個數(shù)據(jù)需要2個系統(tǒng)時鐘周期才能處理完。
對比公式(1)和公式(2),可得高性能數(shù)據(jù)處理架構(gòu)的處理性能是傳統(tǒng)數(shù)據(jù)處理架構(gòu)的L2/L1倍。而在實際應(yīng)用中,L2為512,L1為64,相比傳統(tǒng)方案性能提升了8倍。傳統(tǒng)方案中由于FPGA的資源較少,通常情況下,L1為32,相對于L1為32的情況,本實施例中的處理數(shù)據(jù)性能提高了16倍。所有的系統(tǒng)中,基本上都會有數(shù)據(jù)抽樣處理的操作,包括峰值抽樣、等間隔抽樣等,抽樣倍率通常為任意整數(shù)。因此,本實施例中的L2和L1數(shù)據(jù)不僅限于此,在此不再進行贅述。
由于FPGA為采用大規(guī)模的FPGA,其處理速度加快,處理數(shù)據(jù)性能提升,因此存儲單元的顆粒能夠相應(yīng)增加,本實施例中優(yōu)選的,所述存儲單元包括多個動態(tài)存儲器,尤其包括多個DDR3顆粒,所述DDR3顆粒的個數(shù)根據(jù)實際需求,優(yōu)選為4或8,在FPGA的處理能力達到更高水平時,本發(fā)明的其他實施例中,所述DDR3顆粒的數(shù)量還可以隨著需求已經(jīng)FPGA的處理能力而增加,本實施例中對所述DDR3顆粒的數(shù)量不做限定。本實施例中所述的DDR3為一種計算機內(nèi)存規(guī)格。它屬于SDRAM(Synchronous Dynamic Random Access Memory,同步動態(tài)隨機存儲器)家族的內(nèi)存產(chǎn)品,提供了相較于DDR2 SDRAM更高的運行效能與更低的電壓,是DDR2 SDRAM的后繼者,也是現(xiàn)時流行的內(nèi)存產(chǎn)品規(guī)格。
存儲單元的結(jié)構(gòu)如圖6所示。由n個DDR3顆粒并行組成,總線合并后與FPGA相連,實現(xiàn)數(shù)據(jù)的輸入輸出,采用并行結(jié)構(gòu)的優(yōu)點在于能增加n倍存儲容量,提高n倍的存儲帶寬。
基于以上結(jié)構(gòu),本實施例提供的深存儲器的總帶寬為:
P=N×n×p——公式(3)
其中P表示深存儲器總帶寬,N表示深存儲器的子存儲器的個數(shù),p表示單個動態(tài)存儲器帶寬,n表示存儲單元中動態(tài)存儲器的數(shù)量(n通常為4或8)。
高性能存儲器的總存儲容量:
D=N×n×d——公式(4)
其中D表示存儲器總?cè)萘?,N表示深存儲器的子存儲器的個數(shù),d表示單個動態(tài)存儲器的容量大小,n表示存儲單元中動態(tài)存儲器的數(shù)量。
動態(tài)存儲器的帶寬計算如下:
p=w×r(bps)——公式(5)
其中p表示單個動態(tài)存儲器帶寬,w表示單個動態(tài)存儲器的數(shù)據(jù)總線位寬,r表示動態(tài)存儲器的數(shù)據(jù)速率。bps(bits per second)為帶寬的單位,表示單位時間內(nèi)的位速率。
本實施例中的動態(tài)存儲器優(yōu)選使用DDR3顆粒,其數(shù)據(jù)總線位寬16bits,數(shù)據(jù)頻率1600MHz,容量2Gbits,每個存儲單元的動態(tài)存儲器數(shù)量n為4;則根據(jù)公式(3)和公式(5)可以計算出該存儲器的總帶寬為:
P=N×n×w×r=N×4×16bits×1600MHz=N×102.4Gbps——公式(6)
根據(jù)公式(4)可計算出總存儲容量為:
D=N×n×d=N×4×2Gbits=N×8Gbits——公式(7)
由此可以看出,本實施例提供的深存儲器,由于增加了子存儲器的個數(shù),隨之增加了存儲單元的個數(shù),進而提高了深存儲器的總存儲容量和總帶寬。由于增加的子存儲器與現(xiàn)有的子存儲器的之間為級聯(lián),在處理數(shù)據(jù)過程中,相當于流水線處理,多級子FPGA同時對數(shù)據(jù)進行處理,從而提高了數(shù)據(jù)處理的速度,進而提高了深存儲器的處理性能。另外,在器件選擇方面,F(xiàn)PGA優(yōu)選為大規(guī)模FPGA,進一步提高了深存儲器的處理性能,由于FPGA為大規(guī)模的FPGA,存儲單元中DDR3顆粒的個數(shù)能夠隨之增加,進一步增大了深存儲器的總存儲容量和總帶寬,從而解決了現(xiàn)有測量儀器存儲方面容量小、帶寬低和處理性能差的問題。
實施例二
本實施例中提供的深存儲器,如圖1所示,存儲器個數(shù)為一個,存儲器包括第一子存儲器和第二子存儲器;第一子存儲器包括第一FPGA(即圖中所示的FPGA1)和FPGA1相連的第一存儲單元(即圖中所示的存儲單元1);第二子存儲器包括第二FPGA2(即圖中所示的FPGA2)和與FPGA2相連的第二存儲單元(即圖中所示的存儲單元2);FPGA1與FPGA2級聯(lián),數(shù)據(jù)由FPGA1輸入,由FPGA2輸出。
本實施例中FPGA1和FPGA2均采用XC7K160T型號的FPGA。本領(lǐng)域技術(shù)人員能夠理解的,其他型號的邏輯資源在16萬以上的FPGA同樣也能應(yīng)用于本實施例中,本實施例對此不做限定。存儲單元1和存儲單元2均包括并行的多個DDR3顆粒,多個DDR3的總線合并后與FPGA相連,實現(xiàn)數(shù)據(jù)的輸入輸出。本實施例中所述DDR3顆粒的個數(shù)為4,其數(shù)據(jù)總線位寬16bits,數(shù)據(jù)頻率1600MHz,容量2Gbits。
則根據(jù)實施例一中公式(6),深存儲器的總帶寬為:
P=N×n×w×r=2×4×16bits×1600MHz=2×102.4Gps=204.8Gbps
則根據(jù)事實一中公式(7)深存儲器的總存儲容量為:
D=N×n×d=2×4×2Gbits=2×8Gbits=16Gbits
相對于傳統(tǒng)技術(shù)中只有一個子存儲器,且FPGA為小規(guī)模的,資源有限,存儲單元只能設(shè)置一個DDR3顆粒而言,本實施例提供的深存儲器的總帶寬和總存儲容量均為傳統(tǒng)技術(shù)中的8倍,處理性能為傳統(tǒng)技術(shù)存儲器的處理性能的L2/L1倍。
實施例三
本實施例提供一種深存儲器,如圖7所示,存儲器個數(shù)為兩個,存儲器包括第一子存儲器、第二子存儲器、第三子存儲器和第四子存儲器;第一子存儲器包括第一FPGA(即圖中所示的FPGA1)和與FPGA1相連的第一存儲單元(即圖中所示的存儲單元1);第二子存儲器包括第二FPGA(即圖中所示的FPGA2)和與FPGA2相連的第二存儲單元(即圖中所示的存儲單元2);第三子存儲器包括第三FPGA(即圖中所示的FPGA3)和與FPGA3相連的第三存儲單元(即圖中所示的存儲單元3);第四子存儲器包括第四FPGA(即圖中所示的FPGA4)和與FPGA4相連的第四存儲單元(即圖中所示的存儲單元4);FPGA1與FPGA2級聯(lián),數(shù)據(jù)由FPGA1輸入,由FPGA2輸出;FPGA3與FPGA4級聯(lián),數(shù)據(jù)由FPGA3輸入,由FPGA4輸出。
本實施例中的深存儲器由4個子存儲器組成,兩兩組合形成一個存儲器,然后再并行連接,形成兩路并行數(shù)據(jù)處理通信結(jié)構(gòu),且每個子存儲器為獨立的模塊,數(shù)據(jù)處理過程不受其他子存儲器的影響,體現(xiàn)了并行處理的特性。
本實施例中優(yōu)選地,F(xiàn)PGA1、FPGA2、FPGA3和FPGA4均采用大規(guī)模的FPGA,優(yōu)選均采用XC7K160T型號的FPGA。本領(lǐng)域技術(shù)人員能夠理解的,其他型號的邏輯資源在16萬以上的FPGA同樣也能應(yīng)用于本實施例中,本實施例對此不做限定。存儲單元1、存儲單元2、存儲單元3和存儲單元4均包括并行的多個DDR3顆粒,多個DDR3的總線合并后與FPGA相連,實現(xiàn)數(shù)據(jù)的輸入輸出。本實施例中存儲單元1、存儲單元2、存儲單元3和存儲單元4中DDR3顆粒的個數(shù)均為4,其數(shù)據(jù)總線位寬16bits,數(shù)據(jù)頻率1600MHz,容量2Gbits。
根據(jù)公式(6),則本實施例中提供的深存儲器的總存儲容量為:
P=N×n×w×r=4×4×16bits×1600MHz=4×102.4Gps=409.6Gbps
根據(jù)公式(7),則本實施例中提供的深存儲器的總帶寬:
D=N×n×d=4×4×2Gbits=4×8Gbits=32Gbits
相對于傳統(tǒng)技術(shù)中只有一個子存儲器,且FPGA為小規(guī)模的,資源有限,存儲單元只能設(shè)置一個DDR3顆粒而言,本實施例提供的深存儲器的總帶寬和總存儲容量均為傳統(tǒng)技術(shù)中的16倍,處理性能為傳統(tǒng)技術(shù)存儲器的處理性能的L2/L1倍。
另外,需要說明的是,為了最后將兩路并行處理的輸出數(shù)據(jù)合并輸出,本實施例中還包括第五FPGA(即圖中所示FPGA5),數(shù)據(jù)由FPGA1和FPGA3輸入并處理,然后分別送至FPGA2和FPGA4處理,最后匯總到FPGA5完成數(shù)據(jù)處理,并輸出。本實施例中FPGA5也優(yōu)選采用XC7K160T型號的FPGA,從而提高深存儲器的處理性能。
實施例四
本發(fā)明實施例提供一種測量儀器,包括深存儲器,所述深存儲器為實施例一、實施例二或?qū)嵤├峁┑纳畲鎯ζ?,包括至少一個存儲器,所述存儲器包括至少兩個子存儲器,每個所述子存儲器包括一個FPGA和一個與所述FPGA相連的存儲單元,所述至少兩個子存儲器的FPGA級聯(lián)。其中涉及的FPGA均采用XC7K160T型號的FPGA,其邏輯資源能夠達到16萬,處理速度能夠進一步加快,且其數(shù)據(jù)處理架構(gòu)相對于現(xiàn)有技術(shù)中的FPGA發(fā)生變化,進而提升了處理性能。本領(lǐng)域技術(shù)人員能夠理解的,其他型號的邏輯資源在16萬以上的FPGA同樣也能應(yīng)用于本實施例中,本實施例對此不做限定。對應(yīng)的,所述存儲單元均優(yōu)選為包括多個DDR3顆粒,其中DDR3顆粒的數(shù)量不做限定。
需要說明的是,本實施例中不限定所述測量儀器的具體形式,只要其內(nèi)部包含深存儲器即可,優(yōu)選的所述測量儀器為示波器或邏輯分析儀。
示波器采用多個DDR3顆粒存儲技術(shù)后,配合大規(guī)模的FPGA器件,以及本發(fā)明提供的深存儲器結(jié)構(gòu),能有效的解決傳統(tǒng)儀器存儲方案容量小、帶寬低、性能差的問題。再通過全硬件加速和多線程并行處理,存儲深度最高可達512Mpts的國際領(lǐng)先水平,且處理性能高,進而使示波器在觀察長時間波形時也不丟失波形細節(jié)。解決了傳統(tǒng)通用測量儀器深存儲技術(shù)的一大難題。
同樣的,邏輯分析儀采用大規(guī)模FPGA、多個DDR3顆粒以及本發(fā)明提供的深存儲器結(jié)構(gòu)后,能有效的解決傳統(tǒng)儀器存儲方案容量小、帶寬低、性能差的問題。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。