亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種FIFO數(shù)據(jù)均衡輸出方法及其輸出裝置與流程

文檔序號(hào):11917449閱讀:349來源:國知局
一種FIFO數(shù)據(jù)均衡輸出方法及其輸出裝置與流程

本發(fā)明涉及通信領(lǐng)域,尤其涉及一種FIFO數(shù)據(jù)均衡輸出方法及其輸出裝置。



背景技術(shù):

在通信領(lǐng)域,F(xiàn)IFO(First In First Output先進(jìn)先出)應(yīng)用非常廣泛,它的主要作用是實(shí)現(xiàn)數(shù)據(jù)的緩存、跨時(shí)鐘域數(shù)據(jù)傳遞以及數(shù)據(jù)解包和封包處理等。

FIFO的工作原理具體為:輸入數(shù)據(jù)在寫入時(shí)鐘域里根據(jù)寫使能信號(hào)寫入到FIFO內(nèi)部;在讀出時(shí)鐘域作用下,根據(jù)讀使能信號(hào)輸出數(shù)據(jù),輸出數(shù)據(jù)的順序與寫入順序有關(guān);先寫入的數(shù)據(jù),先讀出(即先進(jìn)先出)。

在實(shí)際的FIFO模塊中,為避免數(shù)據(jù)溢出或者讀出無效數(shù)據(jù),還需要根據(jù)FIFO內(nèi)部存儲(chǔ)數(shù)據(jù)的多少,輸出空滿信號(hào)或快空快滿信號(hào),用以反映FIFO的內(nèi)部存貯空間剩余量。

其中,空信號(hào)、快空信號(hào)可以表示FIFO存貯數(shù)據(jù)沒有了或快沒有了,此時(shí)停止進(jìn)行讀操作以避免讀出無效數(shù)據(jù)。滿信號(hào)、快滿信號(hào)表示FIFO存貯數(shù)據(jù)滿了或快滿了,此時(shí)停止進(jìn)行寫操作以避免數(shù)據(jù)溢出。

一般的,數(shù)據(jù)寫到FIFO后,讀信號(hào)主要是由FIFO的空信號(hào)或快空信號(hào)控制。當(dāng)FIFO空或快空信號(hào)指示有效,此時(shí)禁止讀FIFO;否則讀出FIFO數(shù)據(jù)。在實(shí)際中,從FIFO讀出的數(shù)據(jù)由于缺口時(shí)鐘的原因不會(huì)是一直有效的,而是帶缺口的,即存在數(shù)據(jù)有效指示信號(hào)。

由此,若采用這樣的數(shù)據(jù)讀取方式,如圖1所示,從FIFO輸出的有效信號(hào)和無效信號(hào)呈現(xiàn)連續(xù)變化,即在一段很長的時(shí)間內(nèi)FIFO的輸出數(shù)據(jù)是有效的;在很長一段時(shí)間內(nèi)是無效的,而不是有效無效信號(hào)間隔變化。也就是說從FIFO輸出的數(shù)據(jù)并不是均勻的,不能均衡輸出。

為了適應(yīng)這種非均衡輸出,下游處理必須采用比較深的緩存空間存貯數(shù)據(jù)以能吸收掉比較大的缺口。由于采用大的緩存器,數(shù)據(jù)延時(shí)會(huì)相應(yīng)增大,特別是在級(jí)聯(lián)多級(jí)存貯器的情況下,非常明顯。但多級(jí)FIFO串聯(lián)使用是非常普遍的。下游級(jí)聯(lián)的每個(gè)FIFO存貯空間更大,消耗的存貯資源會(huì)增加更多,增加的功耗也會(huì)更大。

因此,現(xiàn)有技術(shù)還有待發(fā)展。



技術(shù)實(shí)現(xiàn)要素:

鑒于上述現(xiàn)有技術(shù)的不足之處,本發(fā)明的目的在于提供一種FIFO數(shù)據(jù)均衡輸出方法及其輸出裝置,旨在解決現(xiàn)有技術(shù)中FIFO非均衡輸出的問題。

為了達(dá)到上述目的,本發(fā)明采取了以下技術(shù)方案:

一種FIFO數(shù)據(jù)均衡輸出方法,其中,包括:

根據(jù)所述寫入數(shù)據(jù)速率和讀取數(shù)據(jù)的讀時(shí)鐘頻率和讀取數(shù)據(jù)位寬,計(jì)算輸出數(shù)據(jù)有效信號(hào)比值;

化簡獲得所述輸出數(shù)據(jù)有效信號(hào)比值為最簡不可約分?jǐn)?shù);

根據(jù)所述最簡不可約分?jǐn)?shù),獲取FIFO的讀取使能信號(hào)以及輸出數(shù)據(jù)指示信號(hào)。

所述的方法,其中,所述根據(jù)所述最簡不可約分?jǐn)?shù),獲取FIFO的讀取使能信號(hào)以及輸出數(shù)據(jù)指示信號(hào),具體包括:

輸出FIFO的讀取啟動(dòng)信號(hào);

根據(jù)最簡不可約分?jǐn)?shù)分別計(jì)算用于指示時(shí)鐘周期是否可以讀出數(shù)據(jù)的讀窗口指示信號(hào)以及讀取數(shù)據(jù)是否有效的讀數(shù)據(jù)有效窗口指示信號(hào);

將所述讀取啟動(dòng)信號(hào)與所述讀窗口指示信號(hào)進(jìn)行與,獲得FIFO的讀使能信號(hào);

將所述讀取啟動(dòng)信號(hào)與所述讀數(shù)據(jù)有效窗口指示信號(hào)進(jìn)行與,獲得FIFO讀數(shù)據(jù)有效指示信號(hào)。

所述的方法,其中,所述根據(jù)最簡不可約分?jǐn)?shù)計(jì)算用于指示時(shí)鐘周期是否可以讀出數(shù)據(jù)的讀窗口指示信號(hào),具體包括:

設(shè)所述最簡不可約分?jǐn)?shù)為n/m,n和m均為正整數(shù);j為時(shí)鐘周期,j在1到m之間取值;

所述讀窗口指示信號(hào)用于指示在第j個(gè)時(shí)鐘周期是否讀取數(shù)據(jù):

當(dāng)j×n mod m<n時(shí),表示第j個(gè)時(shí)鐘周期讀取數(shù)據(jù);

當(dāng)j×n mod m≥n時(shí),表示第j個(gè)時(shí)鐘周期不讀取數(shù)據(jù)。

所述的方法,其中,所述根據(jù)最簡不可約分?jǐn)?shù)計(jì)算讀數(shù)據(jù)有效窗口指示信號(hào),具體包括:

設(shè)所述最簡不可約分?jǐn)?shù)為n/m,n和m均為正整數(shù);j為時(shí)鐘周期,j在1到m之間取值;

所述讀數(shù)據(jù)有效窗口指示信號(hào)用于指示在第m個(gè)時(shí)鐘周期,第j個(gè)時(shí)鐘指示輸出數(shù)據(jù)是否有效:

當(dāng)j×n mod m<n時(shí),表示輸出數(shù)據(jù)有效;

當(dāng)j×n mod m≥n時(shí),表示輸出數(shù)據(jù)無效。

所述的方法,其中,所述根據(jù)所述寫入數(shù)據(jù)速率和讀取數(shù)據(jù)速率,計(jì)算輸出數(shù)據(jù)有效信號(hào)比值,具體包括:

通過計(jì)算寫入數(shù)據(jù)的寫時(shí)鐘頻率、寫入數(shù)據(jù)位寬以及寫入數(shù)據(jù)有效信號(hào)指示的乘積,獲取寫入數(shù)據(jù)速率;

令寫入數(shù)據(jù)速率與讀時(shí)鐘頻率和讀取數(shù)據(jù)位寬的乘積相除,獲得輸出數(shù)據(jù)有效信號(hào)比值。

一種FIFO數(shù)據(jù)均衡輸出裝置,其中,包括:

FIFO模塊,用于根據(jù)控制信號(hào),輸入數(shù)據(jù)至FIFO中和從FIFO中讀取數(shù)據(jù);

讀使能均衡模塊,用于根據(jù)所述寫入數(shù)據(jù)速率和讀取數(shù)據(jù)的讀時(shí)鐘頻率和讀取數(shù)據(jù)位寬,計(jì)算輸出數(shù)據(jù)有效信號(hào)比值;化簡獲得所述輸出數(shù)據(jù)有效信號(hào)比值為最簡不可約分?jǐn)?shù);根據(jù)所述最簡不可約分?jǐn)?shù),獲取FIFO的讀取使能信號(hào)以及輸出數(shù)據(jù)指示信號(hào);

讀信號(hào)生成模塊,用于輸出與讀使能均衡模塊對(duì)應(yīng)的讀取控制信號(hào),提供給所述FIFO模塊。

所述的裝置,其中,所述讀信號(hào)生成模塊具體用于:輸出FIFO的讀取啟動(dòng)信號(hào);

所述讀使能均衡模塊具體用于:根據(jù)最簡不可約分?jǐn)?shù)分別計(jì)算用于指示時(shí)鐘周期是否可以讀出數(shù)據(jù)的讀窗口指示信號(hào)以及讀取數(shù)據(jù)是否有效的讀數(shù)據(jù)有效窗口指示信號(hào);

所述讀信號(hào)生成模塊,具體用于:將所述讀取啟動(dòng)信號(hào)與所述讀窗口指示信號(hào)進(jìn)行與,獲得FIFO的讀使能信號(hào);

將所述讀取啟動(dòng)信號(hào)與所述讀數(shù)據(jù)有效窗口指示信號(hào)進(jìn)行與,獲得FIFO讀數(shù)據(jù)有效指示信號(hào)。

所述的裝置,其中,所述讀窗口指示信號(hào)具體為:設(shè)所述最簡不可約分?jǐn)?shù)為n/m,n和m均為正整數(shù);j為時(shí)鐘周期,j在1到m之間取值;

所述讀窗口指示信號(hào)用于指示在第j個(gè)時(shí)鐘周期是否讀取數(shù)據(jù):

當(dāng)j×n mod m<n時(shí),表示第j個(gè)時(shí)鐘周期讀取數(shù)據(jù);

當(dāng)j×n mod m≥n時(shí),表示第j個(gè)時(shí)鐘周期不讀取數(shù)據(jù)。

所述的裝置,其中,所述讀數(shù)據(jù)有效窗口指示信號(hào)具體為:

設(shè)所述最簡不可約分?jǐn)?shù)為n/m,n和m均為正整數(shù);j為時(shí)鐘周期,j在1到m之間取值;

所述讀數(shù)據(jù)有效窗口指示信號(hào)用于指示在第m個(gè)時(shí)鐘周期,第j個(gè)時(shí)鐘指示輸出數(shù)據(jù)是否有效:

當(dāng)j×n mod m<n時(shí),表示輸出數(shù)據(jù)有效;

當(dāng)j×n mod m≥n時(shí),表示輸出數(shù)據(jù)無效。

所述的裝置,其中,所述讀使能均衡模塊具體用于:通過計(jì)算寫入數(shù)據(jù)的寫時(shí)鐘頻率、寫入數(shù)據(jù)位寬以及寫入數(shù)據(jù)有效信號(hào)指示的乘積,獲取寫入數(shù)據(jù)速率;令寫入數(shù)據(jù)速率與讀時(shí)鐘頻率和讀取數(shù)據(jù)位寬的乘積相除,獲得輸出數(shù)據(jù)有效信號(hào)比值。

有益效果:本發(fā)明提供的一種FIFO數(shù)據(jù)均衡輸出方法及其裝置,令FIFO的輸出數(shù)據(jù)實(shí)現(xiàn)均衡輸出,減小下游需要的存儲(chǔ)器,從而節(jié)省資源。另外,由于存儲(chǔ)器空間減小了,也相應(yīng)的減低了數(shù)據(jù)的延遲。尤是在數(shù)據(jù)網(wǎng)絡(luò)傳輸中,對(duì)傳輸延時(shí)敏感的應(yīng)用,例如說話音,無線通信等,可以保證傳輸敏感應(yīng)用在數(shù)據(jù)網(wǎng)絡(luò)中可靠低延時(shí)傳輸。

附圖說明

圖1為現(xiàn)有的FIFO數(shù)據(jù)的非均衡輸出示意圖;

圖2為本發(fā)明實(shí)施例提供的FIFO數(shù)據(jù)均衡輸出方法的方法流程圖;

圖3為本發(fā)明實(shí)施例提供的生成讀窗口指示信號(hào)和讀數(shù)據(jù)有效窗口指示信號(hào)的示意圖;

圖4為本發(fā)明實(shí)施例提供的FIFO數(shù)據(jù)均衡輸出裝置的結(jié)構(gòu)框圖;

圖5為本發(fā)明實(shí)施例提供的FIFO數(shù)據(jù)的均衡輸出示意圖。

具體實(shí)施方式

本發(fā)明提供一種FIFO數(shù)據(jù)均衡輸出方法及其裝置。為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

圖2為本發(fā)明實(shí)施例提供的FIFO數(shù)據(jù)均衡輸出方法。如圖2所示,該方法包括如下步驟:

100:根據(jù)所述寫入數(shù)據(jù)速率和讀取數(shù)據(jù)的讀時(shí)鐘頻率和讀取數(shù)據(jù)位寬,計(jì)算輸出數(shù)據(jù)有效信號(hào)比值。

具體的,該寫入數(shù)據(jù)速率是指FIFO模塊的數(shù)據(jù)寫入速率,其單位為比特每秒(bps)。該寫入速率可以通過如下公式計(jì)算:

Sinput=validinput×bitlengthinput×clockinput

其中,Sinput為寫入數(shù)據(jù)速率,validinput為寫入數(shù)據(jù)有效信號(hào)指示,bitlengthinput為寫入數(shù)據(jù)位寬,clockinput為寫入時(shí)鐘頻率。

相對(duì)應(yīng)地,輸出信號(hào)有效信號(hào)比值可以通過如下算式計(jì)算:

Vaildoutput=Sinput/(clockoutput×bitlengthoutput)

其中,Vaildoutput為輸出信號(hào)有效信號(hào)比值,clockoutput為讀取時(shí)鐘頻率,bitlengthoutput為讀取數(shù)據(jù)位寬。

在一些實(shí)施例中,寫入數(shù)據(jù)位寬和讀取數(shù)據(jù)位寬是一致的,因此,該輸出數(shù)據(jù)有效信號(hào)比值可以將寫入數(shù)據(jù)位寬和讀取數(shù)據(jù)位寬約分,進(jìn)一步化簡。

200:化簡獲得所述輸出數(shù)據(jù)有效信號(hào)比值為最簡不可約分?jǐn)?shù)。

所述最簡不可約分?jǐn)?shù)是指令分子分母均為不可繼續(xù)約分的正整數(shù),例如當(dāng)所述輸出數(shù)據(jù)有效信號(hào)比值的結(jié)果是4/10??梢越?jīng)過化簡后得到2/5,分子和分母是最小不可約正整數(shù),n是2,m是5,化簡結(jié)束。

300:根據(jù)所述最簡不可約分?jǐn)?shù),獲取FIFO的讀取使能信號(hào)以及輸出數(shù)據(jù)指示信號(hào)。

具體的,根據(jù)獲取的最簡不可約分?jǐn)?shù),可以計(jì)算確定用于指示時(shí)鐘周期是否可以讀出數(shù)據(jù)的讀窗口指示信號(hào)(310)以及讀取數(shù)據(jù)是否有效的讀數(shù)據(jù)有效窗口指示信號(hào)(320)。

設(shè)所述最簡不可約分?jǐn)?shù)為n/m,n和m均為正整數(shù);j為時(shí)鐘周期,j在1到m之間取值;

對(duì)于讀窗口指示信號(hào),其用于指示在第j個(gè)時(shí)鐘周期是否讀取數(shù)據(jù):

當(dāng)j×n mod m<n時(shí),表示第j個(gè)時(shí)鐘周期讀取數(shù)據(jù);

當(dāng)j×n mod m≥n時(shí),表示第j個(gè)時(shí)鐘周期不讀取數(shù)據(jù)。

而對(duì)于讀數(shù)據(jù)有效窗口指示信號(hào):其用于指示在第m個(gè)時(shí)鐘周期,第j個(gè)時(shí)鐘指示輸出數(shù)據(jù)是否有效:

當(dāng)j×n mod m<n時(shí),表示輸出數(shù)據(jù)有效;

當(dāng)j×n mod m≥n時(shí),表示輸出數(shù)據(jù)無效。

在具體的FIFO運(yùn)行過程中:FIFO啟動(dòng)時(shí)候,先進(jìn)行FIFO寫操作,講輸入到FIFO的數(shù)據(jù)在寫時(shí)鐘以及數(shù)據(jù)有效信號(hào)的作用下,寫入到FIFO。FIFO復(fù)位的時(shí)候,F(xiàn)IFO的內(nèi)部數(shù)據(jù)存貯指示為0,F(xiàn)IFO為空,表示FIFO可以將輸入數(shù)據(jù)寫入到FIFO內(nèi)部。待開始進(jìn)行FIFO的寫入操作之后,此時(shí)還不能允許FIFO讀操作,待FIFO的內(nèi)部數(shù)據(jù)存貯指示值為FIFO深度一半時(shí)候,開始允許FIFO進(jìn)行讀操作,此時(shí)產(chǎn)生FIFO的讀取啟動(dòng)信號(hào)(350)。

為實(shí)現(xiàn)如圖5所示的FIFO均衡輸出,可以將所述讀取啟動(dòng)信號(hào)與所述讀窗口指示信號(hào)進(jìn)行與,獲得如圖3所示的FIFO的讀使能信號(hào)(330);以及將所述讀取啟動(dòng)信號(hào)與所述讀數(shù)據(jù)有效窗口指示信號(hào)進(jìn)行與,獲得如圖3所示的FIFO的讀數(shù)據(jù)有效指示信號(hào)(340)。

圖4為本發(fā)明實(shí)施例提供的FIFO數(shù)據(jù)均衡輸出裝置。如圖4所示,該裝置包括:FIFO模塊100、讀使能均衡模塊200以及讀信號(hào)生成模塊300。

其中,F(xiàn)IFO模塊100用于根據(jù)控制信號(hào),輸入數(shù)據(jù)至FIFO中和從FIFO中讀取數(shù)據(jù)。讀使能均衡模塊200用于根據(jù)所述寫入數(shù)據(jù)速率和讀取數(shù)據(jù)的讀時(shí)鐘頻率和讀取數(shù)據(jù)位寬,計(jì)算輸出數(shù)據(jù)有效信號(hào)比值;化簡獲得所述輸出數(shù)據(jù)有效信號(hào)比值為最簡不可約分?jǐn)?shù);根據(jù)所述最簡不可約分?jǐn)?shù),獲取FIFO的讀取使能信號(hào)以及輸出數(shù)據(jù)指示信號(hào)。讀信號(hào)生成模塊300用于輸出與讀使能均衡模塊對(duì)應(yīng)的讀取控制信號(hào),提供給所述FIFO模塊。

具體的,所述讀信號(hào)生成模塊具體用于:輸出FIFO的讀取啟動(dòng)信號(hào)。所述讀使能均衡模塊具體用于:根據(jù)最簡不可約分?jǐn)?shù)分別計(jì)算用于指示時(shí)鐘周期是否可以讀出數(shù)據(jù)的讀窗口指示信號(hào)以及讀取數(shù)據(jù)是否有效的讀數(shù)據(jù)有效窗口指示信號(hào);

更具體的,所述讀信號(hào)生成模塊300具體用于:將所述讀取啟動(dòng)信號(hào)與所述讀窗口指示信號(hào)進(jìn)行與,獲得FIFO的讀使能信號(hào);將所述讀取啟動(dòng)信號(hào)與所述讀數(shù)據(jù)有效窗口指示信號(hào)進(jìn)行與,獲得FIFO讀數(shù)據(jù)有效指示信號(hào)。

更具體的,所述讀使能均衡模塊具體用于:通過計(jì)算寫入數(shù)據(jù)的寫時(shí)鐘頻率、寫入數(shù)據(jù)位寬以及寫入數(shù)據(jù)有效信號(hào)指示的乘積,獲取寫入數(shù)據(jù)速率;令寫入數(shù)據(jù)速率與讀時(shí)鐘頻率和讀取數(shù)據(jù)位寬的乘積相除,獲得輸出數(shù)據(jù)有效信號(hào)比值。

可以理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)本發(fā)明的技術(shù)方案及本發(fā)明構(gòu)思加以等同替換或改變,而所有這些改變或替換都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1