<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 基于VHDL的異步FIFO設計

          基于VHDL的異步FIFO設計

          作者: 時間:2011-08-17 來源:網(wǎng)絡 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/178738.htm

          i.jpg


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

          j.jpg



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


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 設計 FIFO 異步 VHDL 基于

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();