女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

常見的流控機(jī)制之fifo與帶外流控

sakobpqhz6 ? 來源:IC學(xué)習(xí) ? 2023-07-26 12:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在數(shù)據(jù)處理模塊中,我們經(jīng)常會(huì)涉及數(shù)據(jù)流控反壓。什么是流控呢?簡(jiǎn)單來說就是控制數(shù)據(jù)流停止發(fā)送。常見的流控機(jī)制分為帶內(nèi)流控和帶外流控。帶外流控流控比較簡(jiǎn)單,就是需要一根額外的信號(hào)線來表示流控信息,如ready,1表示可以發(fā)送數(shù)據(jù),0表示不可以發(fā)送數(shù)據(jù).如果取名為fc(flowcontrol),則0表示可以發(fā)送數(shù)據(jù),1表示停止發(fā)送數(shù)據(jù)。帶內(nèi)流控機(jī)制中,流控信息是通過數(shù)據(jù)通路傳輸?shù)?,沒有額外的流控信號(hào)線。帶內(nèi)流控在接口模塊非常常見,例如以太MAC的pause幀和PCIe的信用量機(jī)制。流控系列文章分為4篇,今天是第一篇。首先將最簡(jiǎn)單的流控機(jī)制,fifo與帶外流控。

1、什么是FIFO

FIFO(first in first out)是一種用寄存器reg或者RAM實(shí)現(xiàn)的存儲(chǔ)結(jié)構(gòu),常用于存儲(chǔ)數(shù)據(jù)通道中的數(shù)據(jù)流,采用先入先出的數(shù)據(jù),當(dāng)下游模塊無法及時(shí)處理上流模塊輸出的數(shù)據(jù)時(shí),此時(shí)需要用FIFO暫存數(shù)據(jù),防止數(shù)據(jù)丟失。

2、FIFO的流水反壓機(jī)制

每一個(gè)fifo都有一個(gè)將滿閾值cfg_afull_value(名稱隨意,看得懂就行),通常由寄存器配置模塊cfg_csr提供。當(dāng)fifo內(nèi)的數(shù)據(jù)量達(dá)到或超過cfg_afull_value時(shí),將滿信號(hào)afull從0跳變成1,即fc信號(hào)從0跳變1。上游發(fā)送模塊感知到fc為1時(shí),則停止發(fā)送數(shù)據(jù),有可能是1~2周期就停止,有可能是一個(gè)整包發(fā)送完才停止,根據(jù)代碼實(shí)現(xiàn)才能判斷。在fc跳變成1后,fifo需要能夠緩存路徑上的data以及上游發(fā)送模塊停止發(fā)流之前發(fā)出的所有data。這就是fifo的流控機(jī)制。

894b9626-2b6c-11ee-a368-dac502259ad0.png

圖1:fifo流控示意圖

3、FIFO深度如何設(shè)置

如圖2所示,數(shù)據(jù)data和有效信號(hào)vld從模塊A產(chǎn)生,經(jīng)過N拍延時(shí),輸入到FIFO,F(xiàn)IFO產(chǎn)生將滿信號(hào)afull,經(jīng)過M拍延時(shí)反饋到模塊A,假設(shè)模塊A接收到afull=1時(shí),立即停止發(fā)送數(shù)據(jù)。假設(shè)FIFO深度為fifo_depth,每拍為一個(gè)時(shí)鐘周期。

897db4b2-2b6c-11ee-a368-dac502259ad0.png

圖2:fifo深度計(jì)算示意圖

1為了保證FIFO不發(fā)生溢出,請(qǐng)問將滿閾值cfg_afull_value至少應(yīng)該設(shè)置成多少?

2為了充分發(fā)揮FIFO的性能,F(xiàn)IFO深度depth應(yīng)該為多少?

FIFO將滿閾值如何設(shè)置:

當(dāng)FIFO中的數(shù)據(jù)為cfg_afull_value時(shí),產(chǎn)生afull=1,

Afull=1經(jīng)過M拍到達(dá)模塊A,此時(shí)FIFO中應(yīng)該有(cfg_afull_value+M)個(gè)數(shù)據(jù)。

Afull=1到達(dá)模塊A時(shí),模塊A立即停止發(fā)送數(shù)據(jù),此時(shí)電路中還存在N拍數(shù)據(jù)將陸續(xù)送到FIFO中,所以最后FIFO中應(yīng)該為(cfg_afull_value+M+N)個(gè)數(shù)據(jù),

為了保證數(shù)據(jù)不會(huì)溢出,所以應(yīng)該滿足公式fifo_depth>= cfg_afull_value+M+N,因此,將滿閾值應(yīng)該至少為depth_fifo-(M+N)

FIFO深度depth應(yīng)該為多少?

若fifo_depth過小,afull有效之后,fifo中存儲(chǔ)的數(shù)據(jù)將很快被下游數(shù)據(jù)讀取,而新的數(shù)據(jù)又無法及時(shí)到達(dá)FIFO,因此會(huì)造成流水氣泡,影響電路性能。

假設(shè)M=5 ,N=10,假設(shè)fifo_depth=20,則cfg_afull_value=5, 所以在T時(shí)刻,fifo中存了5個(gè)數(shù)據(jù)后afull=1會(huì)有效,在之后的15個(gè)周期內(nèi)會(huì)陸續(xù)存入15個(gè)數(shù)據(jù)。假設(shè)下游模塊B每個(gè)周期讀取FIFO中的一個(gè)數(shù)據(jù),因?yàn)楫?dāng)FIFO內(nèi)的數(shù)據(jù)data_cnt小于5時(shí),afull才會(huì)無效(為0),因此在T+15和T+30的時(shí)刻內(nèi),下游電路B只能讀5個(gè)數(shù)據(jù),因此會(huì)造成數(shù)據(jù)斷流,影響電路性能。

899b3bfe-2b6c-11ee-a368-dac502259ad0.jpg

圖3:流控信號(hào)時(shí)序圖

為保證電路性能,在T+15到T+30這個(gè)時(shí)間段內(nèi)應(yīng)該有15個(gè)數(shù)據(jù)可讀,因此cfg_afull_value應(yīng)該不小于15(M+N)。所以FIFO深度應(yīng)該不小于2*(M+N)

結(jié)束語

其實(shí)FIFO的流控方式有個(gè)明顯的弊端,一旦反壓路徑M(見圖2)過大,會(huì)明顯浪費(fèi)資源。

編輯:黃飛

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

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124539
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1392

    瀏覽量

    117557
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    402

    瀏覽量

    44821
  • Mac
    Mac
    +關(guān)注

    關(guān)注

    0

    文章

    1117

    瀏覽量

    53120

原文標(biāo)題:4種常見的流控機(jī)制(一) FIFO與流控

文章出處:【微信號(hào):IC學(xué)習(xí),微信公眾號(hào):IC學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    FIFO隊(duì)列原理簡(jiǎn)述

    FIFO是隊(duì)列機(jī)制中最簡(jiǎn)單的,每個(gè)接口上只有一個(gè)FIFO隊(duì)列,表面上看FIFO隊(duì)列并沒有提供什么QoS保證,甚至很多人認(rèn)為FIFO嚴(yán)格意義上
    發(fā)表于 07-10 09:22 ?1938次閱讀

    轎車外流場(chǎng)的數(shù)值模擬

    轎車外流場(chǎng)的數(shù)值模擬本論文以某轎車為例,車身數(shù)據(jù)取自實(shí)際產(chǎn)品設(shè)計(jì)數(shù)據(jù)庫,利用目前通用的CAD軟件UG,構(gòu)建本轎車的1:5模型,構(gòu)件幾何模型,導(dǎo)入STAR-CD前處理器時(shí)生成轎車表面網(wǎng)格,利用網(wǎng)格自動(dòng)
    發(fā)表于 03-20 11:18

    轎車外流場(chǎng)的數(shù)值模擬

    轎車外流場(chǎng)的數(shù)值模擬本論文以某國(guó)產(chǎn)轎車 1:5 模型為研究對(duì)象,車身數(shù)據(jù)取自實(shí)際產(chǎn)品設(shè)計(jì)數(shù)據(jù)庫。利用大型的CFD 分析軟件STAR-CD 進(jìn)行模型分析。經(jīng)過STAR-CD前處理生成轎車表面粗網(wǎng)格后
    發(fā)表于 12-02 12:41

    鏈接后的RX郵箱的FIFO機(jī)制是什么意思?

    你好,有人能解釋一下鏈接后的RX郵箱的FIFO機(jī)制嗎?我已經(jīng)注意到,當(dāng)X是FIFOSIZE時(shí),每X消息只有一個(gè)中斷。這是否意味著我必須在中斷中同時(shí)處理所有消息,當(dāng)下一個(gè)中斷發(fā)生時(shí),完整
    發(fā)表于 08-15 14:20

    鏈接CAN RX郵箱的FIFO機(jī)制怎么使用?

    你好,我聯(lián)系在一起,可以接收郵箱能夠使用它背后的FIFO機(jī)制。我已經(jīng)了解基本的原則,像在這里所說的:https://secure.cypress.com/?ID = 4 &;擺脫
    發(fā)表于 08-28 10:41

    FIFO的具體設(shè)計(jì)和常見問題

    FIFO的具體設(shè)計(jì)和常見問題
    發(fā)表于 01-06 06:04

    什么是FIFO的OV7670

    什么是FIFO的OV7670?為什么要帶FIFO呢?
    發(fā)表于 01-19 06:41

    控制機(jī)制,控制機(jī)制原理是什么?

    控制機(jī)制,控制機(jī)制原理是什么? 可以將網(wǎng)絡(luò)服務(wù)分為最優(yōu)的無連接服務(wù)或可靠的面向連接的服務(wù)。在Internet協(xié)議集中,IP屬于最優(yōu)服
    發(fā)表于 03-20 15:22 ?744次閱讀

    Proteus程序AMP應(yīng)用UART0_FIFO

    Proteus程序AMP應(yīng)用UART0_FIFO
    發(fā)表于 01-18 17:44 ?4次下載

    可重構(gòu)密碼處理器片外流訪存系統(tǒng)的設(shè)計(jì)

    可重構(gòu)密碼處理器片外流訪存系統(tǒng)的設(shè)計(jì)_朱玉飛
    發(fā)表于 01-07 20:49 ?0次下載

    FPGAFIFO練習(xí)3:設(shè)計(jì)思路

    根據(jù)FIFO工作的時(shí)鐘域,可以將FIFO分為同步FIFO和異步FIFO。同步FIFO是指讀時(shí)鐘和寫時(shí)鐘為同一個(gè)時(shí)鐘。在時(shí)鐘沿來臨時(shí)同時(shí)發(fā)生讀
    的頭像 發(fā)表于 11-29 07:08 ?2095次閱讀

    FPGAFIFO的原理概述

    FIFO隊(duì)列不對(duì)報(bào)文進(jìn)行分類,當(dāng)報(bào)文進(jìn)入接口的速度大于接口能發(fā)送的速度時(shí),FIFO按報(bào)文到達(dá)接口的先后順序讓報(bào)文進(jìn)入隊(duì)列,同時(shí),FIFO在隊(duì)列的出口讓報(bào)文按進(jìn)隊(duì)的順序出隊(duì),先進(jìn)的報(bào)文將先出隊(duì),后進(jìn)的報(bào)文將后出隊(duì)。
    的頭像 發(fā)表于 11-29 07:04 ?4908次閱讀

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

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

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

    同步FIFO的意思是說FIFO的讀寫時(shí)鐘是同一個(gè)時(shí)鐘,不同于異步FIFO,異步FIFO的讀寫時(shí)鐘是完全異步的。同步FIFO的對(duì)外接口包括時(shí)鐘
    發(fā)表于 11-01 09:58 ?1991次閱讀

    XILINX FPGA IPFIFO Generator例化仿真

    上文XILINX FPGA IPFIFO對(duì)XILINX FIFO Generator IP的特性和內(nèi)部處理流程進(jìn)行了簡(jiǎn)要的說明,本文通過實(shí)際例子對(duì)該IP的使用進(jìn)行進(jìn)一步的說明。本例子例化一個(gè)讀數(shù)
    的頭像 發(fā)表于 09-07 18:31 ?2714次閱讀
    XILINX FPGA IP<b class='flag-5'>之</b><b class='flag-5'>FIFO</b> Generator例化仿真