欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)漠惒较冗M先出存儲器及方法

文檔序號:6463029閱讀:278來源:國知局
專利名稱:一種實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)漠惒较冗M先出存儲器及方法
技術(shù)領(lǐng)域
本發(fā)明涉及通用緩沖存儲器領(lǐng)域,尤其涉及一種實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)漠?步先進先出存儲器及方法。
背景技術(shù)
在計算機、通信領(lǐng)域的各類應用中,經(jīng)常需要進行不同時鐘域之間的數(shù)據(jù) 傳輸。如果是多比特數(shù)據(jù)的傳輸,為了保證異步時鐘域之間傳輸時數(shù)據(jù)的完整性, 一種通用的方法是使用異步先進先出(First I叩ut First Out, FIFO )存儲 器。這種存儲器的特征是利用雙端口隨機存儲器RAM作為存儲單元,讀/寫端 各自的時鐘域完全異步,如圖1所示,圖1為現(xiàn)有異步FIFO存儲器的工作原 理示意圖。寫邏輯發(fā)出寫使能信號,表示可以寫入,寫邏輯同時給出寫地址,寫入數(shù) 據(jù)根據(jù)寫地址將數(shù)據(jù)寫入數(shù)據(jù)緩存。寫邏輯在給出寫地址時,寫地址經(jīng)過時鐘穿越,到達讀邏輯。同時,讀邏輯給出讀使能信號后,也給出讀地址,外部命 令根據(jù)該讀地址將數(shù)據(jù)讀出。該讀地址經(jīng)過時鐘穿越,到達寫邏輯,寫邏輯對 寫地址和讀地址進行比較后,判斷是否可以繼續(xù)寫入數(shù)據(jù),如果已寫滿,則發(fā) 出滿信號。讀邏輯也對讀地址和寫地址進行比較后,判斷是否還能夠讀出數(shù)據(jù),如果不能讀出,則發(fā)出空信號。讀邏輯和寫邏輯分別由讀時鐘和寫時鐘控制。 這樣,讀和寫的地址指針分別進行時鐘域穿越,在寫邏輯和讀邏輯中分別對寫 地址和讀地址的相對位置進行邏輯比較,從而保證了數(shù)據(jù)緩存的同時寫入和讀 出不會造成數(shù)據(jù)丟失和重復。如圖2所示,圖2為現(xiàn)有異步FIFO存儲器的讀/寫地址的相對位置示意圖。 圖2中的數(shù)據(jù)緩存容量為m*n,其中n為數(shù)據(jù)寬度,m為地址空間。這種設計 方法中,讀/寫兩端邏輯的地址指針范圍完全相同,都是O到m-l,讀和寫數(shù) 據(jù)的寬度也一致,都是n比特。如果數(shù)據(jù)不僅需要穿越異步時鐘域,而且讀/寫端數(shù)據(jù)的寬度需求不一致,例如寫時鐘域中的數(shù)據(jù)寬度為16bit,而讀時鐘域的讀出寬度為8bit,則需要 額外進行數(shù)據(jù)寬度的轉(zhuǎn)換,如圖3所示。圖3為現(xiàn)有異步FIFO存儲器的數(shù)據(jù) 寬度轉(zhuǎn)換示意圖,要實現(xiàn)不等寬度數(shù)據(jù)的讀/寫需要添加寬度變換邏輯,寬度 變換邏輯可以放在寫時鐘域進行寬度轉(zhuǎn)換,也可以在讀時鐘域中進行寬度轉(zhuǎn) 換。也就是說,現(xiàn)有的異步FIFO不能實現(xiàn)直接讀/寫不等寬的數(shù)據(jù)。發(fā)明內(nèi)容為了解決上述問題,本發(fā)明提供了 一種實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)漠惒较冗M先 出存儲器,包括數(shù)據(jù)緩存單元,所述數(shù)據(jù)緩存單元中的數(shù)據(jù)基本單元為讀出數(shù)據(jù)寬度和寫 入數(shù)據(jù)寬度的公倍數(shù);寫地址計算模塊,用于根據(jù)寫入數(shù)據(jù)寬度計算當前寫地址對應于所述數(shù)據(jù) 緩存中的具體位置;讀地址計算模塊,用于根據(jù)讀出數(shù)據(jù)寬度計算當前讀地址對應于所述數(shù)據(jù) 緩存中的具體位置;讀/寫判斷模塊,用于根據(jù)所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體 位置和所述當前讀地址對應于數(shù)據(jù)緩存中的具體位置確定讀/寫使能。所述數(shù)據(jù)緩存單元為寄存器形式的數(shù)據(jù)緩存元件。所述當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置=當前讀地址x讀出數(shù) 據(jù)寬度,所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置=當前寫地址x寫入數(shù) 據(jù)寬度。所述讀出數(shù)據(jù)和寫入數(shù)據(jù)的寬度為任意值。所述數(shù)據(jù)基本單元為讀出數(shù)據(jù)寬度和寫入數(shù)據(jù)寬度的最小公倍數(shù)。所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置減去所述當前讀地址 對應于所述數(shù)據(jù)緩存中的具體位置得到的值大于等于讀出數(shù)據(jù)寬度,則從數(shù)據(jù) 緩存單元將數(shù)據(jù)讀出,所述數(shù)據(jù)緩存單元的容量減去所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置再加上所述當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置得到的值 大于等于寫入數(shù)據(jù)寬度,則將數(shù)據(jù)寫入所述數(shù)據(jù)緩存單元。本發(fā)明還提供了一種異步先進先出存儲器實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)姆椒?,?述異步先進先出存儲器包括數(shù)據(jù)緩存單元,所述數(shù)據(jù)緩存單元中的數(shù)據(jù)基本單 元為讀出數(shù)據(jù)寬度和寫入數(shù)據(jù)寬度的公倍數(shù),所述不等寬數(shù)據(jù)傳輸?shù)姆椒òǜ鶕?jù)寫入數(shù)據(jù)寬度計算當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置的 步驟;根據(jù)讀出數(shù)據(jù)寬度計算當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置的 步驟;根據(jù)所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置和所述當前讀地 址對應于數(shù)據(jù)緩存中的具體位置確定讀使能和寫使能的步驟。所述當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置=當前讀地址x讀出數(shù) 據(jù)寬度,所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置=當前寫地址x寫入數(shù) 據(jù)寬度。所述數(shù)據(jù)基本單元為讀出數(shù)據(jù)寬度和寫入數(shù)據(jù)寬度的最小公倍數(shù)。所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置減去所述當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置得到的值大于等于讀出數(shù)據(jù)寬度,則從數(shù)據(jù)緩存單元將數(shù)據(jù)讀出,所述數(shù)據(jù)緩存單元的容量減去所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置再加上所述當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置得到的值大于等于寫入數(shù)據(jù)寬度,則將數(shù)據(jù)寫入所述數(shù)據(jù)緩存單元。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果本發(fā)明的異步FIFO存儲器允許異步FIFO傳輸?shù)耐瑫r,無須額外級聯(lián)寬 度轉(zhuǎn)換邏輯,直接在讀和寫邏輯中計算出不同寬度的讀/寫數(shù)據(jù)的具體地址, 并進行邏輯判斷。因此,允許讀/寫兩端數(shù)據(jù)分別為任意寬度,從而克服了現(xiàn) 有異步FIFO讀/寫兩端數(shù)據(jù)寬度必須一致的限制,能夠在異步時鐘穿越的同時 進行數(shù)據(jù)寬度轉(zhuǎn)換,從而簡化了系統(tǒng)設計,使異步時鐘域的數(shù)據(jù)傳輸更加靈活6高效,提高了數(shù)據(jù)傳輸?shù)目傮w效率。


圖1為現(xiàn)有異步FIFO存儲器的工作原理示意圖;圖2為現(xiàn)有異步FIFO存儲器的讀/寫地址的相對位置示意圖;圖3為現(xiàn)有異步FIFO存儲器的數(shù)據(jù)寬度轉(zhuǎn)換示意圖;圖4為本發(fā)明的異步FIFO存儲器工作原理示意圖;圖5為本發(fā)明的異步FIFO存儲器的數(shù)據(jù)基本單元地址劃分示意圖。
具體實施方式
本發(fā)明對寫邏輯和讀邏輯的功能進行了改進,使異步FIFO存儲器的讀/ 寫地址指針分別對應不同寬度的數(shù)據(jù)緩存地址空間,并分別在寫邏輯和讀邏輯 中將讀和寫地址轉(zhuǎn)換成為數(shù)據(jù)緩存中對應的地址,從而實現(xiàn)了不等寬數(shù)據(jù)的異步時鐘域傳輸。下面結(jié)合附圖對本發(fā)明的具體實施方式
作進一步詳細說明。如圖4所示,圖4為本發(fā)明的異步FIFO存儲器工作原理示意圖,假設寫 入數(shù)據(jù)寬度為x,讀出數(shù)據(jù)寬度為y,且x^y。圖4所示的異步FIFO基本結(jié)構(gòu)與圖2相同,但利用圖4所示的工作原理 圖可以直接實現(xiàn)寫入數(shù)據(jù)的寬度為x,讀出數(shù)據(jù)的寬度y,而不必進行額外的 寬度轉(zhuǎn)換。為了實現(xiàn)這一點,且保證數(shù)據(jù)讀/寫正確性,對FIFO的寫邏輯、讀 邏輯及數(shù)據(jù)緩存和讀/寫地址進行如下設計。數(shù)據(jù)緩存采用寄存器形式的數(shù)據(jù)緩存元件,以實現(xiàn)以比特為單位進行數(shù)據(jù) 的讀/寫。將當前寫地址定義為第 一寫地址,將當前寫地址對應于數(shù)據(jù)緩存中的具體 位置定義為第二寫地址。將當前讀地址定義為第一讀地址,將當前讀地址對應 于數(shù)據(jù)緩存中的具體位置定義為第二讀地址。每個寫地址對應的數(shù)據(jù)寬度為x,地址空間為0到y(tǒng)- 1,每個讀地址對應 的數(shù)據(jù)寬度為y,地址空間為0到x - 1 。本發(fā)明的異步FIFO存儲器包括寫地址計算模塊、讀地址計算模塊、寫判斷模塊及讀判斷模塊。如圖5所示,圖5為本發(fā)明的異步FIFO存儲器的數(shù)據(jù)基本單元地址劃分 示意圖。々I設x和y互素,即沒有公因子,則該基本單元的比特數(shù)為x*y,深 度根據(jù)應用需要而定,對每個基本單元的讀/寫不會產(chǎn)生影響,如果深度設為q, 則數(shù)據(jù)緩存的容量為q*x*y。舉例來說,x為3比特,y為5比特,寄存器的容量為M,則M為15*q 比特。寫邏輯的寫地址計算模塊收到寫命令后,首先計算出當前寫地址對應于 數(shù)據(jù)緩存中的具體位置,比如其當前寫地址是w,那么該當前寫地址對應于數(shù) 據(jù)緩存中的具體位置應該是3 x w。讀邏輯的讀地址產(chǎn)生模塊收到讀命令后,計算出當前讀地址對應于數(shù)據(jù)緩 存中的具體位置,按照上面的假設,其當前讀地址是r,那么該當前讀地址對 應于數(shù)據(jù)緩存中的具體位置是5 x r。寫入數(shù)據(jù)寬度是3,則寫的區(qū)間是[3w, 3w+2],然后,寫邏輯的寫判斷模 塊將第二寫地址和讀邏輯的第二讀地址進行比較,判斷是否可以寫入,即,要 判斷是否有寫入的區(qū)間[3w, 3w+2]。第二讀地址為5r,第二寫地址為3w,且5r《3w,那么,如果M-3w+5r >3,則有寫的空間,即可以將3比特的數(shù)據(jù)寫入數(shù)據(jù)緩存。反之,寫邏輯輸 出滿控制信號,表示數(shù)據(jù)緩存已滿,無法寫入。當寫邏輯再次收到寫命令,將重復以上過程,寫入數(shù)據(jù)緩存3比特的數(shù)據(jù), 或拒絕寫入。讀出數(shù)據(jù)寬度是5,則要讀出的數(shù)據(jù)緩存區(qū)間是[5r, 5r+4]。讀判斷模塊 將第二讀出地址和寫邏輯的第二寫地址進行比較,判斷是否可以讀出,即是否 存在數(shù)據(jù)緩存區(qū)間[5r, 5r+4]。第二讀地址為5r,第二寫地址為3w,且5r《3w,那么,如果3w-5r》5, 即有讀的數(shù)據(jù)緩存區(qū)間[5r, 5r+4],則從數(shù)據(jù)緩存讀出5比特的數(shù)據(jù),反之, 讀邏輯輸出空控制信號,表示超出了數(shù)據(jù)緩存的范圍,或者超出了寫地址的范 圍,都是無法讀出的。當讀邏輯再次收到讀命令,將重復以上過程,從數(shù)據(jù)緩存讀出5比特的數(shù)據(jù)。本發(fā)明利用以下方法實現(xiàn)異步FIFO的不等寬凄t據(jù)傳輸按照上文的假設,第一寫地址是w,數(shù)據(jù)寬度是3,那么第二寫地址應該 是3xw,寫的區(qū)間是[3w, 3w+2]。第一讀地址是r,數(shù)據(jù)寬度是5,那么第二讀地址為5xr,則要讀出的數(shù) 據(jù)緩存區(qū)間是[5r, 5r+4]。計算出的第二讀地址進行時鐘穿越,告知寫邏輯,計算出的第二寫地址進 行時鐘穿越,告知讀邏輯。第二讀地址為5r,第二寫地址為3w,且5r《3w,那么,如果M-3w+5r >3,則有寫的空間,即可以將3比特的數(shù)據(jù)寫入數(shù)據(jù)緩存。反之,寫邏輯輸 出滿控制信號,表示數(shù)據(jù)緩存已滿,無法寫入。第二讀地址為5r,第二寫地址為3w,且5r《3w,那么,如果3w-5r》5, 即有讀的數(shù)據(jù)緩存區(qū)間[5r, 5r+4],則從數(shù)據(jù)緩存讀出5比特的數(shù)據(jù),反之, 讀邏輯輸出空控制信號,表示超出了數(shù)據(jù)緩存的范圍,或者超出了寫地址的范 圍,都是無法讀出的。上文所舉的例子中,讀/寫數(shù)據(jù)的寬度互素,當然也可以有公因子,例如, 寫入數(shù)據(jù)寬度為32比特,讀出數(shù)據(jù)寬度為12比特時,數(shù)據(jù)緩沖的容量至少應 為96比特,即,按照上文中的假設,(1) 當讀/寫數(shù)據(jù)寬度互素時,數(shù)據(jù)緩存的容量為深度乘寫入數(shù)據(jù)寬度乘讀 出數(shù)據(jù)寬度,即M-qxwxr;(2) 當讀/寫數(shù)據(jù)有公因子時,數(shù)據(jù)緩存的容量為深度乘寫入數(shù)據(jù)寬度和讀出數(shù)據(jù)寬度的最小公倍數(shù)。讀/寫地址的寬度可以為任意值,可以是一個字節(jié)或一個字的寬度,或者是一個字節(jié)或一個字的寬度的整數(shù)倍。以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術(shù)領(lǐng)域的普通 技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾, 這些改進和潤飾也應^L為本發(fā)明的保護范圍。9
權(quán)利要求
1.一種實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)漠惒较冗M先出存儲器,其特征在于,包括數(shù)據(jù)緩存單元,所述數(shù)據(jù)緩存單元中的數(shù)據(jù)基本單元為讀出數(shù)據(jù)寬度和寫入數(shù)據(jù)寬度的公倍數(shù);寫地址計算模塊,用于根據(jù)寫入數(shù)據(jù)寬度計算當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置;讀地址計算模塊,用于根據(jù)讀出數(shù)據(jù)寬度計算當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置;讀/寫判斷模塊,用于根據(jù)所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置和所述當前讀地址對應于數(shù)據(jù)緩存中的具體位置確定讀/寫使能。
2. 如權(quán)利要求1所述的實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)漠惒较冗M先出存儲器,其 特征在于,所述數(shù)據(jù)緩存單元為寄存器形式的數(shù)據(jù)緩存元件。
3. 如權(quán)利要求1所述的實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)漠惒较冗M先出存儲器,其 特征在于,所述當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置=當前讀地址x讀出數(shù) 據(jù)寬度,所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置=當前寫地址x寫入數(shù) 據(jù)寬度。
4. 如權(quán)利要求1所述的實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)漠惒较冗M先出存儲器,其 特征在于,所述讀出數(shù)據(jù)和寫入數(shù)據(jù)的寬度為任意值。
5. 如權(quán)利要求4所述的實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)漠惒较冗M先出存儲器,其 特征在于,所述數(shù)據(jù)基本單元為讀出數(shù)據(jù)寬度和寫入數(shù)據(jù)寬度的最小公倍數(shù)。
6. 如權(quán)利要求1所述的實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)漠惒较冗M先出存儲器,其 特征在于,所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置減去所述當前讀 地址對應于所述數(shù)據(jù)緩存中的具體位置得到的值大于等于讀出數(shù)據(jù)寬度,則從 數(shù)據(jù)緩存單元將數(shù)據(jù)讀出,所述數(shù)據(jù)緩存單元的容量減去所述當前寫地址對應于所述數(shù)據(jù)緩存中的 具體位置再加上所述當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置得到的值頁大于等于寫入數(shù)據(jù)寬度,則將數(shù)據(jù)寫入所述數(shù)據(jù)緩存單元。
7. —種異步先進先出存儲器實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)姆椒?,其特征在于?所述異步先進先出存儲器包括數(shù)據(jù)緩存單元,所述數(shù)據(jù)緩存單元中的數(shù)據(jù)基本 單元為讀出數(shù)據(jù)寬度和寫入數(shù)據(jù)寬度的公倍數(shù),所述不等寬數(shù)據(jù)傳輸?shù)姆椒ò?括根據(jù)寫入數(shù)據(jù)寬度計算當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置的 步驟;根據(jù)讀出數(shù)據(jù)寬度計算當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置的 步驟;根據(jù)所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置和所述當前讀地 址對應于數(shù)據(jù)緩存中的具體位置確定讀使能和寫使能的步驟。
8. 如權(quán)利要求7所述的異步先進先出存儲器實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)姆椒ǎ?其特征在于,所述當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置=當前讀地址x讀出數(shù) 據(jù)寬度,所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置=當前寫地址x寫入數(shù) 據(jù)寬度。
9. 如權(quán)利要求8所述的異步先進先出存儲器實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)姆椒ǎ?其特征在于,所述數(shù)據(jù)基本單元為讀出數(shù)據(jù)寬度和寫入數(shù)據(jù)寬度的最小公倍 數(shù)。
10. 如權(quán)利要求7所述的異步先進先出存儲器實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)姆?法,其特征在于,所述當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置減去所述 當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置得到的值大于等于讀出數(shù)據(jù)寬 度,則從數(shù)據(jù)緩存單元將數(shù)據(jù)讀出,所述數(shù)據(jù)緩存單元的容量減去所述當前寫地址對應于所述數(shù)據(jù)緩存中的 具體位置再加上所述當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置得到的值 大于等于寫入數(shù)據(jù)寬度,則將數(shù)據(jù)寫入所述數(shù)據(jù)緩存單元。
全文摘要
本發(fā)明提供了一種實現(xiàn)不等寬數(shù)據(jù)傳輸?shù)漠惒较冗M先出存儲器及方法,其中,存儲器包括數(shù)據(jù)緩存單元,所述數(shù)據(jù)緩存單元中的數(shù)據(jù)基本單元為讀出數(shù)據(jù)寬度和寫入數(shù)據(jù)寬度的公倍數(shù);寫地址計算模塊,用于根據(jù)寫入數(shù)據(jù)寬度計算當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置;讀地址計算模塊,用于根據(jù)讀出數(shù)據(jù)寬度計算當前讀地址對應于所述數(shù)據(jù)緩存中的具體位置;讀/寫判斷模塊,用于根據(jù)當前寫地址對應于所述數(shù)據(jù)緩存中的具體位置和當前讀地址對應于數(shù)據(jù)緩存中的具體位置確定讀/寫使能。本發(fā)明可以直接在讀和寫邏輯中計算出不同寬度的讀/寫數(shù)據(jù)的具體位置,并進行邏輯判斷,簡化了系統(tǒng)設計,提高了數(shù)據(jù)傳輸效率。
文檔編號G06F5/06GK101261575SQ20081010092
公開日2008年9月10日 申請日期2008年2月26日 優(yōu)先權(quán)日2008年2月26日
發(fā)明者濤 周 申請人:北京天碁科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
德兴市| 嘉善县| 安西县| 涟源市| 朝阳区| 尉氏县| 青神县| 白朗县| 河南省| 宜城市| 奉化市| 皮山县| 铜陵市| 宜都市| 武邑县| 宜阳县| 许昌县| 织金县| 和林格尔县| 洱源县| 台东市| 象山县| 梁山县| 南陵县| 太和县| 秦皇岛市| 西昌市| 临武县| 晋江市| 鄂托克旗| 格尔木市| 察雅县| 玉山县| 湖口县| 沙雅县| 崇信县| 沐川县| 安图县| 永州市| 城口县| 曲周县|