亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

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

C29F_xilinx_inc ? 來源:賽靈思 ? 作者:賽靈思 ? 2022-02-26 17:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、為什么需要計算FIFO的最小深度

因為筆試???。

開玩笑的。首先我們來想下FIFO有哪些作用?我大概總結(jié)下FIFO的幾個重要作用:

解決不同時鐘域傳輸?shù)膯栴}

用來緩存一定量的數(shù)據(jù)

解決位寬不匹配的問題

FIFO最常被用來解決寫、讀不匹配的問題(時鐘、位寬),總結(jié)下來,其實FIFO最大的作用就是緩沖。既然是緩沖,那么就要知道這個緩存的空間到底需要多大。接下來的討論,都建立在滿足一次FIFO突發(fā)傳輸?shù)幕A(chǔ)上。連續(xù)無止境的突發(fā)不考慮。比如寫時鐘100M,讀時鐘50M,無限制的讀寫,那么FIFO的深度只能是無窮大了,因為寫比讀快,F(xiàn)IFO一定永遠都不夠用。所以在實際運用中,不會存在無限制的對FIFO進行讀寫。如果這樣的話,F(xiàn)IFO就變成了一個“存儲器件”,而不是一個“緩存器件”,對于FIFO的這種用法無疑是毫無意義的。

2、實例

2.1、寫時鐘快、讀時鐘慢

2.1.1、無間斷的寫、讀操作

條件:

寫入時鐘頻率 fA = 80MHz;讀取時鐘頻率 fB = 50MHz. 一次寫入的突發(fā)長度120

讀寫操作不間斷

解法:

寫入一個數(shù)據(jù)需要的時間:1/80MHz = 12.5ns;讀取一個數(shù)據(jù)需要的時間:1/50MHz = 20ns

寫入120個數(shù)據(jù),需要的時間:120 * 12.5ns = 1500ns

在寫入全部數(shù)據(jù)所需的時間(1500ns)內(nèi),可以讀取出的數(shù)據(jù)數(shù):1500ns / 20ns = 75

所以一次突發(fā),一共需要寫入120數(shù)據(jù),在這段時間內(nèi)可以被讀出75數(shù)據(jù),剩下的數(shù)據(jù)就是需要使用FIFO來緩存,所以FIFO的最小深度為120 - 75 = 45

2.1.2、間斷的寫、讀操作

條件:

寫入時鐘頻率 fA = 80MHz;讀取時鐘頻率 fB = 50MHz. 一次寫入的突發(fā)長度120。

每兩次寫入操作間隔1個寫時鐘周期,每兩次讀取操作間隔3個讀時鐘周期。

解法:

每兩次寫入操作間隔1個寫時鐘周期,等于每兩個寫時鐘周期才寫入1個數(shù)據(jù),即等價的寫入時鐘頻率 fA'=40MHz,寫入一個數(shù)據(jù)需要的時間:1/40MHz = 25ns

每兩次讀取操作間隔3個讀時鐘周期,等于每4個寫時鐘周期才讀取1個數(shù)據(jù),即等價的讀取時鐘頻率 fB'=12.5MHz,讀取一個數(shù)據(jù)需要的時間:1/12.5MHz = 80ns

寫入120個數(shù)據(jù),需要的時間:120 * 25ns = 3000ns

在寫入全部數(shù)據(jù)所需的時間(3000ns)內(nèi),可以讀取出的數(shù)據(jù)數(shù):3000ns / 80ns = 37.5 ≈ 37(要向下取整,不然有1個數(shù)據(jù)會丟)

所以一次突發(fā),一共需要寫入120數(shù)據(jù),在這段時間內(nèi)可以被讀出37數(shù)據(jù),剩下的數(shù)據(jù)就是需要使用FIFO來緩存,所以FIFO的最小深度為120 - 37 = 83

2.2、寫時鐘慢、讀時鐘快

2.2.1、無間斷的寫、讀操作

條件:

寫入時鐘頻率 fA = 30MHz;讀取時鐘頻率 fB = 50MHz. 一次寫入的突發(fā)長度120

寫、讀操作無間斷

解法:

因為讀操作的頻率快于寫操作的頻率,所以數(shù)據(jù)一旦被寫入FIFO后很快就會被讀走,所以FIFO的最小深度為1即可

2.2.2、間斷的寫、讀操作

條件:

寫入時鐘頻率 fA = 30MHz;讀取時鐘頻率 fB = 50MHz. 一次寫入的突發(fā)長度120。

每兩次寫入操作間隔1個寫時鐘周期,每兩次讀取操作間隔3個讀時鐘周期。

解法:

每兩次寫入操作間隔1個寫時鐘周期,等于每兩個寫時鐘周期才寫入1個數(shù)據(jù),即等價的寫入時鐘頻率 fA'=15MHz,寫入一個數(shù)據(jù)需要的時間:1/15MHz = 66.667ns

每兩次讀取操作間隔3個讀時鐘周期,等于每4個寫時鐘周期才讀取1個數(shù)據(jù),即等價的讀取時鐘頻率 fB'=12.5MHz,讀取一個數(shù)據(jù)需要的時間:1/12.5MHz = 80ns

寫入120個數(shù)據(jù),需要的時間:120 * 66.667ns = 8000ns

在寫入全部數(shù)據(jù)所需的時間(8000ns)內(nèi),可以讀取出的數(shù)據(jù)數(shù):8000ns / 80ns = 100

所以一次突發(fā),一共需要寫入120數(shù)據(jù),在這段時間內(nèi)可以被讀出100數(shù)據(jù),剩下的數(shù)據(jù)就是需要使用FIFO來緩存,所以FIFO的最小深度為120 - 100 = 20

2.3、寫時鐘、讀時鐘一樣快

2.3.1、無間斷的寫、讀操作

條件:

寫入時鐘頻率 fA = 讀取時鐘頻率 fB = 30MHz。一次寫入的突發(fā)長度120。

寫、讀操作無間斷

解法:

1、假設(shè)讀、寫時鐘無位差、則兩個時鐘同頻、同相,是同步信號,故可以直接對接操作,無需FIFO

2、若讀、寫時鐘存在相位差,則被寫入的數(shù)據(jù)在一個時鐘周期內(nèi)會被讀走,所以FIFO的最小深度為1即可

2.3.2、間斷的寫、讀操作

條件:

寫入時鐘頻率 fA = 讀取時鐘頻率 fB = 50MHz。一次寫入的突發(fā)長度120。

每兩次寫入操作間隔1個時鐘周期,每兩次讀取操作間隔3個時鐘周期。

解法:

每兩次寫入操作間隔1個寫時鐘周期,等于每兩個寫時鐘周期才寫入1個數(shù)據(jù),即等價的寫入時鐘頻率 fA'=25MHz,寫入一個數(shù)據(jù)需要的時間:1/25MHz = 40ns

每兩次讀取操作間隔3個讀時鐘周期,等于每4個寫時鐘周期才讀取1個數(shù)據(jù),即等價的讀取時鐘頻率 fB'=12.5MHz,讀取一個數(shù)據(jù)需要的時間:1/12.5MHz = 80ns

寫入120個數(shù)據(jù),需要的時間:120 * 40ns = 4800ns

在寫入全部數(shù)據(jù)所需的時間(4800ns)內(nèi),可以讀取出的數(shù)據(jù)數(shù):4800ns / 80ns = 60

所以一次突發(fā),一共需要寫入120數(shù)據(jù),在這段時間內(nèi)可以被讀出60數(shù)據(jù),剩下的數(shù)據(jù)就是需要使用FIFO來緩存,所以FIFO的最小深度為120 - 60 = 60

2.4、特定時間內(nèi)時間寫、讀速率固定

條件:

每100個時鐘寫入80個數(shù)據(jù),剩余20個隨機值(無效)

每10個時鐘讀出8個數(shù)據(jù)

一次寫入的突發(fā)長度160

解法:

因為每100個時鐘內(nèi),僅寫入80個數(shù)據(jù),而這80個數(shù)據(jù)可能任意分布,所以160個數(shù)據(jù)的寫入可能有以下幾種情況:

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

可以看到,第4種情況是最極端的:一次性需要寫入160數(shù)據(jù),時間為160個時鐘

160個時鐘內(nèi),讀出的數(shù)據(jù)是160*8/10 = 128

所以一共需要寫入160數(shù)據(jù),在這段時間內(nèi)可以被讀出128數(shù)據(jù),剩下的數(shù)據(jù)就是需要使用FIFO來緩存,所以FIFO的最小深度為160 - 128 = 32

3、總結(jié)

FIFO是用來緩存的,不是用來存數(shù)據(jù)的,當寫快讀慢時,無止境的對FIFO操作是沒有意義的(不管FIFO多大,一定都會被寫滿)

FIFO深度的計算建立在滿足一次突發(fā)傳輸?shù)幕A(chǔ)上

當讀快寫滿或者讀寫一樣快時,F(xiàn)IFO的深度最多只需要1

當寫快讀慢時,在一次突發(fā)傳輸時,因為讀慢,所以肯定無法全部讀走。全部寫入的數(shù)據(jù)量 - 已經(jīng)被讀走的數(shù)據(jù)量 = 需要緩存到FIFO的數(shù)據(jù)量,即異步FIFO的最小深度

審核編輯:湯梓紅

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

    關(guān)注

    13

    文章

    4658

    瀏覽量

    89353
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    404

    瀏覽量

    45400
  • 計算
    +關(guān)注

    關(guān)注

    2

    文章

    457

    瀏覽量

    39785
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    分享---簡單快速實現(xiàn)烘烤設(shè)備UI界面的方法

    本文分享下,如何簡單快速的設(shè)計出工業(yè)烘烤設(shè)備的UI界面方法, 借助 \"墨刀\" 界面原型設(shè)計工具,設(shè)計烘烤機主界面圖片。 使用拓普微 SGTools開發(fā)工具,建立工程和頁面
    發(fā)表于 08-26 11:58

    降壓式電路的緩沖電路原理和快速設(shè)計

    摘要 本應(yīng)用報告首先給出了降壓式開關(guān)電路(buck)在上管開通瞬間的的一個等效諧振回路模型。根據(jù)該模型推導出使得開關(guān)振鈴最小化的阻容緩沖電路(snubber)的參數(shù)計算公式,并結(jié)合參數(shù)公式給出
    發(fā)表于 06-05 14:27

    cy7c68013a異步slave fifo模式,外部mcu無法讀寫fifo怎么解決?

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

    存儲示波器的存儲深度對信號分析有什么影響?

    /周期才能精確計算RMS抖動)。 案例: 采樣率1GS/s,存儲深度10kpts → 記錄時間僅10μs,每周期僅10點(100MHz信號),邊沿重建質(zhì)量差。 存儲深度升級至1Mpts → 記錄時間
    發(fā)表于 05-27 14:39

    智多晶FIFO_Generator IP介紹

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

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

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

    Claude 3.7:編碼助手首選,claude api key如何申請獲取與深度解析*

    核心看點 混合推理引擎 :Claude 3.7 融合快速代碼生成與深度問題解決能力,實現(xiàn)“快思考”與“深思考”的無縫切換。 便捷API訪問 :三步快速獲取Claude 3.7 API密鑰,安全、
    的頭像 發(fā)表于 03-24 09:43 ?1327次閱讀
    Claude 3.7:編碼助手首選,claude api key如何申請獲取與<b class='flag-5'>深度</b>解析*

    AXI接口FIFO簡介

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

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

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

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

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

    深度學習入門:簡單神經(jīng)網(wǎng)絡(luò)的構(gòu)建與實現(xiàn)

    深度學習中,神經(jīng)網(wǎng)絡(luò)是核心模型。今天我們用 Python 和 NumPy 構(gòu)建一個簡單的神經(jīng)網(wǎng)絡(luò)。 神經(jīng)網(wǎng)絡(luò)由多個神經(jīng)元組成,神經(jīng)元之間通過權(quán)重連接。我們構(gòu)建一個包含輸入層、隱藏層和輸出層的簡單
    的頭像 發(fā)表于 01-23 13:52 ?750次閱讀

    FIFO IP核的使用教程

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

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

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

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

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

    FIFO Generator的Xilinx官方手冊

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