国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    407

    瀏覽量

    45746
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    詳解SRC4192和SRC4193:專業音頻領域的異步采樣率轉換器

    詳解SRC4192和SRC4193:專業音頻領域的異步采樣率轉換器 在專業音頻和廣播應用的領域中,對音頻信號處理的精度和靈活性要求極高。SRC4192和SRC4193這兩款異步采樣率轉換器(ASRC
    的頭像 發表于 02-03 16:00 ?415次閱讀

    FIFO存儲器的種類、IP配置及應用

    FIRST IN FIRST OUT (先入先出)。顧名思義,FIFO是一個數據具有先進先出的存儲器。
    的頭像 發表于 01-13 15:15 ?370次閱讀
    <b class='flag-5'>FIFO</b>存儲器的種類、IP配置及應用

    探索TL16C550D/DI:高性能異步通信元件的技術剖析

    探索TL16C550D/DI:高性能異步通信元件的技術剖析 在當今的電子通信領域,異步通信元件扮演著至關重要的角色。今天,我們將深入探討德州儀器(TI)的TL16C550D和TL16C550DI這
    的頭像 發表于 01-04 16:20 ?224次閱讀

    詳解TL16C550C:高性能異步通信芯片的卓越之選

    詳解TL16C550C:高性能異步通信芯片的卓越之選 在電子工程師的日常工作中,選擇合適的通信芯片對于實現穩定、高效的異步通信至關重要。今天,我們就來深入探討一款功能強大的異步通信芯片
    的頭像 發表于 01-04 16:20 ?399次閱讀

    探索TL16C752D:具有64字節FIFO的雙路UART的卓越性能與應用

    探索TL16C752D:具有64字節FIFO的雙路UART的卓越性能與應用 在電子設計的廣闊領域中,UART(通用異步收發器)作為實現串行通信的關鍵組件,一直扮演著重要角色。今天,我們將深入探討TI
    的頭像 發表于 12-19 11:50 ?683次閱讀

    從底層解讀labview的TDMS高級異步寫入的工作原理

    在 LabVIEW 的 TDMS 高級異步寫入中,“異步寫入”指的是 寫入操作的調用方式 ,而不是指允許多個線程同時直接操作同一個文件的物理內容。 理解這個概念需要區分幾個層面: 異步調用 vs.
    發表于 08-14 17:05

    cy7c68013a異步slave fifo模式,外部mcu無法讀寫fifo怎么解決?

    cy7c68013a 異步slave fifo 模式,外部mcu無法讀寫fifo 上位機發送bulk數據,flag標志是對的,SLCS也拉低了,是設置的低有效, 檢測到了flag不為空的標志后
    發表于 06-03 10:49

    MAX3107SPI/I2C UART,具有128字FIFO技術手冊

    MAX3107是一款高級通用異步收發器(UART),接收、發送通道具有128字長的先入/先出(FIFO)數據緩沖器,可通過I2C或高速SPI?接口控制。2倍速和4倍速模式支持最高24Mbps的數據
    的頭像 發表于 05-22 11:24 ?1047次閱讀
    MAX3107SPI/I2C UART,具有128字<b class='flag-5'>FIFO</b>技術手冊

    MAX14830四通道串行UART,具有128字FIFO技術手冊

    MAX14830是一款先進的四通道通用異步收發器(UART),每路UART帶有128字先入/先出(FIFO)接收和發送緩存器,以及高速串行外設接口(SPI?)或I2C控制器接口。PLL和分數波特率發生器為波特率編程和參考時鐘選擇提供了極大靈活性。
    的頭像 發表于 05-22 10:14 ?1046次閱讀
    MAX14830四通道串行UART,具有128字<b class='flag-5'>FIFO</b>技術手冊

    MAX3108 SPI/I2C UART,具有128字FIFO,WLP封裝技術手冊

    MAX3108為小尺寸通用異步收發器(UART),每路接收和發送FIFO具有128個字,通過串行I2C或SPI控制器接口控制。自動休眠和關斷模式有助于降低待機功耗。500μA (最大)低電源電流
    的頭像 發表于 05-22 10:00 ?1029次閱讀
    MAX3108 SPI/I2C UART,具有128字<b class='flag-5'>FIFO</b>,WLP封裝技術手冊

    MAX3109雙通道串行UART,帶有128字FIFO技術手冊

    MAX3109先進的雙通道通用異步收發器(UART)具有128字收發先進/先出(FIFO)堆棧和高速SPI?或I2C控制器接口。2倍速和4倍速模式允許工作在最高24Mbps數據速率。鎖相環(PLL)和分數波特率發生器允許靈活設置波特率、選擇參考時鐘。
    的頭像 發表于 05-22 09:26 ?837次閱讀
    MAX3109雙通道串行UART,帶有128字<b class='flag-5'>FIFO</b>技術手冊

    智多晶FIFO_Generator IP介紹

    FIFO_Generator是智多晶設計的一款通用型FIFO IP。當前發布的FIFO_Generator IP是2.0版本,相比之前的1.1版本主要新增了非等比輸入輸出數據位寬支持和異步
    的頭像 發表于 04-25 17:24 ?1812次閱讀
    智多晶<b class='flag-5'>FIFO</b>_Generator IP介紹

    基于FPGA的FIFO實現

    FIFO(First in First out)為先進先出隊列,具有存儲功能,可用于不同時鐘域間傳輸數據以及不同的數據寬度進行數據匹配。如其名稱,數據傳輸為單向,從一側進入,再從另一側出來,出來的順序和進入的順序相同。
    的頭像 發表于 04-09 09:55 ?1456次閱讀
    基于FPGA的<b class='flag-5'>FIFO</b>實現

    AXI接口FIFO簡介

    AXI接口FIFO是從Native接口FIFO派生而來的。AXI內存映射接口提供了三種樣式:AXI4、AXI3和AXI4-Lite。除了Native接口FIFO支持的應用外,AXI FIFO
    的頭像 發表于 03-17 10:31 ?2127次閱讀
    AXI接口<b class='flag-5'>FIFO</b>簡介

    解鎖TSMaster fifo函數:報文讀取的高效方法

    前言:TSMaster目前有兩種讀取報文的模式:回調函數模式和fifo模式。fifo函數是TSMaster近期新增的函數,本文將重點介紹fifo模塊。關于回調函數的使用方法可以參考幫助模塊的《快速
    的頭像 發表于 03-14 20:04 ?1148次閱讀
    解鎖TSMaster <b class='flag-5'>fifo</b>函數:報文讀取的高效方法