[發明專利]FIFO控制電路及控制方法有效
| 申請號: | 200710178307.0 | 申請日: | 2007-11-28 |
| 公開(公告)號: | CN101183303A | 公開(公告)日: | 2008-05-21 |
| 發明(設計)人: | 萬紅星 | 申請(專利權)人: | 北京中星微電子有限公司 |
| 主分類號: | G06F5/06 | 分類號: | G06F5/06 |
| 代理公司: | 北京德琦知識產權代理有限公司 | 代理人: | 宋志強;麻海明 |
| 地址: | 100083北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | fifo 控制電路 控制 方法 | ||
技術領域
本發明涉及存儲器技術,特別涉及一種先進先出存儲器(FIFO)控制電路和一種FIFO的控制方法。
背景技術
FIFO是一種常用于數據緩沖和時鐘隔離的電路器件,可應用于包括高速數據采集,多處理器接口和通信中的高速緩沖等各種領域。
通常情況下,需要為FIFO設置一控制電路,以實現根據寫地址在FIFO中寫入數據、根據讀地址讀取FIFO中的數據。
圖1為現有FIFO控制電路的結構示意圖。如圖1所示,現有的FIFO控制電路通常包括:連接至FIFO的寫地址單元和讀地址單元。
寫地址單元,在寫時鐘信號的控制下,根據預設的每次寫入數據的固定長度,計算(例如累加得到)下一次寫入的寫地址并輸出至FIFO,以保證每次寫入至FIFO的數據能夠存儲于當前寫入地址對應的存儲空間。
讀地址單元,在讀時鐘信號的控制下,根據預設的每次讀取數據的固定長度,計算下一次讀取的讀地址并輸出至FIFO,以保證每次從FIFO中讀取的數據為當前讀地址所對應的數據。
其中,上述的寫時鐘信號和讀時鐘信號,可以分別來自FIFO所在數據總線中寫入數據和讀取數據的功能單元;跨時鐘域的寫入數據固定長度與讀取數據固定長度需匹配,例如二者相等或互為倍數,以保證能夠讀空FIFO中存儲的數據。
同時,為了產生表示FIFO已空的空(empty)信號,寫地址單元在計算得到下一次寫入的寫地址之后,將該寫地址轉換為長度與FIFO深度相匹配的格雷碼并輸出至讀地址單元,在寫地址格雷碼和讀地址格雷碼相同時,由讀地址單元輸出空信號;而為了產生表示FIFO已滿的滿(full)信號,讀地址單元在計算得到下一次讀取的讀地址之后,也將該讀地址轉換為長度與FIFO深度相匹配的格雷碼并輸出至寫地址單元,在寫地址格雷碼和讀地址格雷碼的最高兩位不同、且其余所有低位均相同時,由寫地址單元輸出滿信號。
上述FIFO控制電路雖然能夠支持對FIFO的讀寫操作,但僅限于固定長度的數據寫入、以及固定長度的數據讀取,且需要跨時鐘域的寫入數據固定長度與讀取數據固定長度相匹配。
而在實際應用中,FIFO所在的數據總線中,每次寫入的數據長度可能會動態變化,即跨時鐘域的寫入數據長度與讀取數據長度不固定、且不匹配。在這種情況下,就無法預先獲知每次寫入的數據長度,因而無法預先設置每次讀取的數據長度,從而無法保證寫入的數據長度與讀取的數據長度相匹配,使得無法保證FIFO中存儲的數據被讀空。
可見,在跨時鐘域的寫入數據長度與讀取數據長度不固定、且不匹配的環境下,現有FIFO控制電路無法保證將FIFO中存儲的數據讀空,從而無法支持對FIFO的讀寫操作。
發明內容
有鑒于此,本發明提供了一種FIFO控制電路和一種FIFO的控制方法,能夠在跨時鐘域的寫入數據長度與讀取數據長度不固定、且不匹配的環境下,支持對FIFO的讀寫操作。
本發明提供的一種FIFO控制電路,包括:連接至所述FIFO的寫地址單元和讀地址單元,
該控制電路還包括:讀數據調整單元,其中,
所述讀數據調整單元在FIFO中存儲的數據不足以一次讀取時,降低讀取數據單位長度,并輸出至所述讀地址單元;
所述寫地址單元,根據當前寫入至所述FIFO的數據長度,計算下一次寫入的寫地址并輸出給所述FIFO;
所述讀地址單元,根據接收到的讀取數據單位長度,計算下一次讀取的讀地址并輸出給所述FIFO。
所述寫地址單元,進一步將計算得到的寫地址轉換為與所述讀取數據單位長度相匹配的寫地址格雷碼有效位,將該寫地址格雷碼有效位轉換為長度與所述FIFO深度相匹配的寫地址格雷碼,并輸出至所述讀地址單元;
所述讀地址單元,進一步將計算得到的讀地址轉換為與所述讀數據單位長度相匹配的讀地址格雷碼有效位,將該讀地址格雷碼有效位轉換為長度與所述FIFO深度相匹配的讀地址格雷碼,并將轉換得到的讀地址格雷碼與接收自所述寫地址單元的寫地址格雷碼進行比較,如果二者相同,則向所述FIFO輸出表示FIFO已空的空信號。
在進行比較之前,所述讀地址單元進一步在所述讀時鐘信號的控制下,將接收自所述寫地址單元的寫地址格雷碼鎖存兩拍。
讀地址單元進一步將表示FIFO已空的空信號輸出給讀數據調整單元,通知所述讀數據調整單元停止所述讀數據單位長度的調整。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京中星微電子有限公司,未經北京中星微電子有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710178307.0/2.html,轉載請聲明來源鉆瓜專利網。





