女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

異步fifo詳解

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

異步fifo詳解

一. 什么是異步FIFO

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

FIFO是一種數(shù)據(jù)緩沖器,用來(lái)實(shí)現(xiàn)數(shù)據(jù)先入先出的讀/寫(xiě)方式。FIFO有一個(gè)寫(xiě)端口和一個(gè)讀端口,外部無(wú)需使用者控制地址,使用方便。FIFO與普通的Block RAM有一個(gè)很明顯的區(qū)別就是使用Block RAM來(lái)做數(shù)據(jù)緩存處理,使用者必須自己控制讀和寫(xiě)地址的管理,必須保證寫(xiě)的數(shù)據(jù)不把Block RAM中未被讀出的內(nèi)容覆蓋掉從而造成數(shù)據(jù)錯(cuò)誤,同時(shí)保證讀的時(shí)候要讀出未被寫(xiě)入的地址。而采用FIFO時(shí),只需要關(guān)注FIFO控制器給出的空滿狀態(tài)信號(hào)即可知道當(dāng)前有沒(méi)有錯(cuò)誤的操作了FIFO,使FIFO的數(shù)據(jù)寫(xiě)溢出或讀空。

異步FIFO讀寫(xiě)分別采用相互異步的不同時(shí)鐘,使用異步FIFO可以在兩個(gè)不同時(shí)鐘系統(tǒng)之間快速而方便地傳輸實(shí)時(shí)數(shù)據(jù)

FIFO的常見(jiàn)參數(shù)

FIFO的寬度:即FIFO一次讀寫(xiě)操作的數(shù)據(jù)位;

FIFO的深度:指的是FIFO可以存儲(chǔ)多少個(gè)N位的數(shù)據(jù)(如果寬度為N)。

滿標(biāo)志:FIFO已滿或?qū)⒁獫M時(shí)由FIFO的狀態(tài)電路送出的一個(gè)信號(hào),以阻止FIFO的寫(xiě)操作繼續(xù)向FIFO中寫(xiě)數(shù)據(jù)而造成溢出(overflow)。

空標(biāo)志:FIFO已空或?qū)⒁諘r(shí)由FIFO的狀態(tài)電路送出的一個(gè)信號(hào),以阻止FIFO的讀操作繼續(xù)從FIFO中讀出數(shù)據(jù)而造成無(wú)效數(shù)據(jù)的讀出(underflow)。

讀時(shí)鐘:讀操作所遵循的時(shí)鐘,在每個(gè)時(shí)鐘沿來(lái)臨時(shí)讀數(shù)據(jù)。

寫(xiě)時(shí)鐘:寫(xiě)操作所遵循的時(shí)鐘,在每個(gè)時(shí)鐘沿來(lái)臨時(shí)寫(xiě)數(shù)據(jù)。

二、設(shè)計(jì)原理

2.1結(jié)構(gòu)框圖

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

另外還有寫(xiě)指針wr_ptr和寫(xiě)滿標(biāo)志位wr_full產(chǎn)生模塊,讀指針rd_ptr和讀空標(biāo)志位rd_empty產(chǎn)生模塊,以及雙端口存儲(chǔ)RAM模塊。

2.2 二進(jìn)制計(jì)數(shù)器存在的問(wèn)題

異步FIFO讀寫(xiě)指針需要在數(shù)學(xué)上的操作和比較才能產(chǎn)生準(zhǔn)確的空滿標(biāo)志位,但由于讀寫(xiě)指針屬于不同的時(shí)鐘域及讀寫(xiě)時(shí)鐘相位關(guān)系的不確定性,同步模塊采集另一時(shí)鐘域的指針時(shí),此指針有可能正處在跳變的過(guò)程中,如下圖所示,那么采集到的值很有可能是不期望的值,當(dāng)然,不期望的錯(cuò)誤結(jié)果也會(huì)隨之發(fā)生。

上圖中,rd_ptr2sync 3和4以及4和5之間的中間態(tài)是由于到各寄存器的時(shí)鐘rd_clk存在偏差而引起的。二進(jìn)制的遞增操作,在大多數(shù)情況下都會(huì)有兩位或者兩以上的bit位在同一個(gè)遞增操作內(nèi)發(fā)生變化,但由于實(shí)際電路中會(huì)存在時(shí)鐘偏差和不同的路徑延時(shí),二進(jìn)制計(jì)數(shù)器在自增時(shí)會(huì)不可避免地產(chǎn)生錯(cuò)誤的中間結(jié)果,如下圖。

由于rd_clk上升沿到達(dá)三寄存器的時(shí)間各不相同,這就導(dǎo)致了rd_ptr2sync的值從3’b011跳變3’b100的過(guò)程中經(jīng)歷了3’b111和3’b101,直到最后一個(gè)時(shí)鐘(rd_clk0)沿的到來(lái)后rd_ptr2sync才跳變到正確結(jié)果3’b100。中間結(jié)果的持續(xù)的時(shí)間雖然相對(duì)短暫,但是這些不正確的中間結(jié)果完全有可能被其它時(shí)鐘域的同步模塊采集到而產(chǎn)生錯(cuò)誤的動(dòng)作,見(jiàn)上圖。

由此可見(jiàn),要避免中間結(jié)果的產(chǎn)生,其中一個(gè)可行的方案就是使被同步模塊采集的數(shù)據(jù)遞變時(shí),每次只有一個(gè)bit位發(fā)生改變格雷碼計(jì)數(shù)器就是一個(gè)不錯(cuò)的選擇。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    400

    瀏覽量

    44615
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    cy7c68013a異步slave fifo模式,外部mcu無(wú)法讀寫(xiě)fifo怎么解決?

    cy7c68013a 異步slave fifo 模式,外部mcu無(wú)法讀寫(xiě)fifo 上位機(jī)發(fā)送bulk數(shù)據(jù),flag標(biāo)志是對(duì)的,SLCS也拉低了,是設(shè)置的低有效, 檢測(cè)到了flag不為空的標(biāo)志后
    發(fā)表于 06-03 10:49

    MAX3107SPI/I2C UART,具有128字FIFO技術(shù)手冊(cè)

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

    MAX14830四通道串行UART,具有128字FIFO技術(shù)手冊(cè)

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

    MAX3108 SPI/I2C UART,具有128字FIFO,WLP封裝技術(shù)手冊(cè)

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

    MAX3109雙通道串行UART,帶有128字FIFO技術(shù)手冊(cè)

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

    智多晶FIFO_Generator IP介紹

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

    基于FPGA的FIFO實(shí)現(xiàn)

    FIFO(First in First out)為先進(jìn)先出隊(duì)列,具有存儲(chǔ)功能,可用于不同時(shí)鐘域間傳輸數(shù)據(jù)以及不同的數(shù)據(jù)寬度進(jìn)行數(shù)據(jù)匹配。如其名稱,數(shù)據(jù)傳輸為單向,從一側(cè)進(jìn)入,再?gòu)牧硪粋?cè)出來(lái),出來(lái)的順序和進(jìn)入的順序相同。
    的頭像 發(fā)表于 04-09 09:55 ?462次閱讀
    基于FPGA的<b class='flag-5'>FIFO</b>實(shí)現(xiàn)

    AXI接口FIFO簡(jiǎn)介

    AXI接口FIFO是從Native接口FIFO派生而來(lái)的。AXI內(nèi)存映射接口提供了三種樣式:AXI4、AXI3和AXI4-Lite。除了Native接口FIFO支持的應(yīng)用外,AXI FIFO
    的頭像 發(fā)表于 03-17 10:31 ?839次閱讀
    AXI接口<b class='flag-5'>FIFO</b>簡(jiǎn)介

    解鎖TSMaster fifo函數(shù):報(bào)文讀取的高效方法

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

    SDRAM控制器的設(shè)計(jì)——Sdram_Control.v代碼解析(異步FIFO讀寫(xiě)模塊、讀寫(xiě)SDRAM過(guò)程)

    前言 SDRAM控制器里面包含5個(gè)主要的模塊,分別是PLL模塊,異步FIFO 寫(xiě)模塊,異步FIFO讀模塊,SDRAM接口控制模塊,SDRAM指令執(zhí)行模塊。 其中
    的頭像 發(fā)表于 03-04 10:49 ?1348次閱讀
    SDRAM控制器的設(shè)計(jì)——Sdram_Control.v代碼解析(<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>讀寫(xiě)模塊、讀寫(xiě)SDRAM過(guò)程)

    FIFO IP核的使用教程

    在數(shù)字設(shè)計(jì)中,利用FIFO進(jìn)行數(shù)據(jù)處理是非常普遍的應(yīng)用,例如,實(shí)現(xiàn)時(shí)鐘域交叉、低延時(shí)存儲(chǔ)器緩存、總線位寬調(diào)整等。下圖給出了FIFO生成器支持的一種可能配置。
    的頭像 發(fā)表于 01-03 09:36 ?2583次閱讀
    <b class='flag-5'>FIFO</b> IP核的使用教程

    FIFO Generator的Xilinx官方手冊(cè)

    FIFO作為FPGA崗位求職過(guò)程中最常被問(wèn)到的基礎(chǔ)知識(shí)點(diǎn),也是項(xiàng)目中最常被使用到的IP,其意義是非常重要的。本文基于對(duì)FIFO Generator的Xilinx官方手冊(cè)的閱讀與總結(jié),匯總主要知識(shí)點(diǎn)
    的頭像 發(fā)表于 11-12 10:46 ?1479次閱讀
    <b class='flag-5'>FIFO</b> Generator的Xilinx官方手冊(cè)

    FIFO的深度應(yīng)該怎么計(jì)算

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

    Efinity FIFO IP仿真問(wèn)題 -v1

    Efinity目前不支持聯(lián)合仿真,只能通過(guò)調(diào)用源文件仿真。 我們生成一個(gè)fifo IP命名為fifo_sim 在Deliverables中保留Testbench的選項(xiàng)。 在IP的生成目錄下會(huì)有以下
    的頭像 發(fā)表于 10-21 11:41 ?1459次閱讀
    Efinity <b class='flag-5'>FIFO</b> IP仿真問(wèn)題 -v1

    具有FIFO的雙異步通信元件TL16C552A數(shù)據(jù)表

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