《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于VHDL的異步FIFO設計
基于VHDL的異步FIFO設計
現代電子技術
李 輝,王 暉 中國空空導彈研究院
摘要: 摘要:FIFO經常應用于從一個時鐘域傳輸數據到另一個異步時鐘域。為解決異步FIFO設計過程中空滿標志判斷難以及FPGA亞穩態的問題,提出一種新穎的設計方案,即利用格雷碼計數器(每次時鐘到來僅有1位發生改變)表示讀/寫
Abstract:
Key words :

摘要:FIFO經常應用于從一個時鐘域傳輸數據到另一個異步時鐘域。為解決異步FIFO設計過程中空滿標志判斷難以及FPGA亞穩態的問題,提出一種新穎的設計方案,即利用格雷碼計數器(每次時鐘到來僅有1位發生改變)表示讀/寫指針,設計二級同步鏈為跨越不同時鐘域的讀/寫指針,以提供充足的穩定時間,并通過對比格雷碼指針產生空滿標志位。該設計采用VHDL語言進行設計,利用ALTERA公司的FPGA得以實現。經驗證進一步表明,模塊化的設計不僅避免了亞穩態的產生,增大平均無故障工作時間(MBTF),也使工作效率大為提升。
關鍵詞:FIFO;異步;亞穩態;格雷碼

    先進先出緩存電路讀/寫(FIFO)在大規模邏輯設計中被廣泛應用,幾乎每個芯片都要涉及,同樣在空空導彈的數據傳輸體系中也得以大量應用。FIFO類型可以分為兩種,第一種為同步FIFO,即讀/寫時鐘是同步的,這里的同步不僅僅是指讀/寫時鐘為同一個時鐘,即屬于同一個時終域。當讀/寫時鐘頻率為倍數關系,即相位關系確定時,也歸屬同步FIFO的范疇。另一種為異步FIFO,讀/寫時鐘頻率不成倍數關系或相位關系不確定,即跨時鐘域。異步FIFO可以在不同的時鐘域之間快速方便地傳輸實時數據,因此在遙測數據傳輸中,異步FIFO實用性更好。然而如何正確地產生空滿標志以及如果解決亞穩態問題是異步FIFO設計的難點。

1 FIFO結構
    首先,典型的FIFO結構框圖如圖1所示。FIFO的數據存儲在具有獨立寫端口和讀端口的RAM中。讀指針r0_pointer指向下一個將要讀取的位置,寫指針wrpointer指向下一個將要寫入的位置,每1次寫操作后寫指針加1,讀操作使讀指針加1。狀態產生模塊中,full和empty表示FIFO讀/寫的臨界狀態。FIFO設計的關鍵是產生讀/寫地址和空滿標志。空滿標志是基于引起指針相等的操作。如果是復位或者讀操作引起
讀/寫指針相等,FIFO認為是空;如果原因是寫操作,那么FIFO認為是滿。異步FIFO設計的難點是如何同步跨時鐘域的指針以及空滿標志的產生。

a.jpg



2 亞穩態
    亞穩態是當信號在無關的電路中或異步時鐘域之間傳輸時導致FPGA系統失效的一種現象。包括FPGA在內的所有數字器件的寄存器都定義了信號時序要求,以保證每一個寄存器都能夠從輸入端獲取數據和在輸出端產生數據。為了確??煽康牟僮?,輸入信號必須在時鐘沿之前穩定一段時間(寄存器建立時間tsu),并且在時鐘沿之后穩定一段時間(寄存器保持時間th),然后寄存器輸出經過一個特定的時鐘到輸出延時后有效。滿足此要求寄存器才可以正確的在輸入端獲取數據在輸出端產生數據,否則輸出有可能是亞穩態。在亞穩態時,寄存器的輸出電壓在高低電平之間搖擺,即輸出將有可能是邏輯0(0 V)或者邏輯1(+5 V),或者是介于0~5 V中間的某個值。亞穩態產生機制圖如圖2所示,當建立時間或者保持時間不滿足時序要求時便會產生亞穩態。

b.jpg


    在同步系統中,輸入信號必須總是滿足寄存器時序要求,所以亞穩態不會發生。亞穩態問題通常發生在當一個信號在無關的線路中或異步時鐘域中傳輸。一個寄存器進入亞穩態和從亞穩態進入穩態的時間依賴于制造商的制造工藝和使用環境。大部分情況下,寄存器會很快的進入一個定義的穩態中。在異步FIFO設計中就要避免亞穩態的產生。

3 解決問題的方法
3.1 同步寄存器
    當信號在不相關或者異步時鐘域傳輸時,在新的時鐘域使用這個信號之前必須進行同步,比如異步FIFO的讀指針被同步到寫時鐘域或寫指針被同步到讀時鐘域。新時鐘域里的第一個寄存器的作用就是一個同步寄存器。同步裝置中寄存器到寄存器路徑上的時序裕量可以為亞穩態信號提供穩定時間。由兩個寄存器組成的二級同步鏈如圖3所示,它大大的提高了系統的平均無故障工作時間(MTBF),減少了信號傳輸過程中亞穩態問題的風險。此外,可以通過三級同步進一步增加MTBF值,但在實際中很少需要。

c.jpg


3.2 格雷碼(Gray code)計數器
    設計異步FIFO的原則是安全可靠地把數據從一個時鐘域傳輸到另一個時鐘域。如果用一個相對于計數器時鐘是異步的時鐘來取樣計數器的值,就要考慮計數器的每一位在哪個范圍內變化,每一位都有機會同時發生變化,比如從FFFF變化到0000,這時每個單獨的位都處于亞穩態。這種變化意味著讀數有可能是0000~FFFF之間的任意一個值。這種情況下FIFO將無法正常工作,于是設計一個格雷碼來表示的計數器,
因為格雷碼是最小距離碼,相鄰的碼元只有1位不同,它可以避免因延遲不一致而引起的毛刺現象。
    d.jpg
    計數器由觸發器組和累加器組成,處理格雷碼計數器的辦法為:將格雷碼轉換為二進制碼元,然后加1,再將它轉換回格雷碼并存儲,這是解決產生N位格雷碼算法棘手問題的一個辦法。異步FIFO的寫地址和讀地址由格雷碼計數器來實現計數,讀/寫指針均用格雷碼來表示,格雷碼計數器指針原理如圖4所示,當FIFO非空或者非滿時,讀指針或者寫指針實現加1操作。

e.jpg


3.3 一種新穎的設計方法產生空滿標志
    空滿標志位是通過比較讀/寫指針來判斷的,空滿標志的判斷方法:對于二進制地址來說,如果RAM大小為M,那么它需要的地址位寬度為N=log2 M。假設雙口RAM大小是8 B,所需尋址地址位寬度是3 b。如果讀/寫指針均用3位來表示的話,那么當讀/寫指針相等時,無法判別是讀時針追上了寫時針造成讀空還是寫時針追上了讀時針造成寫滿,這樣就無法正確判斷空、滿標志。為了方便的區分空、滿,讀/寫指針各增加1位,取地址指針寬度為log2M+1,尋址中沒有使用的最高位地址標記為MSB,即讀/寫指針為N+1位,尋址范圍為2n。表1為格雷碼表示的4位地址指針。

f.jpg


    仔細觀察表1并分析數據,一種新穎的判斷空滿標志的方法為:當讀/寫指針的最高位(MSB)不相等且讀/寫指針的次高位不相等,剩余的N-2位地址相等時,此時寫指針追上了讀指針,即寫指針比讀指針多轉一圈,狀態模塊輸出滿標志;當讀/寫指針N+1位都相等時,狀態模塊輸出空標志。判斷滿標志部分的VHDL代碼:
f.jpg
    h.jpg
3.4 異步FIFO總體設計
    通過時針比較產生的異步FIFO框圖如圖5所示。WCLK和RCLK分別為讀時鐘和寫時鐘,wrst_n和rrst_n分別為讀/寫模塊的復位信號。  rdata為數據輸出端口,wdata為數據輸入端口。異步FIFO通過讀/寫指針來尋址一個雙口RAM來實現對數據的讀/寫,雙口RAM的大小為2nB。讀指針被二級同步鏈到寫時鐘域,然后與寫時針比較產生滿標志,讀指針產生讀地址raddress;寫時針被二級同步鏈同步到讀時鐘域,然后與讀時鐘比較產生空標志,寫指針產生寫地址waddress。需要注意的是此異步FIFO設計中,空滿標志是保守的空滿標志,比如滿標志,當讀時針通過二級同步鏈同步到寫時鐘域且滿足滿標志的條件時,寫指針停止加1操作,而同步讀指針的過程中,讀時針則移動到了其他的地址,同樣的適合于空標志,當輸出空,滿時,其實FIFO的真實狀態是還有空間沒被寫滿或者讀空,這就是保守的空和滿,而這正保證了FIFO不會向上會向下溢出,進一步提高了FIFO工作的可靠性。

i.jpg


    表2為平均無故障工作時間的對比,C1和C2依賴于器件工藝。

j.jpg



4 結語
    一個高的平均無故障工作時間表明一個設計是優秀的,提高亞穩態的平均無故障工作時間減少信號傳輸中導致亞穩態問題的風險。本文通過研究FIFO的基本結構以及FPGA亞穩態的產生機理,提出了利用二級同步鏈和格雷碼計數器指針解決了同步以及空滿狀態判斷的難題,給出了VHDL軟件代碼,且該設計已經通過QuartusⅡ的時序仿真驗證,作為獨立模塊可以應用到需要異步時鐘域傳輸數據的電路中,大大提高異步數據傳輸效率及平均無故障工作時間。

此內容為AET網站原創,未經授權禁止轉載。
热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>
          国产欧美一区二区三区在线老狼| 午夜精品久久久久久99热| 亚洲午夜精品| 国产精品久久久久三级| 狠狠色综合色综合网络| 久久久久女教师免费一区| 国产精品chinese| 亚洲一区二区三区在线视频| 欧美日韩一区二区在线播放| 欧美日韩视频专区在线播放| 免费观看欧美在线视频的网站| 欧美成人精品福利| 欧美精品一区二区高清在线观看| 久久这里有精品视频| 欧美黑人一区二区三区| 欧美顶级少妇做爰| 欧美国产一区在线| 这里只有精品视频| 99精品国产一区二区青青牛奶| 久久精品免费观看| 久久久一二三| 国产日产欧美一区| 午夜精品久久久| 国外成人网址| 国产精品v欧美精品v日本精品动漫| 怡红院av一区二区三区| 欧美精品粉嫩高潮一区二区| 韩国av一区二区三区在线观看| 国内精品久久久久久久97牛牛| 一本一本久久a久久精品牛牛影视| 久久免费国产| 国产精品成人免费精品自在线观看| 久久免费午夜影院| 欧美激情精品久久久久| 亚洲性av在线| 欧美日本精品一区二区三区| 欧美一区二区黄| 国产欧美日韩一区二区三区在线观看| 国产精品美女www爽爽爽| 亚洲第一精品影视| 欧美精品一区在线播放| 欧美激情aⅴ一区二区三区| 麻豆精品精品国产自在97香蕉| 亚洲综合99| 久久精品水蜜桃av综合天堂| 一本久道久久综合婷婷鲸鱼| 国产精品网站在线| 欧美成人第一页| 久久久久九九九九| 翔田千里一区二区| 久久精品一区二区三区不卡牛牛| 亚洲午夜一区二区三区| 国产区亚洲区欧美区| 欧美日韩国产一区二区三区| 欧美在线你懂的| 亚洲影音一区| 久久九九国产精品怡红院| 国产三级欧美三级| 欧美一级大片在线免费观看| 亚洲激情偷拍| 欧美中文字幕在线播放| 美女精品网站| 国产精一区二区三区| 国产一区二区三区四区在线观看| 夜夜嗨一区二区| 亚洲欧美日韩爽爽影院| 国产精品vip| 在线不卡中文字幕| 一区二区欧美日韩视频| 亚洲一区二区三区精品动漫| 妖精视频成人观看www| 美女视频一区免费观看| 韩国精品在线观看| 午夜一区二区三视频在线观看| 在线综合视频| 欧美一区在线看| 欧美片在线播放| 麻豆精品国产91久久久久久| 国产精品影视天天线| 99在线|亚洲一区二区| 亚洲第一色中文字幕| 亚洲综合久久久久| 欧美日韩国产综合一区二区| 美女国产精品| 欧美成年人网站| 国产精品久久久久久久午夜片| 国内精品久久久久久久影视麻豆| 欧美成人免费在线视频| 免费成人毛片| 国产一区二区精品久久99| 欧美日韩一卡二卡| 久久久久久9999| 欧美精品入口| 亚洲一区视频在线观看视频| 欧美亚洲午夜视频在线观看| 欧美日韩国产欧| 国产农村妇女精品一二区| 国产精品天天看| 国产在线拍偷自揄拍精品| 亚洲美女尤物影院| 欧美日韩国产一区精品一区| 欧美日韩一区三区四区| 亚洲日本在线观看| 国产精品亚洲一区| 久久久91精品国产一区二区三区| 国内精品一区二区三区| 一区二区三区在线观看国产| 久久久女女女女999久久| 亚洲欧美精品在线观看| 久久国产日韩欧美| 欧美区在线播放| 男女视频一区二区| 亚洲一区二区三区在线视频| 欧美视频在线视频| 欧美精品一区二区三区在线播放| 一区在线电影| 欧美午夜电影在线| 国产日韩精品一区二区三区在线| 欧美中文字幕视频| 在线日韩欧美| 1000精品久久久久久久久| 国产午夜精品福利| 一区二区三区精品视频| 欧美日韩免费在线| 激情成人av| 国产亚洲成年网址在线观看| 在线观看视频免费一区二区三区| 国产欧美日韩专区发布| 久久riav二区三区| 欧美另类亚洲| 国产欧美日韩综合| 亚洲专区国产精品| 欧美另类69精品久久久久9999| 国产精品狼人久久影院观看方式| 中文精品视频| 国产精品美女主播| 欧美亚洲第一区| 亚洲免费婷婷| 久久精品日产第一区二区三区| 国产精品视频一区二区三区| 美女在线一区二区| 欧美激情2020午夜免费观看| 久久美女艺术照精彩视频福利播放| 亚洲一区二区欧美| 国产精品日韩在线| 一区二区三区国产精华| 欧美 日韩 国产精品免费观看| 亚洲综合好骚| 欧美jizzhd精品欧美巨大免费| 国产无一区二区| 影音先锋另类| 校园春色国产精品| 亚洲色图在线视频| 久久天堂国产精品| 蘑菇福利视频一区播放| 99视频国产精品免费观看| 欧美福利一区二区三区| 一本色道**综合亚洲精品蜜桃冫| 亚洲日本精品国产第一区| 欧美在线观看视频一区二区三区| 欧美日本韩国一区二区三区| 欧美三日本三级三级在线播放| 国产日韩一区二区| 国产欧美日韩在线视频| 亚洲国产成人av好男人在线观看| 亚洲午夜电影网| 99精品欧美一区二区三区| av成人老司机| 快射av在线播放一区| 欧美性天天影院| 艳妇臀荡乳欲伦亚洲一区| 亚洲欧洲精品一区二区精品久久久| 欧美一区二区免费视频| 黄色免费成人| 国产精品一国产精品k频道56| 国产精品日韩在线一区| 在线观看国产成人av片| 性欧美xxxx视频在线观看| 欧美肥婆在线| 99精品国产在热久久下载| 国产日韩一级二级三级| 欧美极品一区二区三区| 99精品国产在热久久下载| 久久久久久一区| 好吊色欧美一区二区三区视频| 欧美偷拍另类| 久久久久久久久伊人| 日韩午夜电影av| 国产人成一区二区三区影院| 欧美精品尤物在线| 另类酷文…触手系列精品集v1小说| 99香蕉国产精品偷在线观看| 欧美日本网站| 亚洲国产精品精华液2区45| 国产精品免费看片| 在线国产日韩| 亚洲第一级黄色片| 亚洲国产欧美精品| 亚洲一区二区三区四区在线观看| 一本色道久久综合狠狠躁篇的优点| 一本一道久久综合狠狠老精东影业| 久久精品亚洲热| 亚洲欧美日韩精品在线| 激情久久一区| 久久国产日本精品| 黄色精品一二区| 欧美国产日韩亚洲一区| 亚洲男女毛片无遮挡| 亚洲精品国产精品国自产在线| 欧美~级网站不卡| 黄色成人在线免费| 国产精品永久免费观看| 久久裸体视频| 欧美国产视频在线| 欧美精品色网| 亚洲午夜精品在线| 欧美久久久久久蜜桃| 国产精品免费视频xxxx| 欧美一区二区三区精品电影| 美女诱惑黄网站一区| 亚洲最新视频在线| 亚洲欧美一区二区原创| 免费日韩成人| 日韩视频精品在线| 蜜臀久久99精品久久久画质超高清| 久久狠狠亚洲综合| 国产日韩欧美在线观看| 夜夜嗨av一区二区三区免费区| 久久精品亚洲一区二区三区浴池| 国产一区二区三区日韩| 欧美色视频日本高清在线观看| 欧美1区2区| 欧美日韩国产精品一卡| 先锋亚洲精品| 久久伊人一区二区| 欧美尤物巨大精品爽| 亚洲一本大道在线| 欧美二区在线观看| 国产精品亚洲网站| 欧美成ee人免费视频| 国产视频久久久久| 国产一区二区主播在线| 亚洲精品国产精品乱码不99按摩| 欧美日韩视频在线一区二区| 日韩小视频在线观看| 国产一区二区三区四区| 亚洲女人天堂av| 亚洲午夜精品一区二区三区他趣| 亚洲激情影院| 永久域名在线精品| 亚洲精品一区二区三区四区高清| 欧美国产1区2区| 国产一区二区成人久久免费影院| 久久久久久久97| 亚洲私人影吧| 巨乳诱惑日韩免费av| 国产精品久久久久久亚洲调教| 国产精品每日更新在线播放网址| 宅男66日本亚洲欧美视频| 国产精品国内视频| 国产亚洲精品bt天堂精选| 国产伦精品一区二区三区视频孕妇| 欧美日韩国产三级| 国产精品永久免费在线| 欧美一激情一区二区三区| 亚洲成人在线网站| 蜜桃av一区二区三区| 在线免费观看欧美| 欧美视频你懂的| 久久精品国产亚洲一区二区| 久久一区二区三区国产精品| 亚洲欧美日韩国产综合| 西西裸体人体做爰大胆久久久| 亚洲天堂av高清| 欧美日韩精品福利| 国产精品久久久一区麻豆最新章节| 国产精品久久久久久av福利软件| 免费av成人在线| 亚洲午夜久久久| 欧美日韩在线播放| 国产三级欧美三级| 在线看片第一页欧美| 欧美私人啪啪vps| 午夜精品久久久久久久99热浪潮| 欧美国产高清| 激情一区二区三区| 亚洲精品视频啊美女在线直播| 欧美日本三级| 老妇喷水一区二区三区| 日韩一级大片| 亚洲精品1区| 99国产精品久久久久久久| 亚洲一区二区三区涩| 欧美午夜女人视频在线| 久久久久久久一区二区| 国产精品自拍小视频| 欧美亚洲日本网站| 一本色道久久综合亚洲精品按摩| 国产欧美短视频| 亚洲美女视频| 国产精品va在线播放我和闺蜜| 亚洲免费观看高清完整版在线观看| 日韩天堂av| 亚洲女与黑人做爰| 亚洲人精品午夜在线观看| 免费av成人在线| 久久久久国产免费免费| 国产精品九色蝌蚪自拍| 亚洲淫性视频| 欧美在线精品一区| 久久精品国产99| 久久久久久欧美| 一区二区亚洲精品| 狂野欧美激情性xxxx| 欧美三级韩国三级日本三斤| 亚洲欧美成aⅴ人在线观看| 国产精品一区免费视频| 午夜在线观看免费一区| 亚洲第一视频网站| 亚洲黄色视屏| 国产精品亚洲а∨天堂免在线| 午夜精品久久久久久久蜜桃app| 狠狠噜噜久久| 亚洲欧洲99久久| 欧美777四色影视在线| 欧美激情一区| 久久视频国产精品免费视频在线| 亚洲欧美制服另类日韩|