專利名稱:提高fpga存儲(chǔ)器利用率的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以太網(wǎng)領(lǐng)域,尤其是一種通過(guò)長(zhǎng)度變換提高FPGA內(nèi)部存儲(chǔ)器利用率的方法和實(shí)現(xiàn)該方法的裝置。
背景技術(shù):
在利用FPGA做以太網(wǎng)引擎的硬件仿真時(shí),常常會(huì)遇到很短很寬的FIFO的實(shí)現(xiàn)問(wèn)題。一種現(xiàn)有技術(shù)中,通過(guò)多塊塊狀存儲(chǔ)器在寬度上拼接來(lái)實(shí)現(xiàn)很大寬度FIFO的存儲(chǔ)或者讀取,這種方法由于僅僅是寬度上的拼接,所以對(duì)塊狀存儲(chǔ)器長(zhǎng)度(深度)上的利用率極低,且如果處理多個(gè)此類FIFO時(shí),對(duì)于FPGA內(nèi)部的塊狀存儲(chǔ)器的資源占用很多,甚至,F(xiàn)PGA內(nèi)部的塊狀存儲(chǔ)器的數(shù)量沒有辦法滿足實(shí)現(xiàn)此類FIFO所需數(shù)量。另一種現(xiàn)有技術(shù),是通過(guò)采用FPGA內(nèi)部的查找表LUT拼接來(lái)實(shí)現(xiàn)較長(zhǎng)寬度FIFO的存儲(chǔ)或者讀取,這種方法,由于地址線的扇出太大,會(huì)消耗大量的布線資源
發(fā)明內(nèi)容
針對(duì)上述技術(shù)問(wèn)題,本發(fā)明的目的在于提供了一種提高FPGA內(nèi)部塊狀存儲(chǔ)器利用率的方法和裝置。相應(yīng)的,所述提高FPGA存儲(chǔ)器利用率的方法包括以下步驟
51、輸入一原始數(shù)據(jù);
52、切分所述原始數(shù)據(jù)的寬度得到若干被切分?jǐn)?shù)據(jù),并將所述被切分?jǐn)?shù)據(jù)存儲(chǔ)于一塊狀存儲(chǔ)器中;
53、從所述塊狀存儲(chǔ)器中讀取所述被切分?jǐn)?shù)據(jù),將所述被切分?jǐn)?shù)據(jù)拼接成所述原始數(shù)據(jù)進(jìn)行輸出。本發(fā)明的進(jìn)一步改進(jìn)在于,在第一時(shí)鐘域中,輸入一原始數(shù)據(jù);在第二時(shí)鐘域中,切分所述原始數(shù)據(jù)的寬度得到若干被切分?jǐn)?shù)據(jù),并將所述被切分?jǐn)?shù)據(jù)存儲(chǔ)于一塊狀存儲(chǔ)器中,所述第一時(shí)鐘域比所述第二時(shí)鐘域慢。本發(fā)明的進(jìn)一步改進(jìn)在于,在第一時(shí)鐘域中,從所述塊狀存儲(chǔ)器中讀取所述被切分?jǐn)?shù)據(jù),將所述被切分?jǐn)?shù)據(jù)拼接成所述原始數(shù)據(jù)進(jìn)行輸出。本發(fā)明的進(jìn)一步改進(jìn)在于,所述步驟S2中“切分所述原始數(shù)據(jù)的寬度得到若干被切分?jǐn)?shù)據(jù)”具體為將所述原始數(shù)據(jù)的寬度按照所述塊狀存儲(chǔ)器的寬度切分成若干等份。本發(fā)明的進(jìn)一步改進(jìn)在于,所述步驟S2中,所述第二時(shí)鐘域?qū)λ龅谝粫r(shí)鐘域進(jìn)行采樣,當(dāng)采樣到所述第一時(shí)鐘域的一個(gè)下降沿的同時(shí),對(duì)寫信號(hào)進(jìn)行判斷,若寫信號(hào)有效,則完成切分所述原始數(shù)據(jù)的過(guò)程。本發(fā)明的進(jìn)一步改進(jìn)在于,所述步驟S3具體為按照原始數(shù)據(jù)的寬度,從所述塊狀存儲(chǔ)器中連續(xù)讀取若干組數(shù)據(jù)并依次拼接,得到所述原始數(shù)據(jù)。本發(fā)明的進(jìn)一步改進(jìn)在于,所述步驟S3中,所述第二時(shí)鐘域?qū)λ龅谝粫r(shí)鐘域進(jìn)行采樣,當(dāng)采樣到所述第一時(shí)鐘域的一個(gè)下降沿的同時(shí),對(duì)讀信號(hào)進(jìn)行判斷,若讀信號(hào)有效,則將所述被切分?jǐn)?shù)據(jù)拼接成所述原始數(shù)據(jù)進(jìn)行輸出的過(guò)程。相應(yīng)的,所述提高FPGA存儲(chǔ)器利用率的裝置,該裝置包括
輸入單元用于輸入一原始數(shù)據(jù);
切分單元用于切分所述原始數(shù)據(jù)的寬度得到若干被切分?jǐn)?shù)據(jù),并將所述被切分?jǐn)?shù)據(jù)存儲(chǔ)于一塊狀存儲(chǔ)器中;
輸出單元用于從所述塊狀存儲(chǔ)器中讀取所述被 切分?jǐn)?shù)據(jù),將所述被切分?jǐn)?shù)據(jù)拼接成所述原始數(shù)據(jù)進(jìn)行輸出。本發(fā)明的進(jìn)一步在于,改進(jìn)所述輸入單元工作于第一時(shí)鐘域,所述切分單元工作于第二時(shí)鐘域,所述第一時(shí)鐘域比所述第二時(shí)鐘域慢。本發(fā)明的進(jìn)一步改進(jìn)在于,所述輸出單元工作于第二時(shí)鐘域。相較于現(xiàn)有技術(shù),本發(fā)明的有益效果是通過(guò)利用內(nèi)部高速時(shí)鐘進(jìn)行FPGA內(nèi)部數(shù)據(jù)總線的變換,實(shí)現(xiàn)存儲(chǔ)器長(zhǎng)度的變換,充分利用了 FPGA內(nèi)部塊狀存儲(chǔ)器的長(zhǎng)度和寬度的限制,提高了 FPGA內(nèi)部塊狀存儲(chǔ)器的利用率,同時(shí)相關(guān)邏輯消耗較小。
圖I本發(fā)明提高FPGA存儲(chǔ)器利用率方法的一實(shí)施例中流程 圖2本發(fā)明提高FPGA存儲(chǔ)器利用率方法的一實(shí)施例中寬度切分過(guò)程示意 圖3本發(fā)明提高FPGA存儲(chǔ)器利用率裝置的模塊示意圖。
具體實(shí)施例方式以下將結(jié)合附圖所示的各實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。但這些實(shí)施例并不限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員根據(jù)這些實(shí)施例所做出的結(jié)構(gòu)、方法、或功能上的變換均包含在本發(fā)明的保護(hù)范圍內(nèi)。如圖I所示,以512D36W大小的雙端口塊狀存儲(chǔ)器為例,一種通過(guò)長(zhǎng)寬變換提高FPGA內(nèi)部存儲(chǔ)器利用率的方法,包括以下步驟
SI、輸入一原始數(shù)據(jù)。在第一時(shí)鐘域(一般為CLK),的一個(gè)上升沿輸入一個(gè)原始數(shù)據(jù);所述原始數(shù)據(jù)往往為一段很寬很淺的FIFO。以Xi I inx公司的Virtex4系列的FPGA XC4VLX100為例,V4系列包含總共具有18432bits存儲(chǔ)位的BLOCK RAM,即塊狀存儲(chǔ)器,可以實(shí)現(xiàn)18432DxlW,9216Dx2W,…,512Dx36W大小的雙端口存儲(chǔ)器,其中最大位寬是36bits。S2、切分所述原始數(shù)據(jù)的寬度得到若干被切分?jǐn)?shù)據(jù),并將所述被切分?jǐn)?shù)據(jù)存儲(chǔ)于一塊狀存儲(chǔ)器中。具體為,第二時(shí)鐘域是一內(nèi)部高速時(shí)鐘信號(hào),一般為CLKFAST,其頻率至少是CLK信號(hào)頻率的33倍,為了簡(jiǎn)化異步時(shí)鐘域的設(shè)計(jì),同時(shí)為了使CLKFAST和CLK的頻率變化時(shí),不需要重新設(shè)計(jì),可以規(guī)定CLKFAST的頻率=(數(shù)據(jù)總線位寬/36x2+2)x CLK頻率;所述第二時(shí)鐘域CLKFAST對(duì)所述第一時(shí)鐘域CLK進(jìn)行采樣,當(dāng)采樣到所述第一時(shí)鐘域CLK的一個(gè)下降沿的同時(shí),對(duì)寫信號(hào)wr進(jìn)行判斷,若寫信號(hào)wr有效,則將所述原始數(shù)據(jù)的寬度按照塊狀存儲(chǔ)器的寬度切分成若干等份,并將所述被切分?jǐn)?shù)據(jù)存儲(chǔ)于一塊狀存儲(chǔ)器中,完成切分所述原始數(shù)據(jù)的過(guò)程。以存儲(chǔ)一個(gè)1152bits的原始數(shù)據(jù)為例,CLKFAST采樣到CLK的下降沿的同時(shí)對(duì)wr信號(hào)做判斷,如果wr信號(hào)有效,則開始按照36bits為單位將所述1152bits的原始數(shù)據(jù)切分成32等份,每切分出一份36bits的數(shù)據(jù),就寫入512D36W的塊狀存儲(chǔ)器中。值得一提的是,如果數(shù)據(jù)總線信號(hào)除以36bits數(shù)據(jù)位寬得到的結(jié)果不是2的指數(shù)次方,為了簡(jiǎn)化設(shè)計(jì),512D36W的尋址可以按照2的指數(shù)次方設(shè)計(jì),例如,如果數(shù)據(jù)總線位寬是1158bits,轉(zhuǎn)換成36bits的數(shù)據(jù),共有33個(gè),為了尋址方便,可以在512D36W分配連續(xù)64個(gè)36bits的單元給一個(gè)1158bits數(shù)據(jù)總線,這樣浪費(fèi)了 31個(gè)36bits的存儲(chǔ)單元,尋址地址設(shè)計(jì)方便了,第一個(gè)1158bits數(shù)據(jù)從O開始,第二個(gè)從64開始,以此類推。也可以只分配33個(gè)36bits的存儲(chǔ)單元給一個(gè)1158bits的數(shù)據(jù),尋址地址設(shè)計(jì)稍微麻煩,第一個(gè)1158bits數(shù)據(jù)從O開始,第二個(gè)從33開始,第三個(gè)從66開始,以此類推,雖然這樣的方式在尋址設(shè)計(jì)上略顯麻煩,但節(jié)省了存儲(chǔ)資源。S3、從所述塊狀存儲(chǔ)器中讀取所述被切分?jǐn)?shù)據(jù),將所述被切分?jǐn)?shù)據(jù)拼接成所述原始數(shù)據(jù)進(jìn)行輸出。寬度擴(kuò)展是寬度切分的反過(guò)程,具體為,當(dāng)內(nèi)部高速時(shí)鐘域CLKFAST對(duì)所 述第一時(shí)鐘域CLK進(jìn)行采樣,當(dāng)采樣到所述第一時(shí)鐘域CLK的一個(gè)下降沿的同時(shí),對(duì)讀信號(hào)rd進(jìn)行判斷,若讀信號(hào)有效,則按照原始數(shù)據(jù)的寬度,從所述塊狀存儲(chǔ)器中連續(xù)讀取若干組數(shù)據(jù)并依次拼接,得到所述原始數(shù)據(jù),完成原始數(shù)據(jù)恢復(fù)的過(guò)程。以讀取I個(gè)1152bits的數(shù)據(jù)為例,CLKFAST采樣到CLK的下降沿的同時(shí)對(duì)rd信號(hào)做判斷,如果rd信號(hào)有效,則開始按照36bits為單位從512D36W的塊狀存儲(chǔ)器中連續(xù)讀取32個(gè)36bits的存儲(chǔ)數(shù)據(jù),拼接成一個(gè)1152bits的數(shù)據(jù)總線信號(hào)rddata[1152:0]輸出。如圖2所示,詳細(xì)解釋了存儲(chǔ)器寬度變換的過(guò)程,以寫一個(gè)1152bits的數(shù)據(jù)為例,步驟I是在CLK時(shí)鐘的上升沿輸出一個(gè)1152bits的數(shù)據(jù),步驟2是在CLK時(shí)鐘的下降沿,CLKFAST開始切分1152bits的數(shù)據(jù)總線,從Dl [35:0]開始,連續(xù)切分32個(gè)數(shù)據(jù),同時(shí)每切分一個(gè)36bits數(shù)據(jù)就寫入到512D36W的塊狀存儲(chǔ)器中,一直到D32[35:0]結(jié)束。然后又開始另一個(gè)新的1152bits的數(shù)據(jù)切分。參閱圖3,為提高FPGA存儲(chǔ)器利用率裝置的示意圖,在本實(shí)施方式中,該裝置包括輸入單元、切分單元、輸出單元。所述輸入單元用于輸入一原始數(shù)據(jù);其中,在第一時(shí)鐘域,一般為CLK,的一個(gè)上升沿輸入一個(gè)原始數(shù)據(jù);所述原始數(shù)據(jù)往往為一段很寬很淺的FIFO。以Xilinx公司的Virtex4系列的FPGA XC4VLX100為例,V4系列包含總共具有18432bits存儲(chǔ)位的BLOCK RAM,即塊狀存儲(chǔ)器,可以實(shí)現(xiàn)18432DxlW,9216Dx2W,…,512Dx36W大小的雙端口存儲(chǔ)器,其中最大位寬是36bits。切分單元用于切分所述原始數(shù)據(jù)的寬度得到若干被切分?jǐn)?shù)據(jù),并將所述被切分?jǐn)?shù)據(jù)存儲(chǔ)于一塊狀存儲(chǔ)器中;具體為,第二時(shí)鐘域是一內(nèi)部高速時(shí)鐘信號(hào),一般為CLKFAST,其頻率至少是CLK信號(hào)頻率的33倍,為了簡(jiǎn)化異步時(shí)鐘域的設(shè)計(jì),同時(shí)為了使CLKFAST和CLK的頻率變化時(shí),不需要重新設(shè)計(jì),可以規(guī)定CLKFAST的頻率=(數(shù)據(jù)總線位寬/36x2+2) X CLK頻率;所述第二時(shí)鐘域CLKFAST對(duì)所述第一時(shí)鐘域CLK進(jìn)行采樣,當(dāng)采樣到所述第一時(shí)鐘域CLK的一個(gè)下降沿的同時(shí),對(duì)寫信號(hào)wr進(jìn)行判斷,若寫信號(hào)wr有效,則將所述原始數(shù)據(jù)的寬度按照塊狀存儲(chǔ)器的寬度切分成若干等份,并將所述被切分?jǐn)?shù)據(jù)存儲(chǔ)于一塊狀存儲(chǔ)器中,完成切分所述原始數(shù)據(jù)的過(guò)程。以存儲(chǔ)一個(gè)1152bits的原始數(shù)據(jù)為例,CLKFAST采樣到CLK的下降沿的同時(shí)對(duì)wr信號(hào)做判斷,如果wr信號(hào)有效,則開始按照36bits為單位將所述1152bits的原始數(shù)據(jù)切分成32等份,每切分出一份36bits的數(shù)據(jù),就寫入512D36W的塊狀存儲(chǔ)器中。輸出單元用于從所述塊狀存儲(chǔ)器中讀取所述被切分?jǐn)?shù)據(jù),將所述被切分?jǐn)?shù)據(jù)拼接成所述原始數(shù)據(jù)進(jìn)行輸出。寬度擴(kuò)展是寬度切分的反過(guò)程,具體為,當(dāng)內(nèi)部高速時(shí)鐘域CLKFAST對(duì)所述第一時(shí)鐘域CLK進(jìn)行采樣,當(dāng)采樣到所述第一時(shí)鐘域CLK的一個(gè)下降沿的同時(shí),對(duì)讀信號(hào)rd進(jìn)行判斷,若讀信號(hào)有效,則按照原始數(shù)據(jù)的寬度,從所述塊狀·存儲(chǔ)器中連續(xù)讀取若干組數(shù)據(jù)并依次拼接,得到所述原始數(shù)據(jù),完成原始數(shù)據(jù)恢復(fù)的過(guò)程。以讀取I個(gè)1152bits的數(shù)據(jù)為例,CLKFAST采樣到CLK的下降沿的同時(shí)對(duì)rd信號(hào)做判斷,如果rd信號(hào)有效,則開始按照36bits為單位從512D36W的塊狀存儲(chǔ)器中連續(xù)讀取32個(gè)36bits的存儲(chǔ)數(shù)據(jù),拼接成一個(gè)1152bits的數(shù)據(jù)總線信號(hào)rddata[1152:0]輸出。為了描述的方便,描述以上裝置時(shí)以功能分為各種單元分別描述。當(dāng)然,在實(shí)施本申請(qǐng)時(shí)可以把各單元的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施方式或者實(shí)施方式的某些部分所述的方法。以上所描述的裝置實(shí)施方式僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施方式方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。本申請(qǐng)可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置中。例如個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。應(yīng)當(dāng)理解,雖然本說(shuō)明書按照實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說(shuō)明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說(shuō)明書作為一個(gè)整體,各實(shí)施方式中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。上文所列出的一系列的詳細(xì)說(shuō)明僅僅是針對(duì)本發(fā)明的可行性實(shí)施方式的具體說(shuō)明,它們并非用以限制本發(fā)明的保護(hù)范圍,凡未脫離本發(fā)明技藝精神所作的等效實(shí)施方式或變更均應(yīng)包含在本發(fā)明的保護(hù)
范圍之內(nèi)。
權(quán)利要求
1.一種提高FPGA存儲(chǔ)器利用率的方法,其特征在于該方法包括以下步驟 51、輸入一原始數(shù)據(jù); 52、切分所述原始數(shù)據(jù)的寬度得到若干被切分?jǐn)?shù)據(jù),并將所述被切分?jǐn)?shù)據(jù)存儲(chǔ)于一塊狀存儲(chǔ)器中; 53、從所述塊狀存儲(chǔ)器中讀取所述被切分?jǐn)?shù)據(jù),將所述被切分?jǐn)?shù)據(jù)拼接成所述原始數(shù)據(jù)進(jìn)行輸出。
2.根據(jù)權(quán)利要求I所述的提高FPGA存儲(chǔ)器利用率的方法,其特征在于,在第一時(shí)鐘域中,輸入一原始數(shù)據(jù);在第二時(shí)鐘域中,切分所述原始數(shù)據(jù)的寬度得到若干被切分?jǐn)?shù)據(jù),并將所述被切分?jǐn)?shù)據(jù)存儲(chǔ)于一塊狀存儲(chǔ)器中,所述第一時(shí)鐘域比所述第二時(shí)鐘域慢。
3.根據(jù)權(quán)利要求2所述的提高FPGA存儲(chǔ)器利用率的方法,其特征在于,在第一時(shí)鐘域中,從所述塊狀存儲(chǔ)器中讀取所述被切分?jǐn)?shù)據(jù),將所述被切分?jǐn)?shù)據(jù)拼接成所述原始數(shù)據(jù)進(jìn)行輸出。
4.根據(jù)權(quán)利要求3所述的提高FPGA存儲(chǔ)器利用率的方法,其特征在于,所述步驟S2中“切分所述原始數(shù)據(jù)的寬度得到若干被切分?jǐn)?shù)據(jù)”具體為將所述原始數(shù)據(jù)的寬度按照所述塊狀存儲(chǔ)器的寬度切分成若干等份。
5.根據(jù)權(quán)利要求4所述的提高FPGA存儲(chǔ)器利用率的方法,其特征在于,所述步驟S2中,所述第二時(shí)鐘域?qū)λ龅谝粫r(shí)鐘域進(jìn)行采樣,當(dāng)采樣到所述第一時(shí)鐘域的一個(gè)下降沿的同時(shí),對(duì)寫信號(hào)進(jìn)行判斷,若寫信號(hào)有效,則進(jìn)行切分所述原始數(shù)據(jù)的過(guò)程。
6.根據(jù)權(quán)利要求4所述的提高FPGA存儲(chǔ)器利用率的方法,其特征在于,所述步驟S3具體為按照原始數(shù)據(jù)的寬度,從所述塊狀存儲(chǔ)器中連續(xù)讀取若干組切分?jǐn)?shù)據(jù)并依次拼接,得到所述原始數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的提高FPGA存儲(chǔ)器利用率的方法,其特征在于,所述步驟S3中,所述第二時(shí)鐘域?qū)λ龅谝粫r(shí)鐘域進(jìn)行采樣,當(dāng)采樣到所述第一時(shí)鐘域的一個(gè)下降沿的同時(shí),對(duì)讀信號(hào)進(jìn)行判斷,若讀信號(hào)有效,則進(jìn)行將存儲(chǔ)的切分?jǐn)?shù)據(jù)拼接成所述原始數(shù)據(jù)的過(guò)程。
8.一種提高FPGA存儲(chǔ)器利用率的裝置,其特征在于,該裝置包括 輸入單元用于輸入一原始數(shù)據(jù); 切分單元用于切分所述原始數(shù)據(jù)的寬度得到若干被切分?jǐn)?shù)據(jù),并將所述被切分?jǐn)?shù)據(jù)存儲(chǔ)于一塊狀存儲(chǔ)器中; 輸出單元用于從所述塊狀存儲(chǔ)器中讀取所述被切分?jǐn)?shù)據(jù),將所述被切分?jǐn)?shù)據(jù)拼接成所述原始數(shù)據(jù)進(jìn)行輸出。
9.根據(jù)權(quán)利要求8所述的提高FPGA存儲(chǔ)器利用率的裝置,其特征在于,所述輸入單元工作于第一時(shí)鐘域,所述切分單元工作于第二時(shí)鐘域,所述第一時(shí)鐘域比所述第二時(shí)鐘域慢。
10.根據(jù)權(quán)利要求9所述的提高FPGA存儲(chǔ)器利用率的裝置,其特征在于,所述輸出單元工作于第二時(shí)鐘域。
全文摘要
本發(fā)明涉及一種通過(guò)長(zhǎng)寬變換提高FPGA內(nèi)部存儲(chǔ)器利用率的方法和裝置,其中,所述方法包括S1.輸入一原始數(shù)據(jù);S2.切分所述原始數(shù)據(jù)的寬度得到若干被切分?jǐn)?shù)據(jù),并將所述被切分?jǐn)?shù)據(jù)存儲(chǔ)于一塊狀存儲(chǔ)器中;S3.從所述塊狀存儲(chǔ)器中讀取所述被切分?jǐn)?shù)據(jù),將所述被切分?jǐn)?shù)據(jù)拼接成所述原始數(shù)據(jù)進(jìn)行輸出。本發(fā)明通過(guò)利用內(nèi)部高速時(shí)鐘進(jìn)行FPGA內(nèi)部數(shù)據(jù)總線的變換,實(shí)現(xiàn)存儲(chǔ)器長(zhǎng)度的變換,充分利用了FPGA內(nèi)部塊狀存儲(chǔ)器的長(zhǎng)度和寬度的限制,提高了FPGA內(nèi)部塊狀存儲(chǔ)器的利用率,同時(shí)相關(guān)的邏輯消耗較小。
文檔編號(hào)G06F12/06GK102955744SQ20111024805
公開日2013年3月6日 申請(qǐng)日期2011年8月26日 優(yōu)先權(quán)日2011年8月26日
發(fā)明者許俊 申請(qǐng)人:盛科網(wǎng)絡(luò)(蘇州)有限公司