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漫談之異步FIFO空滿信號(hào)的產(chǎn)生位置

路科驗(yàn)證 ? 來(lái)源:芯時(shí)代青年 ? 2024-03-19 13:37 ? 次閱讀

格雷碼的事聊完了,后面順理成章的就是讀寫(xiě)通路模塊的設(shè)計(jì)。不過(guò)在讀寫(xiě)控制通路之前還要明確下另一個(gè)問(wèn)題,就是空滿信號(hào)的產(chǎn)生位置的事情。

這個(gè)問(wèn)題在面試時(shí)的問(wèn)法是:空滿信號(hào)分別在哪個(gè)時(shí)鐘域產(chǎn)生?

眾所周知,信號(hào)跳變時(shí)打兩拍(或者三拍)能夠消除亞穩(wěn)態(tài),但是信號(hào)從亞穩(wěn)態(tài)恢復(fù)的時(shí)候不一定恢復(fù)成0還是1。而因?yàn)楦窭状a每次變化1比特的特性,可以保證即使恢復(fù)錯(cuò)了也不過(guò)是錯(cuò)成之前的值罷了。

當(dāng)然了即使沒(méi)有亞穩(wěn)態(tài)誤恢復(fù)的問(wèn)題,讀寫(xiě)指針傳到對(duì)面的時(shí)鐘域去,總歸會(huì)延遲好幾拍的,所以在寫(xiě)時(shí)鐘域看到的讀指針是落后于實(shí)時(shí)讀指針的,同理讀時(shí)鐘域看到的寫(xiě)指針也是落后于真實(shí)的寫(xiě)指針的。

910c4d72-e5ae-11ee-a297-92fbcf53809c.png

那么來(lái)分析下滯后的影響,令fifo_cnt為fifo中已有的數(shù)據(jù)量計(jì)數(shù)值。

1.waddr準(zhǔn)確,raddr滯后,那么計(jì)算得到fifo_cnt會(huì)偏大。如waddr=7,raddr=4,滯后的raddr=1,計(jì)算得到fifo_cnt為6,而實(shí)際上fifo_cnt為3;

2.waddr滯后,raddr準(zhǔn)確,那么計(jì)算得到fifo_cnt會(huì)偏小。如waddr=7,raddr=4,滯后的waddr=5,計(jì)算得到fifo_cnt為1,而實(shí)際上fifo_cnt為3;

進(jìn)一步的,如果fifo_cnt計(jì)算偏大了,對(duì)于讀和寫(xiě)來(lái)說(shuō)會(huì)有什么影響呢?讀可能發(fā)生功能問(wèn)題,寫(xiě)可能發(fā)生性能問(wèn)題。讀可能發(fā)生功能問(wèn)題在于,本來(lái)你里面沒(méi)數(shù)了,結(jié)果fifo_cnt算的偏大還以為有數(shù),有數(shù)就能讀一讀就出錯(cuò)了。寫(xiě)可能發(fā)生性能問(wèn)題在于,本來(lái)你里面沒(méi)滿呢,結(jié)果fifo_cnt算的偏大還以為滿了,滿了就不能寫(xiě)本來(lái)能寫(xiě)的寫(xiě)不進(jìn)去那性能不就降下來(lái)了么。

如果fifo_cnt計(jì)算偏小了,對(duì)于讀和寫(xiě)來(lái)說(shuō)會(huì)有什么影響呢?讀可能發(fā)生性能問(wèn)題,寫(xiě)可能發(fā)生功能問(wèn)題。讀可能發(fā)生性能問(wèn)題在于,本來(lái)你里面還有數(shù),結(jié)果fifo_cnt算的偏小還以為沒(méi)數(shù)了,沒(méi)數(shù)了就不能讀了。寫(xiě)可能發(fā)生功能問(wèn)題在于,本來(lái)你已經(jīng)滿了,結(jié)果fifo_cnt算的偏小還以為沒(méi)滿,沒(méi)滿就能寫(xiě)一寫(xiě)就出錯(cuò)了。

所以,對(duì)于寫(xiě)fifo而言,fifo_cnt計(jì)算偏小不可接收,fifo_cnt計(jì)算偏大可以接收,所以滿信號(hào)必須由準(zhǔn)確的waddr和滯后的raddr產(chǎn)生,也就是在寫(xiě)時(shí)鐘域產(chǎn)生。

對(duì)于讀fifo而言,fifo_cnt計(jì)算偏小可以接收,fifo_cnt計(jì)算偏大不可接收。所以空信號(hào)必須由滯后的waddr和準(zhǔn)確的raddr產(chǎn)生,也就是在讀時(shí)鐘域產(chǎn)生。

91181a8a-e5ae-11ee-a297-92fbcf53809c.jpg



審核編輯:劉清

聲明:本文內(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

    文章

    386

    瀏覽量

    43492
  • 格雷碼
    +關(guān)注

    關(guān)注

    2

    文章

    34

    瀏覽量

    13167
  • 時(shí)鐘域
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    9524

原文標(biāo)題:【芯片設(shè)計(jì)】FIFO漫談之異步FIFO空滿信號(hào)的產(chǎn)生位置

文章出處:【微信號(hào):Rocker-IC,微信公眾號(hào):路科驗(yàn)證】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    求助 FPGA 異步FIFO IP核

    各位大神: 異步FIFO 滿信號(hào)為什么都是高?描述如下:always @(posedge DFIFO_clk or negedge rs
    發(fā)表于 07-01 01:51

    異步FIFO指針同步產(chǎn)生的問(wèn)題

    如圖所示的異步FIFO,個(gè)人覺(jué)得在讀寫(xiě)時(shí)鐘同步時(shí)會(huì)產(chǎn)生兩個(gè)時(shí)鐘周期的延時(shí),如果讀寫(xiě)時(shí)鐘頻率相差不大,某一時(shí)刻讀寫(xiě)指針相等,當(dāng)寫(xiě)指針同步到讀模塊時(shí)會(huì)產(chǎn)生延時(shí),實(shí)際同步到讀模塊的寫(xiě)指針是兩
    發(fā)表于 08-29 18:30

    【鋯石A4 FPGA試用體驗(yàn)】fifo實(shí)驗(yàn)(2)-異步fifo

    本帖最后由 630183258 于 2016-11-5 17:31 編輯 一、異步fifo的原理圖管腳定義:data輸入數(shù)據(jù)q輸出數(shù)據(jù)wrreq寫(xiě)使能信號(hào),高電平有效wrfull寫(xiě)數(shù)據(jù)滿
    發(fā)表于 11-05 16:57

    關(guān)于異步fifo的安全問(wèn)題:

    關(guān)于異步fifo的安全問(wèn)題:1. 雖然異步fifo可以提供多個(gè)握手信號(hào),但真正影響安全性能的就兩個(gè):2. 一個(gè)是讀時(shí)鐘域的空
    發(fā)表于 03-05 10:40

    高速異步FIFO的設(shè)計(jì)與實(shí)現(xiàn)

    本文主要研究了用FPGA 芯片內(nèi)部的EBRSRAM 來(lái)實(shí)現(xiàn)異步FIFO 設(shè)計(jì)方案,重點(diǎn)闡述了異步FIFO 的標(biāo)志信號(hào)——
    發(fā)表于 01-13 17:11 ?40次下載

    Camera Link接口的異步FIFO設(shè)計(jì)與實(shí)現(xiàn)

    介紹了異步FIFO在Camera Link接口中的應(yīng)用,將Camera Link接口中的幀有效信號(hào)FVAL和行有效信號(hào)LVAL引入到異步
    發(fā)表于 07-28 16:08 ?32次下載

    異步FIFO結(jié)構(gòu)及FPGA設(shè)計(jì)

    異步FIFO結(jié)構(gòu)及FPGA設(shè)計(jì),解決亞穩(wěn)態(tài)的問(wèn)題
    發(fā)表于 11-10 15:21 ?4次下載

    異步FIFO的設(shè)計(jì)分析及詳細(xì)代碼

    本文首先對(duì)異步 FIFO 設(shè)計(jì)的重點(diǎn)難點(diǎn)進(jìn)行分析,最后給出詳細(xì)代碼。 一、FIFO簡(jiǎn)單講解 FIFO的本質(zhì)是RAM, 先進(jìn)先出 重要參數(shù):fifo
    發(fā)表于 11-15 12:52 ?8536次閱讀
    <b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>的設(shè)計(jì)分析及詳細(xì)代碼

    基于異步FIFO結(jié)構(gòu)原理

    在現(xiàn)代的集成電路芯片中,隨著設(shè)計(jì)規(guī)模的不斷擴(kuò)大,一個(gè)系統(tǒng)中往往含有數(shù)個(gè)時(shí)鐘。多時(shí)鐘域帶來(lái)的一個(gè)問(wèn)題就是,如何設(shè)計(jì)異步時(shí)鐘之間的接口電路。異步FIFO(Firstln F irsto ut)是解決這個(gè)
    發(fā)表于 02-07 14:22 ?0次下載
    基于<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>結(jié)構(gòu)原理

    同步FIFOVerilog實(shí)現(xiàn)

    FIFO的分類根均FIFO工作的時(shí)鐘域,可以將FIFO分為同步FIFO異步FIFO。同步
    的頭像 發(fā)表于 11-01 09:57 ?1880次閱讀

    異步FIFOVerilog代碼實(shí)現(xiàn)案例

    同步FIFO的意思是說(shuō)FIFO的讀寫(xiě)時(shí)鐘是同一個(gè)時(shí)鐘,不同于異步FIFO,異步FIFO的讀寫(xiě)時(shí)鐘
    發(fā)表于 11-01 09:58 ?1570次閱讀

    異步fifo詳解

    異步fifo詳解 一. 什么是異步FIFO FIFO即First in First out的英文簡(jiǎn)稱,是一種先進(jìn)先出的數(shù)據(jù)緩存器,與普通存儲(chǔ)
    的頭像 發(fā)表于 12-12 14:17 ?4043次閱讀

    FIFO設(shè)計(jì)—異步FIFO

    異步FIFO主要由五部分組成:寫(xiě)控制端、讀控制端、FIFO Memory和兩個(gè)時(shí)鐘同步端
    發(fā)表于 05-26 16:17 ?1504次閱讀
    <b class='flag-5'>FIFO</b>設(shè)計(jì)—<b class='flag-5'>異步</b><b class='flag-5'>FIFO</b>

    FIFO相關(guān)信號(hào)滿狀態(tài)的原理說(shuō)明

    FIFO(First In First Out)是異步數(shù)據(jù)傳輸時(shí)經(jīng)常使用的存儲(chǔ)器。該存儲(chǔ)器的特點(diǎn)是數(shù)據(jù)先進(jìn)先出(后進(jìn)后出)。
    發(fā)表于 05-29 15:35 ?7123次閱讀
    <b class='flag-5'>FIFO</b>相關(guān)<b class='flag-5'>信號(hào)</b>及<b class='flag-5'>空</b><b class='flag-5'>滿</b>狀態(tài)的原理說(shuō)明

    同步FIFO異步FIFO的區(qū)別 同步FIFO異步FIFO各在什么情況下應(yīng)用

    簡(jiǎn)單的一種,其特點(diǎn)是輸入和輸出都與時(shí)鐘信號(hào)同步,當(dāng)時(shí)鐘到來(lái)時(shí),數(shù)據(jù)總是處于穩(wěn)定狀態(tài),因此容易實(shí)現(xiàn)數(shù)據(jù)的傳輸和存儲(chǔ)。 而異步FIFO則是在波形的上升沿和下降沿上進(jìn)行處理,在輸入輸出端口處分別增加輸入和輸出指針,用于管理數(shù)據(jù)的讀寫(xiě)。
    的頭像 發(fā)表于 10-18 15:23 ?1613次閱讀