在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

FIFO的深度應該怎么計算

FPGA開源工坊 ? 來源:FPGA開源工坊 ? 2024-10-25 15:20 ? 次閱讀

本文首發于公眾號 FPGA開源工坊

FIFO是FPGA/IC設計中經常使用到的模塊,它經常被用在兩個模塊之間進行數據的緩存,以避免數據在傳輸過程中丟失。同時FIFO也經常被用在跨時鐘域處理中。

FIFO深度的計算是FPGA和IC筆面試中經常被問到的一個問題,在這篇文章里面我們就來討論一下FIFO的深度應該怎么計算。

FIFO的深度如果設置的小了就會有丟數的風險,設置的大了會有資源的浪費。

在討論如何計算FIFO的深度之前,應該先明白一個概念,那就是突發傳輸 ,也就是burst。

突發傳輸

為什么要明確突發傳輸的概念呢?我們假設有以下幾種開發場景。

場景一:讀比寫快

假如說一個FIFO在不間斷的向里面寫入數據和讀出數據,并且向FIFO里面寫數據的速度比從FIFO里面讀數據的速度要慢,那么是不是這個FIFO永遠都不會被寫滿了。

場景二:寫比讀快

假如說一個FIFO在不間斷的向里面寫入數據和讀出數據,并且寫入的速度比讀出的速度快,那么是不是意味著這個FIFO的深度無論設置多少都終將會被寫滿。

所以不間斷在對FIFO不間斷的進行讀寫的情形中討論FIFO深度是沒有意義的。

而我們要討論的FIFO深度其實是在突發傳輸中才是有意義的。

突發傳輸:就是說一個又一個的數據包,每一個數據包之間是有間隙的。

每一個數據包的長度叫做burst length 突發長度

FIFO的最小深度就與突發長度,讀寫速率有關系。

計算出來FIFO的深度關鍵就在于計算出來在讀寫突發的這段時間內,有多少數據沒有被讀走,這個數據的多少就是FIFO的最小深度。

計算公式

FIFO的深度可以用下面的公式計算出來

可以看到在上述公式里面的關鍵就是確定burst length。

下面就通過幾個例子來說明burst length的計算。

例子

例一

某大廠的筆試題:

設計同步FIFO,每100個cycle可以寫入80個數據,每10個cycle可以讀出8個數據,FIFO的深度至少為:

A: 16

B: 32

C: 64

D: 72

首先從題目中知道同步FIFO,所以rd_clk和wr_clk是一樣的。

第二每10個cycle中可以讀出8個數據,那么rd_rate就是8/10也就是0.8

現在關鍵就是burst length的計算了。

每100個cycle可以寫入80個數據,那么是不是意味著這80個數據可以在100個cycle的周期的任意時間寫進FIFO里面。那么什么時候是連續寫入數據最多的極端情況呢,這個極端情況就是burst length最大的時候。

這個極端情況就是在連續的200個cycle中,是不是可以寫入160個數據,那么這160個數據背靠背的連續寫入就是極端情況了。

如下圖所示:

80d0dd66-9052-11ef-a511-92fbcf53809c.png

在連續兩百個周期內,前20個周期空閑,中間160個時鐘向FIFO寫入數據,最后20個時鐘再次空閑。

所以burst length就是160

所以FIFO的最小深度為

例二

有一個FIFO設計,輸入時鐘100MHz,輸出時鐘80MHz,輸入數據模式是固定的,其中1000個時鐘中有800個時鐘傳輸連續數據,另外200個空閑,請問為了避免FIFO下溢/上溢,最小深度是多少

A: 320

B: 80

C: 160

D: 200

根據題意wr_clk是100, rd_clk是800。

因為輸入數據的模式是固定的,所以不用考慮背靠背的情況,所以burst length是800

題目中沒有說明在輸出的時候讀使能是否會拉低,所以我們認為FIFO一直在輸出,也就是rd_rate是1

所以FIFO的深度為:

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

    關注

    1630

    文章

    21769

    瀏覽量

    604638
  • IC設計
    +關注

    關注

    38

    文章

    1298

    瀏覽量

    104126
  • fifo
    +關注

    關注

    3

    文章

    389

    瀏覽量

    43769
  • 時鐘域
    +關注

    關注

    0

    文章

    52

    瀏覽量

    9545

原文標題:FPGA|IC筆面試--FIFO深度計算

文章出處:【微信號:FPGA開源工坊,微信公眾號:FPGA開源工坊】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA學習-總結fifo設計中深度H的計算

    對于fifo來說,H的設置至關重要。既要保證功能性,不溢出丟數,也要保證性能流水。深度設置過小會影響功能,過大又浪費資源。因此,總結下fifo設計中深度H的
    發表于 08-29 11:19 ?1498次閱讀

    談一談FIFO深度

    最近加的群里面有些萌新在進行討論**FIFO深度**的時候,覺得 **FIFO深度計算比較難以理解** 。所
    的頭像 發表于 11-28 16:19 ?1315次閱讀
    談一談<b class='flag-5'>FIFO</b>的<b class='flag-5'>深度</b>

    求助,FPGA fifo深度不夠怎么辦?

    圖像壓縮之后的數據存入fifo,然后經過nrf2401發送。。但是由于圖片尺寸比較大,導致fifo深度不夠,受限于FPGA芯片尺寸的限制,fifo
    發表于 05-22 14:34

    FIFO深度怎么設計

    FIFO先進深度?我也想知道我的輸入是否改變為3個數據單元(每個16位)的突發,應該是什么深度?謝謝,阿倫以上來自于谷歌翻譯以下為原文Hi All, I have a design
    發表于 01-10 10:45

    如何計算異步FIFO深度和單獨的時鐘源

    fifo不為空時,用rd clk = 50 MHz連續讀出數據。從模擬開始,在5次寫入后,fifo空置為空。如何正確計算深度?最初,我的深度
    發表于 04-09 06:25

    如何計算Async Fifo Depth

    嗨,我想計算異步fifo深度,但我很困惑如何計算它。 fifo參數如下:寫Clk Freq = 60 MHz。讀取Clk Freq = 1
    發表于 04-17 08:25

    什么是fifo深度

    - 恒定8 MB /秒(一旦開始讀取,您將需要保持數據速率,不允許上溢/下溢)什么應該fifo深度?謝謝,以上來自于谷歌翻譯以下為原文Hi, I have a design problem where
    發表于 04-26 10:56

    談談FIFO閾值的閾值設置及深度計算

    `立即學習—60天FPGA工程師入門就業項目實戰特訓營(3月16日開班) 談談FIFO閾值的閾值設置及深度計算1.什么是FIFO2.什么情況下使用FIFO3.什么
    發表于 02-19 21:09

    【教程】“最惡劣”的FIFO深度計算

    FIFO內緩存數據最多。計算此時寫入數據-該階段讀出數據即為FIFO的最小深度。   Nwr = 120x = Nwr - Nrd = 120 - 96 = 24.二.為保證數據連續輸
    發表于 02-22 20:37

    LabVIEW FPGA模塊實現FIFO深度設定

    為了解決基于LabVIEWFPGA模塊的DMAFIFO深度設定不當帶來的數據不連續問題,結合LabVIEWFPGA的編程特點和DMA FIFO的工作原理,提出了一種設定 FIFO 深度
    發表于 09-26 13:45 ?7412次閱讀
    LabVIEW FPGA模塊實現<b class='flag-5'>FIFO</b><b class='flag-5'>深度</b>設定

    基于LabVIEW FPGA模塊程序設計特點的FIFO深度設定詳解

    為了解決基于LabVIEWFPGA模塊的DMAFIFO深度設定不當帶來的數據不連續問題,結合LabVIEWFPGA的編程特點和DMA FIFO的工作原理,提出了一種設定FIFO深度的方
    發表于 01-04 14:25 ?4743次閱讀
    基于LabVIEW FPGA模塊程序設計特點的<b class='flag-5'>FIFO</b><b class='flag-5'>深度</b>設定詳解

    FIFO最小深度計算所有情況

    由于平時我們工作中,FIFO都是直接調用IP核,對于FIFO深度選擇并沒有很在意,而在筆試面試過程中,經常被問及的問題之一就是如何計算FIFO
    的頭像 發表于 05-11 14:37 ?2209次閱讀
    <b class='flag-5'>FIFO</b>最小<b class='flag-5'>深度計算</b>所有情況

    你們知道FIFO最小深度計算

    FIFO 最小深度計算 例子 - 1:f_wr 》 f_rd,連續讀寫 寫時鐘80MHz。 讀時鐘50MHz。 Burst_Len = 120,也就是要求至少安全寫入120個數據。 連續寫入和連續
    的頭像 發表于 09-10 09:23 ?2066次閱讀
    你們知道<b class='flag-5'>FIFO</b>最小<b class='flag-5'>深度計算</b>嗎

    如何簡單快速地計算FIFO的最小深度

    的基礎上。連續無止境的突發不考慮。比如寫時鐘100M,讀時鐘50M,無限制的讀寫,那么FIFO深度只能是無窮大了,因為寫比讀快,FIFO一定永遠都不夠用。所以在實際運用中,不會存在無限制的對
    的頭像 發表于 02-26 17:41 ?3564次閱讀
    如何簡單快速地<b class='flag-5'>計算</b><b class='flag-5'>FIFO</b>的最小<b class='flag-5'>深度</b>

    FIFO最小深度計算的方法

    由于平時我們工作中,FIFO都是直接調用IP核,對于FIFO深度選擇并沒有很在意,而在筆試面試過程中,經常被問及的問題之一就是如何計算FIFO
    的頭像 發表于 07-03 17:25 ?2767次閱讀
    主站蜘蛛池模板: 欧美成人亚洲欧美成人| 女生扒开尿口让男生舔| 天天摸夜班摸天天碰| 在线免费观看视频黄| 999毛片| 91欧美精品激情在线观看| ts国产| 一级毛片免费不卡直观看| 亚洲午夜精品久久久久久人妖| 夜夜夜夜曰天天天天拍国产| 天天摸天天碰天天碰| 日日操夜夜爱| 免费一级毛片清高播放| 九色视频网站| 酒色成人| 美女扒开下面让男人捅| 伊人久久香| 亚洲特黄大黄一级毛片| 色综合 成人| 欧美成人性色| 国产美女一级ba大片免色| 在线免费观看视频| 久久久久久久影院| 日本wwwhdsex69| 九九热精品视频| 亚洲+国产+图片| 日本3级视频| 国产美女精品在线| 又大又粗进出白浆直流动态图| 欧美一级特黄aaaaaa在线看片| 1024你懂的日韩| 日本一区二区三区不卡在线视频| 中文字幕1页| 日本xxxx色视频在线观看| 狠狠要| 天天操天天弄| 欧美69xx| 曰本福利写真片视频在线| 日韩欧美亚洲综合久久影院d3| 国产亚洲精品成人a在线| 五月天婷婷丁香|