《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 一種異步FIFO的設計方法

一種異步FIFO的設計方法

2008-08-18
作者:羅 昊

??? 摘 要: 使用FIFO同步源自不同時鐘域的數據是在數字IC設計中經常使用的方法,設計功能正確的FIFO會遇到很多問題,探討了兩種不同的異步FIFO的設計思路。兩種思路都能夠實現功能正確的FIFO。
??? 關鍵詞: 異步FIFO? 握手? 同步? 二進制? 格雷碼

?

??? 本文所研究的FIFO,從硬件的觀點來看,就是一塊數據內存。它有兩個端口,一個用來寫數據,就是將數據存入FIFO;另一個用來讀數據,也就是將數據從FIFO當中取出。與FIFO操作相關的有兩個指針,寫指針指向要寫的內存部分,讀指針指向要讀的內存部分。FIFO控制器通過外部的讀寫信號控制這兩個指針移動,并由此產生FIFO空信號或滿信號。
??? 對于異步FIFO而言,數據是由某一個時鐘域的控制信號" title="控制信號">控制信號寫入FIFO,而由另一個時鐘域的控制信號將數據讀出FIFO。也就是說,讀寫指針的變化動作是由不同的時鐘產生的。因此,對FIFO空或滿的判斷是跨時鐘域的。如何根據異步的指針信號對FIFO的滿狀態或空狀態進行正確的判斷是本文研究的重點。此外,設計過程中的一些細節問題也將在文中涉及到。
1 指針以及滿空信號的產生
??? 為了更好地說明問題,先探討一下同步FIFO指針移動以及滿空信號的產生過程。對于同步FIFO,讀寫指針都指向一個內存的初始位置,每進行一次讀寫操作,相應的指針就遞增一次,指向下一個內存位置。當指針移動到了內存的最后一個位置時,它又重新跳回初始位置。在FIFO非滿或非空的情況下,這個過程將隨著讀寫控制信號的變化一直進行下去。如果FIFO處于空的狀態,下一個讀動作將會導致向下溢出(underflow), 一個無效的數據被讀入;同樣,對于一個滿了的FIFO,進行寫動作將會導致向上溢出(overflow), 一個有用的數據被新寫入的數據覆蓋。這兩種情況都屬于誤動作,因此需要設置滿和空兩個信號,對滿信號置位" title="置位">置位表示FIFO處于滿狀態,對滿信號復位表示FIFO非滿,還有空間可以寫入數據;對空信號置位表示FIFO處于空狀態,對空信號復位表示FIFO非空,還有有效的數據可以讀出。
??? 當讀指針和寫指針相等也就是指向同一個內存位置的時候,FIFO可能處于滿或空兩種狀態??梢酝ㄟ^不同的方法判斷或區分FIFO究竟是處于滿狀態還是空狀態,也就是究竟是寫指針從后趕上了讀指針, 還是讀指針從后趕上了寫指針。本文所應用的方法是設置一個額外的狀態位,指針由它的地址位以及狀態位組成。地址位隨著相應的操作遞增,指針由內存的最后位置返回到初始位置的時候狀態位取反。 因此,當讀寫指針的地址位和狀態位全部吻合的時候,讀寫指針經歷了相同次數的循環移動,也就是說,FIFO處于空狀態(圖1(a));如果讀寫指針的地址位相同而狀態位相反,寫指針比讀指針多循環一次,標志FIFO處于滿狀態(圖1(b))。

?


2 二進制指針和格雷碼" title="格雷碼">格雷碼指針的同步
??? 二進制指針是由一位狀態位和若干位二進制編碼的地址位組成的(例如由三位地址和一位狀態位構成的指針的變化:0000→0001→0010→0011→0100→0101→0110→0111→1000→1001→1010→1011→1100→1101→1110→1111)。如果在不同的時鐘域內直接同步二進制指針,有可能產生問題。例如,當讀指針從0111向1000變化的時侯,指針所有的位都要變化,如果寫時鐘恰好在讀指針的變化時刻采樣,寫者得到的讀指針值有可能是從0000到1111中的任何一個。所以二進制指針不宜被直接同步,但可以通過一對握手信號同步二進制指針。
??? 例如,讀指針被讀者存入一個寄存器時,讀者就發出一個就緒信號。當寫者看到就緒信號時,讀取讀指針,發出一個收到數據的確認信號。當讀者看到確認信號時,就收回就緒信號,然后用當前的讀指針值刷新寄存器(圖2)。在收到確認信號前,存放讀指針的寄存器內容保持不變,確保了被讀取的指針的正確性。

?


??? 為了能夠在不同的時鐘域內直接同步指針,可以對指針使用格雷碼的編碼方式,也就是指針每次移動只變化一位,這樣就避免了由于指針多位同時變化而無法直接同步的問題。圖3表示了一個三位地址的內存用于格雷碼編碼的FIFO。n位地址的內存需要n+1位的格雷碼。使用最高位(也就是第n-1位)作為狀態位,從第n-2到第0位作為地址的第n-2位到第0位;對狀態位(也就是第n-1位)和第n-2位進行位異或運算產生地址的第n-2位(也就是地址的最高位)。通過對圖3的觀察可以得知,四位格雷碼編碼的指針和三位二進制加狀態位編碼的指針具有同樣的功能:指針產生的地址循環遍歷" title="遍歷">遍歷8個內存地址, 每一次遍歷后狀態位取反。值得注意的一點,是當指針從0100變化到1100的時候,相應的地址由100變為000,狀態位和一位地址同時發生了變化,所以不能同步由另一個時鐘域格雷碼指針產生的狀態位和地址位,此時應該直接由另一個時鐘域同步指針來完成,由同步后的指針產生相應的狀態位和地址位。

?


3 保守的滿空判斷
??? 對于異步FIFO設計,無論是采用握手還是直接同步的方法來獲取對方時鐘域的指針,對滿空信號的判斷總是“保守”的。
??? (1)滿空信號的復位(滿信號復位表示FIFO非滿, 空信號復位表示FIFO非空)和實際FIFO的情況相比有一定的延遲。例如,空信號是由讀者用讀指針與同步或握手后得到的寫指針進行比較產生的。由于同步或握手需要一定的時間,在這段時間,寫者可能向FIFO寫入新的數據,寫指針發生了變化,此時FIFO已經非空,但此刻空信號仍然沒有復位。對于寫者而言,滿信號的復位也會遇到相同的問題。不過,在通常情況下,FIFO只要確保不會向下溢出或向上溢出,復位的延遲就不會導致向下溢出或向上溢出,是可以接受的。
??? (2)滿空信號的置位(滿信號置位表示FIFO滿, 空信號置位表示FIFO空)和FIFO的實際情況相比沒有延遲。例如,同樣考慮FIFO為空的情況,讀者使用讀指針和同步或握手后的寫指針進行比較,由于FIFO為空,寫動作不會發生,相應的寫指針也保持不變,因此讀者獲得的就是當時的寫指針值。這樣就能馬上對空信號置位。同樣地,在FIFO滿的情況下,由于讀指針不發生變化,寫者得到的是當前的讀指針值,能夠馬上判斷FIFO為滿。
??? 從以上兩點的討論可以得出結論,FIFO滿空判斷是保守的,寫者可能在FIFO還有一定空間時停止寫數據,但不會在FIFO已經滿了的情況下繼續寫數據;讀者可能在FIFO還有一些有效的數據時停止讀數據,但是不會在FIFO已經空的情況下繼續讀數據。保守的滿空判斷能夠滿足FIFO的功能要求。
4? 二進制指針和格雷碼指針的比較
??? 二進制指針和格雷碼指針兩者各有優缺點:
??? (1)由于通過握手同步,指針可以有多位同時變化,二進制指針每次移動可以跳躍過任意的長度,這樣給FIFO的某些功能的實現帶來了方便(例如,硬件直接控制FIFO從緩存的數據流中丟棄一個出錯的包);而格雷碼指針一般只能做遞增或遞減的移動。
??? (2)二進制指針可以用于任意大小的FIFO; 格雷碼指針只能用于大小為2的冪的FIFO。
??? (3)與直接同步相比,通過握手同步需要多時鐘周期,因此二進制指針的滿空判斷比格雷碼指針的滿空判斷更“保守”;對于設計一個容量很大且由內存構成的FIFO來說,由于保守判斷而損失的空間可以忽略;但對于一個容量較小的FIFO而言,這種“保守”可能是無法接受的。例如,一個由8個寄存器組成的FIFO, 對于格雷碼編碼的指針,最壞情況下,FIFO被寫者判斷為滿時,里面實際只存有五個數據(使用兩級同步器, 可能需要三個周期同步,而在這三個周期內都有讀動作發生);而對與二進制編碼的指針,FIFO 被判為滿時,FIFO里可能只有三個數據或更少(使用兩級同步器,最好的情況下,需要五個周期握手,而在這五個周期里都有讀動作發生)。
??? 設計者在兩種方法的比較選擇上應該考慮到以上的幾點。
??? 本文介紹的異步FIFO的設計方法" title="設計方法">設計方法的兩種不同思路都能夠實現功能正確的異步FIFO。對這兩種方法設計的FIFO的優缺點所做的簡要分析,對FIFO的設計具有指導意義。
參考文獻
1 Victor P. Nelson, H. Troy Nagle,Bill D.Carroll, J. David Irwin. Digital Logic Circuit Analysis & Design. PrenticeHall International Inc., 1997
2 William I. Fletcher. An Engineering Approach To Digital?Design. New Jersey: Prentice-Hall, 1980
3 FIFO Application Guide. IDT Inc., 1999
4 Clifford E.Cummings.Simulation and Synthesis Techniques for Asynchronous FIFO Design. SNUG 2002 (Synopsys?Users Group Conference, San Jose,CA,2002) User Papers,March 2002, Section TB2, 2nd paper.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品乱人伦中文| 欧美日韩视频不卡| 国产欧美一区二区精品性| 一本在线高清不卡dvd| 激情欧美日韩| 欧美一区国产一区| 亚洲免费影视第一页| 在线视频日韩精品| 亚洲乱码国产乱码精品精98午夜| 久久久久国产精品一区| 欧美一级黄色网| 久久久久9999亚洲精品| 久久久精彩视频| 亚洲欧美第一页| 欧美日韩高清在线| 久久久久国产一区二区三区| 国产婷婷精品| 国产美女扒开尿口久久久| 久久久国产精彩视频美女艺术照福利| 国产精品亚洲一区| 91久久久国产精品| 国内精品久久久久久久影视蜜臀| 国产精品毛片a∨一区二区三区|国| 精品动漫一区二区| 国产免费成人| av成人免费在线| 极品尤物一区二区三区| 欧美成人精品激情在线观看| 亚洲精品美女在线| 欧美专区一区二区三区| 久久久久久久尹人综合网亚洲| 欧美久久精品午夜青青大伊人| 欧美大尺度在线观看| 亚洲电影免费| 亚洲一区二区三区成人在线视频精品| 国产精品久久久久久妇女6080| 欧美在线观看视频一区二区三区| 亚洲人成绝费网站色www| 久久经典综合| 国产精品综合久久久| 伊人狠狠色j香婷婷综合| 日韩视频在线观看国产| 欧美日本高清| 激情综合亚洲| 女女同性精品视频| 亚洲影院在线观看| 亚洲福利在线视频| 日韩午夜电影| 久久国产精品亚洲va麻豆| 国产精品美女久久久免费| 欧美在线高清视频| 91久久久久久久久| 亚洲综合精品一区二区| 欧美久色视频| 欧美电影免费观看大全| 国产精品人人做人人爽人人添| 在线看片日韩| 日韩视频第一页| 亚洲精品综合在线| 久久综合伊人77777蜜臀| 韩国三级电影一区二区| 99国内精品久久久久久久软件| 久久免费视频这里只有精品| 欧美一区二区免费观在线| 国产夜色精品一区二区av| 欧美日韩一区二区在线观看视频| 久久精品视频免费播放| 亚洲综合清纯丝袜自拍| 欧美韩日视频| 欧美成人免费全部观看天天性色| 亚洲欧美资源在线| 国产精品亚洲аv天堂网| 欧美一区二区精品久久911| 国产久一道中文一区| 亚洲精品在线电影| 久久免费视频在线观看| 欧美—级高清免费播放| 亚洲日本一区二区| 欧美精品三级日韩久久| 国产亚洲制服色| 亚洲日本电影在线| 国产精品成人在线观看| 国产精品久久91| 国产精品区一区二区三区| 国产精品羞羞答答| 夜夜爽夜夜爽精品视频| 国产精品高清在线| 在线不卡中文字幕播放| 国产日韩欧美综合| 亚洲黄一区二区| 欧美寡妇偷汉性猛交| 欧美激情va永久在线播放| 亚洲精品乱码久久久久久黑人| 久久久精品国产99久久精品芒果| 亚洲欧美日韩国产| 99国产精品久久久久久久久久| 欧美超级免费视 在线| 欧美日韩免费在线视频| 欧美电影美腿模特1979在线看| 激情成人综合网| 黑人一区二区三区四区五区| 久久久久se| 久久成人精品一区二区三区| 韩日视频一区| 亚洲精品在线观看视频| 欧美激情视频一区二区三区不卡| 欧美精品123区| 欧美日韩国产色视频| 老牛嫩草一区二区三区日本| 亚洲香蕉成视频在线观看| 久久精品视频在线| 国产丝袜一区二区| 亚洲欧美日韩另类| 国产欧美一区二区三区另类精品| 欧美成人三级在线| 久久精品在线视频| 久久午夜影视| 欧美激情一区二区久久久| 韩国成人精品a∨在线观看| 亚洲午夜在线视频| 在线电影一区| 久久成人国产精品| 午夜精品久久久久久久男人的天堂| 亚洲一区二区三区国产| 欧美日本一区二区视频在线观看| 午夜在线观看欧美| 亚洲精品在线一区二区| 久久欧美肥婆一二区| 久久综合精品国产一区二区三区| 蘑菇福利视频一区播放| 国产精品亚洲综合一区在线观看| 久久青草欧美一区二区三区| 欧美成年视频| 激情综合在线| 欧美日韩大陆在线| 亚洲国产小视频| 亚洲人成网在线播放| 亚洲免费观看在线视频| 久久久久久久一区| 亚洲激情在线观看视频免费| 国模私拍视频一区| 欧美在线高清| 久久亚洲捆绑美女| 欧美精品成人一区二区在线观看| 一色屋精品亚洲香蕉网站| 国产精品网站在线播放| 欧美在线视频免费播放| 欧美精品一区二区精品网| 国产亚洲日本欧美韩国| 国产精品爽黄69| 老司机午夜精品视频在线观看| 久久婷婷国产麻豆91天堂| 国产精品日日做人人爱| 亚洲美女啪啪| 欧美另类综合| 久久久激情视频| 国产精品久久久久国产a级| 亚洲区国产区| 亚洲一区二区三区免费视频| 欧美久久成人| 欧美精品久久久久久| 欧美+亚洲+精品+三区| 欧美激情1区2区3区| 亚洲四色影视在线观看| 免费看精品久久片| 黄色av日韩| 欧美午夜www高清视频| 午夜视频在线观看一区二区| 黄色资源网久久资源365| 能在线观看的日韩av| 国产日韩欧美一区二区三区四区| 国产精品av一区二区| 欧美一级理论性理论a| 亚洲新中文字幕| 亚洲日本黄色| 欧美丝袜一区二区| 亚洲精品久久7777| 亚洲三级视频| 一本久久a久久免费精品不卡| 国产麻豆精品theporn| 欧美sm极限捆绑bd| 久久久爽爽爽美女图片| 一区二区欧美在线观看| 欧美国产大片| 亚洲乱码一区二区| 亚洲网站在线播放| 久久香蕉精品| 先锋资源久久| 欧美日韩精品中文字幕| 欧美日韩国产综合一区二区| 国产精品久久久久久久久久直播| 国产精品99久久久久久久vr| 国产一区二区高清视频| 亚洲精品人人| 国产酒店精品激情| 欧美在线一级视频| 久久视频精品在线| 男同欧美伦乱| 国产精品第十页| 国产午夜精品一区理论片飘花| 久久久久国产一区二区三区| 国产真实乱子伦精品视频| 国产亚洲欧美日韩日本| 精品动漫3d一区二区三区免费版| 一区二区三区|亚洲午夜| 欧美精品在线观看一区二区| 韩国三级在线一区| 亚洲综合好骚| 欧美亚洲一级| 国产乱码精品一区二区三区不卡| 欧美va天堂va视频va在线| 亚洲黄一区二区三区| 亚洲福利在线看| 91久久久久久久久久久久久| 亚洲理伦在线| 国产精品wwwwww| 久久亚洲午夜电影| 亚洲欧洲av一区二区三区久久| 99国产精品| 免费久久久一本精品久久区| 亚洲乱码国产乱码精品精| 一区二区欧美国产| 亚洲欧美福利一区二区| 18成人免费观看视频| 一区二区三区欧美| 久久免费少妇高潮久久精品99| 农夫在线精品视频免费观看| 国产亚洲欧美另类一区二区三区| 久久精品国语| 亚洲午夜影视影院在线观看| 久久av一区二区三区漫画| 久久国产精品色婷婷| 国产欧美精品在线播放| 亚洲欧洲99久久| 久久久亚洲一区| 欧美11—12娇小xxxx| 欧美性jizz18性欧美| 久久久美女艺术照精彩视频福利播放| 国产精品日韩欧美| 一本到高清视频免费精品| 91久久极品少妇xxxxⅹ软件| 麻豆精品在线播放| 国产精品乱码一区二区三区| 欧美a级大片| 亚洲第一网站| 欧美**人妖| 国内精品久久久久影院色| 欧美日韩午夜激情| 亚洲人成绝费网站色www| 久久一区二区三区超碰国产精品| 午夜精品影院| 欧美伊人久久| 欧美日韩一区二区在线观看视频| 在线亚洲欧美视频| 亚洲福利av| 久久国产精品黑丝| 黄色影院成人| 欧美日韩另类丝袜其他| 在线观看日韩精品| 在线观看视频日韩| 亚洲一区二区三区777| 欧美在线高清| 亚洲性线免费观看视频成熟| 久久久久久日产精品| 亚洲天堂视频在线观看| 一二三四社区欧美黄| 欧美精品久久久久久| 久久亚洲综合网| 亚洲一区二区三区777| 国产精品久久久久久久久| 欧美日韩一区二区三区高清| 99国产精品久久久久老师| 欧美国产精品专区| 国产毛片一区| 久久精品毛片| 亚洲国产另类久久精品| 国产精品高潮呻吟视频| 免费成人在线视频网站| 亚洲先锋成人| 亚洲电影在线看| 一区二区日韩精品| 国产精品久久午夜| 久久久久国内| 欧美国产国产综合| 欧美三级乱码| 欧美激情一区| 欧美在线视频网站| 久久精品三级| 欧美在线视频观看免费网站| 亚洲免费在线看| 欧美国产日韩一区二区在线观看| 亚洲欧美日韩在线综合| 亚洲精品国产无天堂网2021| 欧美精品亚洲二区| 国产一区二区三区日韩欧美| 性色av一区二区三区红粉影视| 久久精品国产99| 欧美影视一区| 久久网站热最新地址| 亚洲一区二区三区视频| 在线观看视频免费一区二区三区| 欧美承认网站| 日韩亚洲欧美在线观看| 久久综合五月| 狠狠色综合色区| 亚洲欧美另类国产| 一区二区三区欧美激情| 国产精品美女一区二区在线观看| 黄色日韩网站视频| 国产精品久久久久一区二区三区| 欧美日韩成人在线视频| 在线看视频不卡| 免费精品99久久国产综合精品| 亚洲第一伊人| 久久爱www.| 国产午夜精品麻豆| 国产午夜精品全部视频播放| 欧美日韩一区二区三区在线视频| 在线综合视频| 国产精品麻豆欧美日韩ww| 免费成人高清在线视频| 久久蜜桃资源一区二区老牛| 亚洲午夜免费福利视频| 免费在线亚洲| 性8sex亚洲区入口| 欧美性猛片xxxx免费看久爱| 亚洲精品一区二区三区福利| 伊大人香蕉综合8在线视|