異步FIFO的設計分析及詳細代碼_第1頁
異步FIFO的設計分析及詳細代碼_第2頁
異步FIFO的設計分析及詳細代碼_第3頁
全文預覽已結(jié)束

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

異步FIFO的設計分析及詳細代碼本文首先對異步FIFO設計的重點難點進行分析,最后給出詳細代碼。一、FIFO簡單講解FIFO的本質(zhì)是RAM,先進先出

重要參數(shù):fifo深度(簡單來說就是需要存多少個數(shù)據(jù))

fifo位寬(每個數(shù)據(jù)的位寬)FIFO有同步和異步兩種,同步即讀寫時鐘相同,異步即讀寫時鐘不相同同步FIFO用的少,可以作為數(shù)據(jù)緩存異步FIFO可以解決跨時鐘域的問題,在應用時需根據(jù)實際情況考慮好fifo深度即可本次要設計一個異步FIFO,深度為8,位寬也是8.代碼是學習SimulationandSynthesisTechniquesforAsynchronousFIFODesignCliffordE.Cummings,SunburstDesign,Inc.這篇文章的,百度搜搜很容易找到,雖然是英文的但是寫的確實值得研究。下面我會對設計的要點進行分析,也是對自己學習過程的一個總結(jié),希望能和大家交流共同進步。二、設計要點解析1、讀空信號如何產(chǎn)生?寫滿信號如何產(chǎn)生?

讀空信號:復位的時候,讀指針和寫指針相等,讀空信號有效(這里所說的指針其實就是讀地址、寫地址)

當讀指針趕上寫指針的時候,寫指針等于讀指針意味著最后一個數(shù)據(jù)被讀完,此時讀空信號有效寫滿信號:當寫指針比讀指針多一圈時,寫指針等于讀指針意味著寫滿了,此時寫滿信號有效

我們會發(fā)現(xiàn)讀空的條件是寫指針等于讀指針,寫滿的條件也是寫指針等于讀指針,到底如何區(qū)分呢?解決方法:將指針的位寬多定義一位

舉個例子說明:假設要設計深度為8的異步FIFO,此時定義讀寫指針只需要3位(2^3=8)就夠用了,

但是我們在設計時將指針的位寬設計成4位,最高位的作用就是區(qū)分是讀空還是寫滿,具體理論1如下

當最高位相同,其余位相同認為是讀空

當最高位不同,其余位相同認為是寫滿注意:理論1試用的是二進制數(shù)之間的空滿比較判斷。但是這篇文章中確不是這樣比較的,而是用的理論2,這里我解釋一下由于文章在設計中判斷是讀指針是否等于寫指針的時候,用的是讀寫指針的格雷碼形式(為什么用格雷碼后面解釋),此時若用上面的理論1就會出問題,因為格雷碼是鏡像對稱的,若只根據(jù)最高位是否相同來區(qū)分是讀空還是寫滿是有問題的,詳情我會慢慢說,請看圖1綠色框起來的是0--15的格雷碼,用紅線將格雷碼分為上下兩部分通過觀察格雷碼相鄰位每次只有1位發(fā)生變化,且上下兩部分,除了最高位相反,其余位全都關(guān)于紅線鏡像對稱,

7-->8,格雷碼從0100-->1100,只有最高位發(fā)生變化其余位相同

6-->9,格雷碼從0101-->1101,只有最高位發(fā)生變化其余位相同以此類推,為什么要說鏡像對稱呢?試想如果讀指針指向8,寫指針指向7,我們可以知道此時此刻并不是讀空狀態(tài)也不是寫滿狀態(tài)但是如果在此刻套用理論1來判斷,看會出現(xiàn)什么情況,我們來套一下7的格雷碼與8的格雷碼的最高位不同,其余位相同,所以判斷出為寫滿。這就出現(xiàn)誤判了,同樣套用在6和9,5和10等也會出現(xiàn)誤判。因此用格雷碼判斷是否為讀空或?qū)憹M時應使用理論2,看最高位和次高位是否相等,具體如下:

當最高位和次高位相同,其余位相同認為是讀空

當最高位和次高位不同,其余位相同認為是寫滿補:理論2這個判斷方法適用于用格雷碼判斷比較空滿在實際設計中如果不想用格雷碼比較,就可以利用格雷碼將讀寫地址同步到一個時鐘域后再將格雷碼再次轉(zhuǎn)化成二進制數(shù)再用理論1進行比較就好了。。圖12、由于是異步FIFO的設計,讀寫時鐘不一樣,在產(chǎn)生讀空信號和寫滿信號時,會涉及到跨時鐘域的問題,如何解決?跨時鐘域的問題:上面我們已經(jīng)提到要通過比較讀寫指針來判斷產(chǎn)生讀空和寫滿信號

但是讀指針是屬于讀時鐘域的,寫指針是屬于寫時鐘域的,而異步FIFO的讀寫時鐘域不同,是異步的,

要是將讀時鐘域的讀指針與寫時鐘域的寫指針不做任何處理直接比較肯定是錯誤的,因此我們需要進行同步處理以后仔進行比較

解決方法:兩級寄存器同步+格雷碼同步的過程有兩個:

(1)將

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論