色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

異步fifo詳解

h1654155355.6033 ? 來源:未知 ? 作者:朱常 ? 2022-12-12 14:17 ? 次閱讀

異步fifo詳解

一. 什么是異步FIFO

FIFO即First in First out的英文簡稱,是一種先進先出的數據緩存器,與普通存儲器的區別在于沒有外部讀寫的地址線,缺點是只能順序的讀取和寫入數據(對于大型數據存儲,在性能上必然緩慢),其數據地址是由內部讀寫指針自動加一完成的,不能像普通的存儲器一樣,由地址線決定讀取或者寫入某個特定地址的數據,按讀寫是否為相同時鐘域分為同步和異步FIFO,這里主要介紹異步FIFO,主要用于跨時鐘域傳輸數據。

FIFO是一種數據緩沖器,用來實現數據先入先出的讀/寫方式。FIFO有一個寫端口和一個讀端口,外部無需使用者控制地址,使用方便。FIFO與普通的Block RAM有一個很明顯的區別就是使用Block RAM來做數據緩存處理,使用者必須自己控制讀和寫地址的管理,必須保證寫的數據不把Block RAM中未被讀出的內容覆蓋掉從而造成數據錯誤,同時保證讀的時候要讀出未被寫入的地址。而采用FIFO時,只需要關注FIFO控制器給出的空滿狀態信號即可知道當前有沒有錯誤的操作了FIFO,使FIFO的數據寫溢出或讀空。

異步FIFO讀寫分別采用相互異步的不同時鐘,使用異步FIFO可以在兩個不同時鐘系統之間快速而方便地傳輸實時數據

FIFO的常見參數

FIFO的寬度:即FIFO一次讀寫操作的數據位;

FIFO的深度:指的是FIFO可以存儲多少個N位的數據(如果寬度為N)。

滿標志:FIFO已滿或將要滿時由FIFO的狀態電路送出的一個信號,以阻止FIFO的寫操作繼續向FIFO中寫數據而造成溢出(overflow)。

空標志:FIFO已空或將要空時由FIFO的狀態電路送出的一個信號,以阻止FIFO的讀操作繼續從FIFO中讀出數據而造成無效數據的讀出(underflow)。

讀時鐘:讀操作所遵循的時鐘,在每個時鐘沿來臨時讀數據。

寫時鐘:寫操作所遵循的時鐘,在每個時鐘沿來臨時寫數據。

二、設計原理

2.1結構框圖

如上圖所示的同步模塊synchronize to write clk,其作用是把讀時鐘域的讀指針rd_ptr采集到寫時鐘(wr_clk)域,然后和寫指針wr_ptr進行比較從而產生或撤消寫滿標志位wr_full;類似地,同步模塊synchronize to read clk的作用是把寫時鐘域的寫指針wr_ptr采集到讀時鐘域,然后和讀指針rd_ptr進行比較從而產生或撤消讀空標志位rd_empty。

另外還有寫指針wr_ptr和寫滿標志位wr_full產生模塊,讀指針rd_ptr和讀空標志位rd_empty產生模塊,以及雙端口存儲RAM模塊。

2.2 二進制計數器存在的問題

異步FIFO讀寫指針需要在數學上的操作和比較才能產生準確的空滿標志位,但由于讀寫指針屬于不同的時鐘域及讀寫時鐘相位關系的不確定性,同步模塊采集另一時鐘域的指針時,此指針有可能正處在跳變的過程中,如下圖所示,那么采集到的值很有可能是不期望的值,當然,不期望的錯誤結果也會隨之發生。

上圖中,rd_ptr2sync 3和4以及4和5之間的中間態是由于到各寄存器的時鐘rd_clk存在偏差而引起的。二進制的遞增操作,在大多數情況下都會有兩位或者兩以上的bit位在同一個遞增操作內發生變化,但由于實際電路中會存在時鐘偏差和不同的路徑延時,二進制計數器在自增時會不可避免地產生錯誤的中間結果,如下圖。

由于rd_clk上升沿到達三寄存器的時間各不相同,這就導致了rd_ptr2sync的值從3’b011跳變3’b100的過程中經歷了3’b111和3’b101,直到最后一個時鐘(rd_clk0)沿的到來后rd_ptr2sync才跳變到正確結果3’b100。中間結果的持續的時間雖然相對短暫,但是這些不正確的中間結果完全有可能被其它時鐘域的同步模塊采集到而產生錯誤的動作,見上圖。

由此可見,要避免中間結果的產生,其中一個可行的方案就是使被同步模塊采集的數據遞變時,每次只有一個bit位發生改變格雷碼計數器就是一個不錯的選擇。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • fifo
    +關注

    關注

    3

    文章

    387

    瀏覽量

    43648
收藏 人收藏

    評論

    相關推薦

    FIFO Generator的Xilinx官方手冊

    FIFO作為FPGA崗位求職過程中最常被問到的基礎知識點,也是項目中最常被使用到的IP,其意義是非常重要的。本文基于對FIFO Generator的Xilinx官方手冊的閱讀與總結,匯總主要知識點
    的頭像 發表于 11-12 10:46 ?336次閱讀
    <b class='flag-5'>FIFO</b> Generator的Xilinx官方手冊

    FIFO的深度應該怎么計算

    FIFO是FPGA/IC設計中經常使用到的模塊,它經常被用在兩個模塊之間進行數據的緩存,以避免數據在傳輸過程中丟失。同時FIFO也經常被用在跨時鐘域處理中。
    的頭像 發表于 10-25 15:20 ?287次閱讀
    <b class='flag-5'>FIFO</b>的深度應該怎么計算

    Efinity FIFO IP仿真問題 -v1

    Efinity目前不支持聯合仿真,只能通過調用源文件仿真。 我們生成一個fifo IP命名為fifo_sim 在Deliverables中保留Testbench的選項。 在IP的生成目錄下會有以下
    的頭像 發表于 10-21 11:41 ?981次閱讀
    Efinity <b class='flag-5'>FIFO</b> IP仿真問題 -v1

    具有FIFO的雙異步通信元件TL16C552A數據表

    電子發燒友網站提供《具有FIFO的雙異步通信元件TL16C552A數據表.pdf》資料免費下載
    發表于 06-26 11:28 ?0次下載
    具有<b class='flag-5'>FIFO</b>的雙<b class='flag-5'>異步</b>通信元件TL16C552A數據表

    異步永磁電機工作原理 永磁電機有異步的嗎

    異步永磁電機是一種將永磁材料與異步電機技術相結合的新型電機,它具有效率高、結構簡單、體積小、重量輕、維護方便等優點,在工業、農業、交通運輸等領域得到了廣泛應用。本文將詳細介紹異步永磁電機的工作原理
    的頭像 發表于 06-13 10:03 ?978次閱讀

    同步FIFO異步FIFO區別介紹

    ,并且間隔時間長,也就是突發寫入。那么通過設置一定深度的FIFO,可以起到數據暫存的功能,且使得后續處理流程平滑。 時鐘域的隔離:主要用異步FIFO。對于不同時鐘域的數據傳輸,可以通過FIFO
    的頭像 發表于 06-04 14:27 ?1564次閱讀
    同步<b class='flag-5'>FIFO</b>和<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>區別介紹

    DMA產生FIFO error interrupt錯誤的原因?

    DMA用于接收采集AD轉化數據,而且AD每間隔50us采集一次,DMA配置成單次模式,并收數長度50次,未啟用FIFO模式,但是當外部中斷非常頻繁時,DMA不知怎么回事,產生了FIFO 錯誤,按道理
    發表于 05-15 06:34

    關于同步FIFO異步FIFO的基礎知識總結

    FIFO是一種先進先出數據緩存器,它與普通存儲器的區別是沒有外部讀寫地址線,使用起來非常簡單,缺點是只能順序讀寫,而不能隨機讀寫。
    的頭像 發表于 04-09 14:23 ?3220次閱讀
    關于同步<b class='flag-5'>FIFO</b>和<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>的基礎知識總結

    FIFO漫談之異步FIFO空滿信號的產生位置

    格雷碼的事聊完了,后面順理成章的就是讀寫通路模塊的設計。不過在讀寫控制通路之前還要明確下另一個問題,就是空滿信號的產生位置的事情。
    的頭像 發表于 03-19 13:37 ?666次閱讀
    <b class='flag-5'>FIFO</b>漫談之<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>空滿信號的產生位置

    cy7c68013a slave fifo寫數據出現異常的原因有哪些?如何解決?

    我使用68013A和MCU采用Slave Fifo 異步方式進行通訊,EP2為AUTOOUT,EP6為AUTOIN,16位。現在有一個奇怪的現象出現,當通過mcu發送0x00 00 ff ff 00
    發表于 02-29 07:00

    如何清除SPI通信中的TX_FIFO和RX_FIFO

    你好, 如何清除 SPI通信中的 TX_FIFO 和 RX_FIFO?是否有任何 API 可以清除接收數據緩沖區。
    發表于 02-27 07:16

    同步級聯和異步級聯的區別 異步級聯和同步級聯分別要注意什么

    指與同步級聯相對應的,異步級聯是一種不同的級聯方式。在異步級聯中,級聯模塊之間不需要等待前一個模塊完全執行完畢才能開始執行下一個模塊。相反,每個模塊都可以獨立運行,并在完成之后通知下一個模塊開始執行
    的頭像 發表于 02-22 13:40 ?1805次閱讀

    異步FIFO結構設計

    電子發燒友網站提供《異步FIFO結構設計.pdf》資料免費下載
    發表于 02-06 09:06 ?0次下載

    異步整流是什么 異步整流優點介紹

    異步整流主要由一個高邊MOS管和一個續流二極管構成。這種整流方式之所以被稱為異步,是因為其續流過程是自然發生的,與同步整流相比,它具有不同的工作原理。 對于同步降壓電路的構造,它相當于一個柵極半橋
    的頭像 發表于 01-12 15:26 ?900次閱讀
    <b class='flag-5'>異步</b>整流是什么 <b class='flag-5'>異步</b>整流優點介紹

    異步電機應用類型有哪些?該如何分類?

    作電動機運行的異步電機。因其轉子繞組電流是感應產生的,又稱感應電動機。異步電動機是各類電動機中應用最廣、需要量最大的一種。各國的以電為動力的機械中,約有90%左右為異步電動機,其中小型異步
    的頭像 發表于 01-09 08:36 ?839次閱讀
    <b class='flag-5'>異步</b>電機應用類型有哪些?該如何分類?
    主站蜘蛛池模板: 99九九免费热在线精品| 亚洲日韩在线天堂一| 午夜久久影院| 亚洲AV无码国产精品色在线看| 亚洲高清一区二区三区电影| 亚洲涩福利高清在线| 中文字幕永久在线| X8X8拨牐拨牐X8免费视频8午夜| 东热rq大乱交| 国产自产第一区c国产| 九九黄色大片| 年轻老师毛茸茸自由性| 色欲AV色欲AV久久麻豆| 亚洲国产精品嫩草影院久久| 依恋影院在线观看| RUN AWAY无删减全集动漫| 国产极品美女视频福利| 久草热8精品视频在线观看| 免费中文字幕视频| 四虎国产精品高清在线观看| 亚洲精品另类有吗中文字幕 | 宿舍BL 纯肉各种PLAY H| 亚洲国产精品VA在线看黑人| 伊人久久综合影院首页| YELLOW视频在线观看免费版高清| 国产精品久久高潮呻吟无码| 久久毛片基地| 日韩精品真人荷官无码| 亚洲免费在线| xxx粗大长欧美| 好男人的视频在线观看| 欧美 日韩 无码 有码 在线 | 欧美xxxxx18| 性色无码AV久久蜜臀| 538久久视频在线| 国产欧美第一页| 免费久久狼人香蕉网| 亚婷婷洲AV久久蜜臀无码| 3d无遮挡h肉动漫在线播放| 国产精品www视频免费看| 麻豆精品国产剧情观看|