?

基于FPGA的異步FIFO的設計

2017-03-01 09:23王小娟
中國新通信 2016年23期
關鍵詞:存儲器格雷時鐘

王小娟

【摘要】 簡單的介紹了FPGA和異步FIFO的特點,針對在跨時鐘域傳遞數據的系統中亞穩態的產生,采用異步FIFO(First In First Out,先進先出隊列)口來緩沖傳輸的數據,以克服亞穩態,保證數據的正確傳輸。由于常規異步FIFO模塊中的RAM存儲器讀寫尋址指針常采用格雷碼計數器以及“空滿”控制邏輯的存在,將使通過這兩個模塊的信號通路延時對整個模塊的工作頻率造成制約。提出了一種在FPGA內實現高速異步FIFO的方法.使模塊的工作頻率得到一定提高。

【關鍵字】 FPGA FIFO

一、FPGA簡介

FPGA(Field-Programmable Gate Array)[1],即現場可編程門陣列,是專用集成電路(ASIC)中集成度最高的一種,用戶可對FPGA內部的邏輯模塊和I/O模塊重新配置,以實現用戶的邏輯,因而也被用于對CPU的模擬。

用戶對FPGA的編程數據放在Flash芯片中,通過上電加載到FPGA中,對其進行初始化。也可在線對其編程,實現系統在線重構,這一特性可以構建一個根據計算任務不同而實時定制的CPU,這是當今研究的熱門領域。既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。

二、異步FIFO簡介

FIFO ( First In FirstOut)[2],使用在需要產時數據接口的部分,用來存儲、緩沖在兩個異步時鐘之間的數據傳輸在現代的集成電路芯片中,隨著設計規模的不斷擴大,一個系統中往往含有數個時鐘,因而出現了跨不同時鐘區域進行異步數據傳輸的要求。

異步FIFO ( First In FirstOut)是解決這個問題一種簡便、快捷的解決方案。根據FIFO的工作時鐘,可將FIFO分為同步FIFO和異步FIFO。同步FIFO是指讀時鐘和寫時鐘為同一個時鐘,在時鐘沿來臨時同時進行讀寫操作;異步FIFO是指讀寫時鐘不是同一個時鐘,而是相互獨立的。實際上,工作在同一時鐘的FIFO很少用到,多數都是讀寫時鐘獨立的異步FIFO。

本文設計的異步FIFO (First In First Out,先進先出隊列)是一種先進先出的電路,使用在需要實時數據接口的部分[3],用來存儲、緩沖在兩個異步時鐘之間的數據傳輸。在異步電路中,由于時鐘之間周期和相位完全獨立,因而數據的丟失概率不為零。

三、異步FIFO的工作原理

常規的FIFO包括:雙口RAM存儲器,“空滿”控制邏輯,存儲器讀寫尋址指針等。訪問FIFO時不需要地址線,只需要數據線和讀寫控制信號線,且數據地址由內部讀寫指針自動加1完成,因此利用FIFO實現數據的緩存具有接口簡單、讀寫方便的優點。

異步FIFO一般可以分為4個模塊[4]:寫地址模塊、讀地址模塊、數據存儲模塊以及空/滿標志位產生模塊。數據存儲模塊在FPGA中是一個雙口RAM,可以同時進行讀寫操作。

四、異步FIFO設計方案

在數字集成電路中,觸發器要滿足setup/hold的時間要求。當一個信號被寄存器鎖存時,如果信號和時鐘之間不滿足這個要求,Q端的值是不確定的,并且在未知的時刻會固定到高電平或低電平。

這個過程稱為亞穩態(Metastability) [5]。亞穩態對會使異步FIFO的讀寫地址發生錯誤,產生誤讀或者誤寫。為此異步FIFO設計中亞穩態問題也是一個比較重要的問題。亞穩態不可能完全消除,只能使其出現的概減小具體方法如下:對寫地址/讀地址采用格雷碼,同步多個異步輸入信號出現亞穩態的概率遠遠大于同步一個異步信號的概率。對多個觸發器的輸出所組成的寫地址/讀地址可以采用格雷碼。由格雷碼每次只變化一位,采用格雷碼[6]可以有效地減少亞穩態的產生。

五、結論

通過以上實驗測試結果表明,在高速的圖像數據采集系統中,FIFO既滿足高速采集的需要,同時也減少了亞穩態此模型實現了高可靠性、高速的異步FIFO存儲器,同時由于基于verilog語言實現,使用者可以根據不同的設計要求,靈活的修改參數生成各種模式,以及不同大小的異步FIFO存儲器,所以這種設計方法也具備較高的可移植性、可重構性.以上實驗研究表明,采用基于FPGA的異步FIFO存儲器能很好地解決在異步數字系統設計中高可靠性及高速的要求,提高了系統的效率,其思想和方法,具有一定的應用價值和應用前景。

參 考 文 獻

[1]郭錚 ;劉文怡;馮妮. 基于FPGA多通道高速數據采集存儲器設計.電視技術2012 36(17): 55-57

[2]王凱;孫鋒 FIFO的設計分析[J]. 電子器件 2014 37( 3): 431-434

[3]朱東杰 ;邵根富 ;黃國輝;葉曉平 ;游張平;李培遠.基于FIFO的GPRSDTU設計. 工業控制計算機. 2015 0(10):59-60

[4]張玉平 ;葉圣江. 基于FPGA的虛擬FIFO改進設計.沈陽工業大學學報. 2016 38(3): 298-303

[5]劉亞兵 ;馬瑞卿;張慶超;張震;白浩.基于FIFO的串口通信模式研究.計算機測量與控制.2014 22(7):2301-2303

[6]馬志剛 ;劉欣;劉文怡 ;翟成瑞. 基于高速FIFO的遠程圖像數據采集存儲系統.電子器件 2015 38(1): 152-155

猜你喜歡
存儲器格雷時鐘
“熊女士”神秘死亡,連環殺熊案背后的驚天迷局
用模塊化思維打造組織
這個時鐘一根針
有趣的時鐘
獨立拼裝手機
時鐘會開“花”
每日信條
存儲器——安格爾(墨西哥)▲
Buffalo推出四硬盤網絡存儲器 主打Soho一族
測試小型存儲器陣列的新方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合