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

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

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

3天內不再提示

你們知道FIFO最小深度計算嗎

FPGA設計論壇 ? 來源:CSDN技術社區 ? 作者:昨日傍晚 ? 2021-09-10 09:23 ? 次閱讀

FIFO 最小深度計算

例子 - 1:f_wr 》 f_rd,連續讀寫

時鐘80MHz。

讀時鐘50MHz。

Burst_Len = 120,也就是要求至少安全寫入120個數據。

連續寫入和連續讀取,無空閑時間,寫入后立即開始讀取 ,讀寫寬度相同。

Sol:

寫速率 》 讀速率,FIFO遲早會被寫滿,但它要求至少寫入120個數據后FIFO不滿。

寫入120個數據耗時 120 * 12.5 ns = 1500 ns。

寫入開始后FIFO內數據以 30M/Date 速率增加。

數據增加持續了 1500 ns ,FIFO最小深度:0.0000015 * 30000000 = 45

例子-1 總結公式:

de4c36ea-117d-11ec-8fb8-12bb97331649.png

例子 - 2 :f_wr 》 f_rd & 寫速率 》 讀速率,非連續讀寫

寫時鐘80MHz。

讀時鐘50MHz。

Burst_Len = 120,也就是要求至少安全寫入120個數據。

寫入后立即開始讀取 ,讀寫寬度相同。

2個時鐘中有1個數據寫入(寫速率:80M * 1/2 = 40M)。

4個時鐘中有1個數據讀出(讀速率:50M * 1/4 = 12.5M)。

Sol:

FIFO遲早會被寫滿 ,但它要求至少寫入120個數據后FIFO不滿。

寫一個數據耗時:2/80MHz = 25ns

需要至少寫入120數據,耗時:25 * 120 = 3000ns

例子2只是讀寫速率和例子1不同,可以直接用的公式(1) :

FIFO_DEPTH 》 (寫速率-讀速率)* Burst_Len/寫速率 = (40M-12.5M)*120/40M = 83

例子 - 3:f_wr 《 f_rd ,連續讀寫

寫時鐘30MHz。

讀時鐘50MHz。

Burst_Len = 120,也就是要求至少安全寫入120個數據。

連續寫入和連續讀取,無空閑時間,寫入后立即開始讀取 ,讀寫寬度相同。

Sol:

FIFO_DEPTH 》 1 即可。讀速率比寫速率快,數據不會滯留。

例子 -4:f_wr 《 f_rd & 寫速率 》 讀速率,非連續讀寫

寫時鐘30MHz。

讀時鐘50MHz。

Burst_Len = 120,也就是要求至少安全寫入120個數據。

2個時鐘中有1個數據寫入(寫速率:30M * 1/2 = 15M)。

4個時鐘中有1個數據讀出(讀速率:50M * 1/4 = 12.5M)。

Sol:

雖然寫時鐘小于讀時鐘頻率,但是,宏觀上寫速率大于讀速率。可以直接用的公式(1) :

FIFO_DEPTH 》 (寫速率-讀速率)* Burst_Len/寫速率 = (15M-12.5M)*120/15M = 20

例子 1-4總結

當滿足以下所有條件時,就可使用公式(1):

寫速率 》 讀速率時。

讀寫有效數據占比 《= 0.5,且 有效數據均勻分布在所有時間上。或者說,無論微觀時間、還是宏觀時間上,讀寫速率近似于 時鐘頻率 * 有效數據占比時。

當每100個時鐘寫80個數據時,微觀時間上的寫速率與數據排列有關,不能將宏觀寫速率帶入式子(1)

例子 - 5

讀寫時鐘頻率相同。

100個時鐘有80個數據寫入。

10個時鐘有8個數據讀出。

Burst_Len = 160,也就是要求至少安全寫入160個數據 。

Sol:

宏觀上,讀寫速率相同;當FIFO足夠深時,FIFO不會溢出。

微觀上,寫速率有多種情況:

de5c56ce-117d-11ec-8fb8-12bb97331649.png

de830166-117d-11ec-8fb8-12bb97331649.png

為了求出安全的最小FIFO深度,我們需要考慮最差的情況。

最差的情況下,寫入和讀出速度應該相差最大。寫入要最快,讀出要最慢。FIFO內的數據增加最快。

從上表中可得出:最大寫入速率是case 4(back to back write,中間沒有空閑,速率為時鐘頻率 f,寫入了160個 )。

讀出要最慢,在寫160個數據期間,讀相比于寫端可以認為是速率均勻的,速率為 f*8/10,讀出了160 * 8 /10 = 128個。

因此 FIFO_DEPTH 》 160 - 128 = 32。用公式(1)也可以得到這個結果,寫速率帶入f而不是f*8/10。

總結:求解步驟

考慮最差的情況下,寫入和讀出速度應該相差最大。寫入要最快,讀出要最慢。FIFO內的數據增加最快。

只考慮宏觀上寫入速率 》= 讀出速率的情況。

確定寫入Burst_Len大小。Burst_Len指的是一段連續寫入區間,由于沒有空隙這段時間寫入速率最大最多。一定要對具體的數據分布情況具體分析,Burst_Len一定是最長的一段連續寫入區間。

在微觀上,確定最大寫入速率。Burst_Len足夠長時,寫入速率 = 寫時鐘頻率(back to back write)。而在例子 - 2中,Burst_Len很短,沒有back to back write,寫入速率 = 寫時鐘頻率 * 寫有效占比。

在微觀上,確定最小讀出速率。一般認為讀出速率是均勻的,讀出速率 = 讀時鐘頻率 * 讀有效占比。

帶入公式(1)計算。

Burst_Len足夠長時,將上面讀出寫入速率帶入公式(1),可得到網上討論最多的FIFO深度求解公式:

de8d5a26-117d-11ec-8fb8-12bb97331649.png

不建議直接用公式(2)無腦計算,上式只有Burst_Len足夠長,發生back to back write時才適用。建議根據1~6步驟,判斷微觀寫速率是否均勻,帶入式子(1)計算。

編輯:jq

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

    關注

    8

    文章

    7067

    瀏覽量

    89116
  • fifo
    +關注

    關注

    3

    文章

    389

    瀏覽量

    43704
  • 計算
    +關注

    關注

    2

    文章

    450

    瀏覽量

    38828

原文標題:FIFO 最小深度計算

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FIFO IP核的使用教程

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

    請問DAC5682z內部FIFO深度為多少,8SAMPLE具體怎么理解?

    你好,請問DAC5682z內部FIFO深度為多少,8SAMPLE具體怎么理解。 另外,DAC5682zEVM是否可以直接通過TI的ADC-HSMC板卡與ALTERA的FPGA開發相連(FPGA板HSMC接口與電壓都匹配條件下)。 謝謝
    發表于 01-03 07:27

    DAC3482在按字寬度輸入模式下,為啥SYNC信號每16*n個FIFO采樣重復一次?

    下圖是DAC3482 中FIFO的說明。該FIFO深度是8。在按字寬度輸入模式下,為啥SYNC信號每16*n個FIFO采樣重復一次?按照我的理解SYNC信號是用來重置
    發表于 12-20 06:04

    FIFO Generator的Xilinx官方手冊

    知道FF資源在FPGA是非常珍貴的。 built-in FIFO:這種類型的FIFO只有7系列之后(包括UltraScale)才有。筆者
    的頭像 發表于 11-12 10:46 ?477次閱讀
    <b class='flag-5'>FIFO</b> Generator的Xilinx官方手冊

    FIFO深度應該怎么計算

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

    Efinity FIFO IP仿真問題 -v1

    Efinity目前不支持聯合仿真,只能通過調用源文件仿真。 我們生成一個fifo IP命名為fifo_sim 在Deliverables中保留Testbench的選項。 在IP的生成目錄下會有以下
    的頭像 發表于 10-21 11:41 ?1034次閱讀
    Efinity <b class='flag-5'>FIFO</b> IP仿真問題 -v1

    FPGA做深度學習能走多遠?

    。FPGA的優勢就是可編程可配置,邏輯資源多,功耗低,而且賽靈思等都在極力推廣。不知道用FPGA做深度學習未來會怎樣發展,能走多遠,你怎么看。 A:FPGA 在深度學習領域具有獨特的優勢和潛力,未來
    發表于 09-27 20:53

    如何在CYUSB2014-BZXC中以8位模式配置Slave FIFO

    我有關于CYUSB2014-BZXC的問題 我想以 8 位為單位發送和接收數據。 手冊中列出的Slave FIFO是16位模式的最小值,所以請教我如何在8位模式下配置Slave FIFO。 我還希望獲得有關 8 位模式下信號分配
    發表于 07-04 07:40

    深度學習在計算機視覺領域的應用

    隨著人工智能技術的飛速發展,深度學習作為其中的核心技術之一,已經在計算機視覺領域取得了顯著的成果。計算機視覺,作為計算機科學的一個重要分支,旨在讓
    的頭像 發表于 07-01 11:38 ?828次閱讀

    同步FIFO和異步FIFO區別介紹

    ,并且間隔時間長,也就是突發寫入。那么通過設置一定深度FIFO,可以起到數據暫存的功能,且使得后續處理流程平滑。 時鐘域的隔離:主要用異步FIFO。對于不同時鐘域的數據傳輸,可以通過FIFO
    的頭像 發表于 06-04 14:27 ?1670次閱讀
    同步<b class='flag-5'>FIFO</b>和異步<b class='flag-5'>FIFO</b>區別介紹

    示波器怎么設置存儲深度

    存儲深度,也稱為記錄長度,是指示波器能夠連續捕獲和存儲的采樣點數。它決定了示波器能夠捕獲的波形的時間長度,以及能夠分辨的最小時間間隔。
    的頭像 發表于 05-31 15:42 ?1751次閱讀

    關于同步FIFO和異步FIFO的基礎知識總結

    FIFO是一種先進先出數據緩存器,它與普通存儲器的區別是沒有外部讀寫地址線,使用起來非常簡單,缺點是只能順序讀寫,而不能隨機讀寫。
    的頭像 發表于 04-09 14:23 ?3308次閱讀
    關于同步<b class='flag-5'>FIFO</b>和異步<b class='flag-5'>FIFO</b>的基礎知識總結

    計算機行業深度報告

    電子發燒友網站提供《計算機行業深度報告.pdf》資料免費下載
    發表于 03-04 10:07 ?0次下載

    如何清除SPI通信中的TX_FIFO和RX_FIFO

    你好, 如何清除 SPI通信中的 TX_FIFO 和 RX_FIFO?是否有任何 API 可以清除接收數據緩沖區。
    發表于 02-27 07:16

    異步FIFO結構設計

    電子發燒友網站提供《異步FIFO結構設計.pdf》資料免費下載
    發表于 02-06 09:06 ?0次下載
    主站蜘蛛池模板: 人人操天天射| 九色中文| www.日日爱| www日本黄色| 欧美三级第一页| 亚洲人成人77777网站| 国产一级爱c片免费播放| 国内啪啪| 天天操天天射天天| 国产人免费人成免费视频| 日本黄在线观看| 亚洲青草视频| 四虎最新紧急更新地址| 国产成人精品曰本亚洲78| 2021国产精品午夜久久| 日韩一级特黄| 天天色成人| 在线看片福利| 国产男人女人做性全过程视频| 免费h网站在线观看| 欧美成人性色生活片天天看| 在线观看免费高清| 天天干天天狠| 东北美女野外bbwbbw免费| 久久亚洲精品国产亚洲老地址| 色婷婷六月| 亚洲3级| 国产性老妇女做爰在线| 亚洲精品视频专区| 91网站在线播放| 欧美在线黄| 欧美性色综合网| 性猛交╳xxx乱大交| 欧美69xxx| 男男之h啪肉np文| 免费在线不卡视频| 亚洲va久久久噜噜噜久久天堂| 国产免费久久| 特黄色毛片| 国产专区视频| 波多野结衣在线网址|