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

一種現(xiàn)場(chǎng)可編程門(mén)陣列數(shù)據(jù)緩存的管理方法

文檔序號(hào):6610647閱讀:215來(lái)源:國(guó)知局
專利名稱:一種現(xiàn)場(chǎng)可編程門(mén)陣列數(shù)據(jù)緩存的管理方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)緩存的管理方法,尤其是一種FPGA (Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列)數(shù)據(jù)緩存的管理方法。
背景技術(shù)
當(dāng)FPGA接收到待處理的數(shù)據(jù)后,將數(shù)據(jù)寫(xiě)入數(shù)據(jù)FIFO (First Input First Output,先入先出隊(duì)列),即數(shù)據(jù)存儲(chǔ)器,并將控制信息 寫(xiě)入控制FIFO,即存儲(chǔ)控制器;當(dāng)控制FIFO非空時(shí),表示有數(shù)據(jù)。 下游模塊讀控制FIFO得到控制信息,然后從數(shù)據(jù)FIFO中讀取相應(yīng)數(shù) 據(jù)加以處理。
常規(guī)的FIFO實(shí)現(xiàn)包含 一 個(gè)FIFO控制器和雙口 RAM (random-access memory,隨機(jī)訪問(wèn)內(nèi)存),雙口RAM的一口作為寫(xiě)端 口,而另一口作為讀端口,讀寫(xiě)端口獨(dú)立操作。FIFO控制器完成讀寫(xiě) 操作的管理,包含讀寫(xiě)操作地址指針、FIFO內(nèi)部數(shù)據(jù)個(gè)數(shù)計(jì)數(shù)器、一 個(gè)深度常數(shù)以及FIFO內(nèi)部空滿狀態(tài)指示。如專利號(hào)為 "ZL200410034425. 0",名稱為" 一種多通道數(shù)據(jù)緩沖設(shè)計(jì)方法與裝 置,,的中國(guó)專利即描述了上述FIFO的實(shí)現(xiàn)方法。然而,其雙口 RAM 的讀寫(xiě)地址由FIFO控制器產(chǎn)生,外部發(fā)起寫(xiě)操作或讀操作的模塊無(wú)法 知道當(dāng)前的讀寫(xiě)地址, 一旦寫(xiě)模塊和讀模塊有一個(gè)發(fā)生操作錯(cuò)誤的話, 就會(huì)導(dǎo)致整個(gè)RAM內(nèi)部以及后續(xù)的數(shù)據(jù)發(fā)生混亂而無(wú)法恢復(fù);并且,
該專利中將不同通道的報(bào)文按通道進(jìn)行緩存,要求每個(gè)通道必須有一
組FIFO控制信息,如讀寫(xiě)地址指針、空滿狀態(tài)指示、個(gè)數(shù)計(jì)數(shù)器等, 通道數(shù)量較多時(shí),就會(huì)導(dǎo)致管理不便及邏輯資源浪費(fèi);再者,該專利 中需要設(shè)定一個(gè)深度常數(shù),多個(gè)通道便需要多個(gè)不同的深度常數(shù)。
專利號(hào)為"US5664116"的美國(guó)專利描述了一種才艮文緩存的方法, 即采用每個(gè)通道分配一個(gè)單獨(dú)的FIFO來(lái)緩存數(shù)據(jù),但每個(gè)報(bào)文分片在 數(shù)據(jù)FIFO中的位置沒(méi)有明確的標(biāo)識(shí), 一旦讀寫(xiě)操作有一方發(fā)生4ti吳 時(shí),整個(gè)緩存區(qū)的數(shù)據(jù)都會(huì)發(fā)生讀取混亂,導(dǎo)致無(wú)法恢復(fù)的錯(cuò)誤。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種FPGA數(shù)據(jù)緩存的管理方法, 使得每個(gè)報(bào)文分片在數(shù)據(jù)FIFO中的位置得到明確的標(biāo)識(shí),確保了某個(gè) 報(bào)文分片在讀寫(xiě)操作發(fā)生錯(cuò)誤時(shí)后續(xù)報(bào)文緩存的正確性。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是
一種FPGA數(shù)據(jù)緩存的管理方法,
寫(xiě)數(shù)據(jù)時(shí)包括以下步驟
a、 寫(xiě)操作模塊將分片數(shù)據(jù)寫(xiě)入數(shù)據(jù)FIFO,記錄所述分片數(shù)據(jù)的 長(zhǎng)度并獲得所述分片數(shù)據(jù)在所述數(shù)據(jù)FIFO中的起始地址;
b、 所述寫(xiě)操作模塊將所述分片數(shù)據(jù)的長(zhǎng)度及其在所述數(shù)據(jù)FIFO 中的起始地址寫(xiě)入控制FIFO;
讀數(shù)據(jù)時(shí)包括以下步驟
A、 讀操作模塊讀取所述控制FIFO獲得分片數(shù)據(jù)的長(zhǎng)度及其在所 述數(shù)據(jù)FIFO中的起始地址;
B、 所述讀操作模塊根據(jù)所述起始地址給出所述數(shù)據(jù)FIFO的讀地
址后,讀取所述分片數(shù)據(jù)。
上述方案中,寫(xiě)數(shù)據(jù)時(shí),所述起始地址是由所述數(shù)據(jù)FIFO通過(guò)預(yù) 設(shè)接口傳輸給所述寫(xiě)操作模塊的。
上述方案中,讀數(shù)據(jù)時(shí),所述數(shù)據(jù)FIF0的讀地址是由所述讀操作 模塊根據(jù)所述起始地址,通過(guò)預(yù)設(shè)接口給出的。
上述方案中,讀數(shù)據(jù)時(shí),所述步驟B通過(guò)以下步驟實(shí)現(xiàn)
(1) 、所述讀操作模塊通過(guò)所述預(yù)設(shè)接口給出所述數(shù)據(jù)FIFO的讀地
址;
(2) 、所述讀操作模塊根據(jù)所述讀地址進(jìn)行一次讀操作;
(3) 、根據(jù)所述分片數(shù)據(jù)的長(zhǎng)度判斷所述分片數(shù)據(jù)是否已經(jīng)全部讀 出,若已全部讀出,則結(jié)束流程,否則,將所述讀地址加l后回到步 驟(2)。
上述方案中,所述分片數(shù)據(jù)包括按固定長(zhǎng)度劃分才艮文數(shù)據(jù)得到的 分片以及數(shù)據(jù)通道號(hào)、報(bào)文開(kāi)始標(biāo)志和報(bào)文結(jié)束標(biāo)志。
本發(fā)明的有益效果主要表現(xiàn)在本發(fā)明在寫(xiě)操作時(shí)返回?cái)?shù)據(jù)FIFO 的地址,而在讀操作時(shí)給出數(shù)據(jù)FIFO的起始地址,使得每個(gè)報(bào)文分片 在數(shù)據(jù)FIFO中的位置得到明確的標(biāo)識(shí),即使某個(gè)報(bào)文分片在讀寫(xiě)操作 時(shí)發(fā)生錯(cuò)誤,也不會(huì)引起整個(gè)數(shù)據(jù)FIFO發(fā)生混亂,保證后續(xù)報(bào)文緩存 的正確性;再者,本發(fā)明將通道號(hào)隨同數(shù)據(jù)一起寫(xiě)入數(shù)據(jù)FIFO,只管 理一個(gè)數(shù)據(jù)FIFO,便可以緩存多通道數(shù)據(jù),極大地簡(jiǎn)化了實(shí)現(xiàn)的復(fù)雜 度,節(jié)省了邏輯資源。


圖1為本發(fā)明FPGA數(shù)據(jù)緩存的管理中寫(xiě)數(shù)據(jù)FIFO的方法流程圖2為本發(fā)明FPGA數(shù)據(jù)緩存的管理中讀數(shù)據(jù)FIFO的方法流程圖。
具體實(shí)施例方式
下面分別結(jié)合圖l及圖2對(duì)本發(fā)明作進(jìn)一步的描述。
參照?qǐng)D1, FPGA的上游模塊發(fā)送報(bào)文數(shù)據(jù)時(shí),數(shù)據(jù)緩存的管理方 法包括以下步驟
步驟101:寫(xiě)操作模塊判斷控制FIFO和數(shù)據(jù)FIFO是否均非滿, 若兩者均非滿,則表明還能緩存報(bào)文數(shù)據(jù),ii^步驟102;否則,表 明不能從上游模塊接收數(shù)據(jù),再次執(zhí)行步驟101;
步驟102:寫(xiě)操作模塊接收?qǐng)?bào)文數(shù)據(jù),并得到數(shù)據(jù)通道號(hào)、報(bào)文 開(kāi)始標(biāo)志及^R文結(jié)束標(biāo)志;
步驟103:寫(xiě)操作模塊將報(bào)文數(shù)據(jù)按固定長(zhǎng)度劃分得到分片,并 將各個(gè)分片分別連同數(shù)據(jù)通道號(hào)、報(bào)文開(kāi)始標(biāo)志及才艮文結(jié)束標(biāo)志組成 各個(gè)分片數(shù)據(jù);
步驟104:寫(xiě)操作模塊將一分片數(shù)據(jù)全部寫(xiě)入數(shù)據(jù)FIFO,記錄該 分片數(shù)據(jù)的長(zhǎng)度并獲得該分片數(shù)據(jù)在數(shù)據(jù)FIFO中的起始地址;其中, 該起始地址是由數(shù)據(jù)FIFO通過(guò)預(yù)設(shè)的Wr-addr接口傳輸給寫(xiě)操作模塊 的;記錄分片數(shù)據(jù)的長(zhǎng)度是由于報(bào)文的長(zhǎng)度不固定,往往不是劃分時(shí) 設(shè)定的固定長(zhǎng)度的整數(shù)倍,這使得報(bào)文數(shù)據(jù)最后一個(gè)分片的長(zhǎng)度不足 設(shè)定的固定長(zhǎng)度;
步驟105:寫(xiě)操作模塊將該分片數(shù)據(jù)的長(zhǎng)度及其在數(shù)據(jù)FIFO中的 起始地址寫(xiě)入控制FIFO;
步驟106:寫(xiě)操作模塊判斷是否還有分片數(shù)據(jù)需要寫(xiě)入數(shù)據(jù)FIFO, 若是,回到步驟104,否則,結(jié)束流程。
參照?qǐng)D2,從FPGA讀取報(bào)文數(shù)據(jù)時(shí),數(shù)據(jù)緩存的管理方法包括以 下步驟
步驟201:讀操作模塊判斷控制FIFO是否非空,若非空,表示至 少有一個(gè)分片數(shù)據(jù)緩存在數(shù)據(jù)FIFO中,進(jìn)入步驟202;否則,再次執(zhí) 行步驟201;
步驟202:讀操作模塊讀取控制FIFO獲取一分片數(shù)據(jù)的長(zhǎng)度及其 在數(shù)據(jù)FIFO中的起始地址;
步驟203:讀操作模塊根據(jù)讀操作模塊根據(jù)該起始地址通過(guò)預(yù)設(shè) 的Rd-addr接口給出數(shù)據(jù)FIFO的讀地址;
步驟204:讀操作模塊根據(jù)該讀地址對(duì)數(shù)據(jù)FIFO進(jìn)行一次讀操作, 同時(shí)控制FIFO中的初值為0的讀取次數(shù)計(jì)數(shù)器加1;
步驟205:根據(jù)該分片數(shù)據(jù)的長(zhǎng)度及讀取次數(shù)計(jì)數(shù)器的值判斷該 分片數(shù)據(jù)是否讀取完畢,若兩者相同,表示分片數(shù)據(jù)已讀取完畢,回 到步驟201再次進(jìn)行判斷操作;否則,進(jìn)入步驟206;
步驟206:將該讀地址增加l,并回到步驟204。
權(quán)利要求
1、一種現(xiàn)場(chǎng)可編程門(mén)陣列數(shù)據(jù)緩存的管理方法,其特征在于,寫(xiě)數(shù)據(jù)時(shí)包括以下步驟a、寫(xiě)操作模塊將分片數(shù)據(jù)寫(xiě)入數(shù)據(jù)存儲(chǔ)器,記錄所述分片數(shù)據(jù)的長(zhǎng)度并獲得所述分片數(shù)據(jù)在所述數(shù)據(jù)存儲(chǔ)器中的起始地址;b、所述寫(xiě)操作模塊將所述分片數(shù)據(jù)的長(zhǎng)度及其在所述數(shù)據(jù)存儲(chǔ)器中的起始地址寫(xiě)入存儲(chǔ)控制器;讀數(shù)據(jù)時(shí)包括以下步驟A、讀操作模塊讀取所述存儲(chǔ)控制器獲得分片數(shù)據(jù)的長(zhǎng)度及其在所述數(shù)據(jù)存儲(chǔ)器中的起始地址;B、所述讀操作模塊根據(jù)所述起始地址給出所述數(shù)據(jù)存儲(chǔ)器的讀地址后,讀取所述分片數(shù)據(jù)。
2、 如權(quán)利要求1所述的現(xiàn)場(chǎng)可編程門(mén)陣列數(shù)據(jù)緩存的管理方法, 其特征在于寫(xiě)數(shù)據(jù)時(shí),所述起始地址是由所述數(shù)據(jù)存儲(chǔ)器通過(guò)預(yù)設(shè) 接口傳輸給所述寫(xiě)操作才莫塊的。
3、 如權(quán)利要求2所述的現(xiàn)場(chǎng)可編程門(mén)陣列數(shù)據(jù)緩存的管理方法, 其特征在于讀數(shù)據(jù)時(shí),所述數(shù)據(jù)存儲(chǔ)器的讀地址是由所述讀操作模 塊根據(jù)所述起始地址,通過(guò)預(yù)設(shè)接口給出的。
4、 如權(quán)利要求3所述的現(xiàn)場(chǎng)可編程門(mén)陣列數(shù)據(jù)緩存的管理方法, 其特征在于,讀數(shù)據(jù)時(shí),所述步驟B通過(guò)以下步驟實(shí)現(xiàn)(1) 、所述讀操作模塊通過(guò)所述預(yù)設(shè)接口給出所述數(shù)據(jù)存儲(chǔ)器的讀 地址;(2) 、所述讀操作模塊根據(jù)所述讀地址進(jìn)行一次讀操作;(3) 、根據(jù)所述分片數(shù)據(jù)的長(zhǎng)度判斷所述分片數(shù)據(jù)是否已經(jīng)全部讀 出,若已全部讀出,則結(jié)束流程,否則,將所述讀地址加l后回到步 驟(2)。
5、 如4又利要求1至4其中之一所述的現(xiàn)場(chǎng)可編程門(mén)陣列數(shù)據(jù)緩存 的管理方法,其特征在于所述分片數(shù)據(jù)包括按固定長(zhǎng)度劃分報(bào)文數(shù) 據(jù)得到的分片以及數(shù)據(jù)通道號(hào)、^^文開(kāi)始標(biāo)志和^J艮文結(jié)束標(biāo)志。
全文摘要
本發(fā)明公開(kāi)了一種現(xiàn)場(chǎng)可編程門(mén)陣列數(shù)據(jù)緩存的管理方法,寫(xiě)數(shù)據(jù)時(shí),首先,寫(xiě)操作模塊將分片數(shù)據(jù)寫(xiě)入數(shù)據(jù)存儲(chǔ)器,記錄所述分片數(shù)據(jù)的長(zhǎng)度并獲得所述分片數(shù)據(jù)在所述數(shù)據(jù)存儲(chǔ)器中的起始地址;然后,所述寫(xiě)操作模塊將所述分片數(shù)據(jù)的長(zhǎng)度及其在所述數(shù)據(jù)存儲(chǔ)器中的起始地址寫(xiě)入存儲(chǔ)控制器;讀數(shù)據(jù)時(shí),首先,讀操作模塊讀取所述存儲(chǔ)控制器獲得分片數(shù)據(jù)的長(zhǎng)度及其在所述數(shù)據(jù)存儲(chǔ)器中的起始地址;然后,所述讀操作模塊根據(jù)所述起始地址給出所述數(shù)據(jù)存儲(chǔ)器的讀地址后,讀取所述分片數(shù)據(jù)。本發(fā)明所述技術(shù)方案使得每個(gè)報(bào)文分片在數(shù)據(jù)存儲(chǔ)器中的位置得到明確的標(biāo)識(shí)。
文檔編號(hào)G06F12/02GK101187896SQ20071012501
公開(kāi)日2008年5月28日 申請(qǐng)日期2007年12月14日 優(yōu)先權(quán)日2007年12月14日
發(fā)明者邱圣斌 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1