《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 其他 > 教學(xué):FPGA學(xué)習(xí)-總結(jié)fifo設(shè)計(jì)中深度H的計(jì)算

教學(xué):FPGA學(xué)習(xí)-總結(jié)fifo設(shè)計(jì)中深度H的計(jì)算

2022-08-30
來(lái)源:FPGA設(shè)計(jì)論壇
關(guān)鍵詞: FPGA fifo設(shè)計(jì)

  介紹:

  對(duì)于fifo來(lái)說(shuō),,H的設(shè)置至關(guān)重要。既要保證功能性,,不溢出丟數(shù),,也要保證性能流水。深度設(shè)置過(guò)小會(huì)影響功能,,過(guò)大又浪費(fèi)資源,。因此,總結(jié)下fifo設(shè)計(jì)中深度H的計(jì)算,。

  一,、同步sync fifo

  1.1 流控反壓后不溢出

  假設(shè)數(shù)據(jù)一直發(fā),下游一直讀,,讀頻率小于寫頻率時(shí),,fc(flow control)流控后,最壞的情況下,,下游不讀了,。此時(shí)fifo反壓信號(hào)拉高,上游寫ready拉低,,此時(shí)路上的數(shù)據(jù)需要能存入fifo,,稱之為過(guò)沖。過(guò)沖需要保證路上的數(shù)據(jù)被fifo完全吸收不溢出,,因此fifo的深度H=過(guò)沖+上水位線TA,。

  1.2 不斷流

  對(duì)于同頻同步fifo來(lái)說(shuō),只要深度大于1,,只要保證上游每cycle都有wvalid,,fifo讀一定不會(huì)斷流,,可以實(shí)現(xiàn)流水。

  當(dāng)引入fc后,,極端場(chǎng)景下,,當(dāng)達(dá)到反壓水位線后,馬上停止寫入,,有一拍的讀出后,,反壓撤銷。在讀空f(shuō)ifo之前,,必須有fifo的寫入操作,,以保證fifo不被讀空,從而產(chǎn)生斷流氣泡,。

  假設(shè)每cycle都讀,,則在讀完反壓水位線深度數(shù)據(jù)時(shí),第一筆寫fifo命令產(chǎn)生,。此時(shí),,

  1)data產(chǎn)生到寫入fifo路上時(shí)延N cycle;

  2)fc發(fā)生后下一拍產(chǎn)生流控信號(hào),,data_gen停止產(chǎn)生data,;

  3)fc取消后,data_gen下兩拍開(kāi)始產(chǎn)生data,;

  4)此過(guò)程中每cycle都在讀數(shù)據(jù),。

  上述場(chǎng)景下,當(dāng)發(fā)生流控時(shí),,過(guò)沖的數(shù)據(jù)個(gè)數(shù)是N+1,,當(dāng)取消流控時(shí),產(chǎn)生數(shù)據(jù)的時(shí)延是N+2,,因此fifo的深度H=N+1+N+2=2N+3,。fifo深度只有大于這個(gè)數(shù)據(jù)才不會(huì)產(chǎn)生氣泡斷流。

  二,、異步async fifo

  對(duì)于fc場(chǎng)景,,異步fifo最大的問(wèn)題是寫讀指針跨時(shí)鐘域cdc同步中的時(shí)延。如果寫指針同步到rclk為M個(gè)時(shí)延,,讀指針同步到wclk也為M個(gè)時(shí)延,,則fifo深度H=2N+3+M+M=2N+2M+3。此處只是簡(jiǎn)單場(chǎng)景,,真正計(jì)算深度時(shí),,還需考慮其它打拍,信號(hào)組合邏輯等產(chǎn)生的時(shí)延。



更多信息可以來(lái)這里獲取==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。