[發明專利]參數化的通用FIFO控制方法有效
| 申請號: | 201210107085.4 | 申請日: | 2012-04-12 |
| 公開(公告)號: | CN103377029A | 公開(公告)日: | 2013-10-30 |
| 發明(設計)人: | 田澤;楊海波;蔡葉芳;郭蒙;李攀;廖寅龍;張玲 | 申請(專利權)人: | 中國航空工業集團公司第六三一研究所 |
| 主分類號: | G06F5/06 | 分類號: | G06F5/06 |
| 代理公司: | 西安智邦專利商標代理有限公司 61211 | 代理人: | 姚敏杰 |
| 地址: | 710068 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 參數 通用 fifo 控制 方法 | ||
技術領域
本發明屬于計算機硬件技術領域,涉及一種電路控制方法,尤其涉及一種參數化的通用FIFO控制方法。
背景技術
FIFO(First-In,First-out),即先進先出存儲器,分為同步FIFO和異步FIFO,是一種常用于數據緩存的電路器件,可應用于包括高速數據采集、多處理器接口和通信中的高速緩沖等各種領域。根據需求和應用環境的不同,FIFO可能有不同的深度、不同的數據位寬、不同的讀寫時鐘關系、不同的空滿指示方式等等,通常需要按需求多次分別設計,且異步FIFO一般都使用格雷碼進行讀、寫地址比較,這就導致如果FIFO深度不是2的冪,讀、寫地址由最大值(深度-1)回到0值時,由于最大值的二進制格雷碼有多位為1,變回全0時會發生多位由1到0的跳變,從而失去格雷碼相鄰碼值僅有一位跳變的優勢,帶來亞穩態隱患,因此異步FIFO深度通常局限于2的冪,造成資源浪費,使用也非常不方便。
發明內容
為了解決背景技術中存在的上述技術問題,本發明提供了一種通過預設參數的預編譯手段,可在所有需使用FIFO的設計中復用,避免多次設計,同時使用“區段格雷編碼”,即給讀、寫地址統一加上一個固定增量值,使其變換到一個最大值和最小值的二進制格雷碼只有一位不同的數值區段,再進行格雷碼轉換去使用,從而使深度可為任意偶數的參數化通用FIFO控制方法。
本發明的技術解決方案是:本發明提供了一種參數化的通用FIFO控制方法,其特殊之處在于:所述參數化的通用FIFO控制方法包括以下步驟:
1)對通用FIFO控制電路輸入靜態輸入參數;
2)根據靜態輸入參數映射得到實現FIFO控制電路所需內部變量;
3)根據步驟2)所產生的FIFO控制所需電路內部變量實現所需通用FIFO控制電路,其中地址比較電路采用“區段格雷碼”實現。
上述靜態輸入參數包括FIFO深度DEPTH、編程滿閾值PROG_FULL_THRESH以及數據預讀模式選擇FIRST_WORD_FT;
所述FIFO深度DEPTH是實現資源允許限度內的任意偶數;
所述編程滿閾值PROG_FULL_THRESH的設定值是小于FIFO深度DEPTH的正整數;
所述數據預讀模式選擇FIRST_WORD_FT的設定值是1或0;所述數據預讀模式選擇FIRST_WORD_FT的設定值是1時,表示選擇預讀模式,FIFO數據輸出總線DOUT上總預讀FIFO出中當前第一個數據;所述數據預讀模式選擇FIRST_WORD_FT的設定值是0時,表示選擇非預讀模式,只有當讀使能信號RD_EN有效后,數據輸出總線DOUT上才輸出當前第一個數據。
上述FIFO控制電路內部變量包括雙端口存儲體地址寬度ADDR_WIDTH、寫入數據計數器位寬WR_DATA_COUNT_WIDTH、可讀數據計數器位寬RD_DATA_COUNT_WIDTH、讀寫地址格雷碼轉換區段增量SECTION_INC以及區段格雷碼數據位寬GRAY_WIDTH;
所述雙端口存儲體地址寬度ADDR_WIDTH是整數值,約束控制電路生成的讀地址read_addr、寫地址write_addr的總線位寬;生成實現完整的FIFO電路所必須的雙端口存儲體時,還用于確定其大?。?/p>
所述寫入數據計數器位寬WR_DATA_COUNT_WIDTH是整數值,約束控制電路輸出的寫入數據數目計數值的位寬;
所述可讀數據計數器位寬RD_DATA_COUNT_WIDTH是整數值,約束控制電路輸出的可讀數據數目計數值的位寬;
所述讀寫地址格雷碼轉換區段增量SECTION_INC是整數值,用于約束讀寫地址進行格雷碼轉換時所選取數值區段的起始點;
所述區段格雷碼數據位寬GRAY_WIDTH是整數值,用于約束區段格雷碼的數據位寬度。
上述步驟2)的映射關系是:
所述雙端口存儲體地址寬度ADDR_WIDTH的具體實現得出方式是:
ADDR_WIDTH=clogb2(DEPTH);其中:clogb2為函數名,所述clogb2根據括號內的輸入值,計算并返回函數計算結果;所述DEPTH是FIFO深度DEPTH;
所述寫入數據計數器位寬WR_DATA_COUNT_WIDTH及可讀數據計數器位寬RD_DATA_COUNT_WIDTH滿足如下條件:
WR_DATA_COUNT_WIDTH=RD_DATA_COUNT_WIDTH=ADDR_WIDTH;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國航空工業集團公司第六三一研究所,未經中國航空工業集團公司第六三一研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210107085.4/2.html,轉載請聲明來源鉆瓜專利網。





