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

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

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

FIFO最小深度計(jì)算所有情況

FPGA之家 ? 來(lái)源:數(shù)字ICer ? 作者:數(shù)字ICer ? 2021-05-11 14:37 ? 次閱讀

由于平時(shí)我們工作中,F(xiàn)IFO都是直接調(diào)用IP核,對(duì)于FIFO深度選擇并沒(méi)有很在意,而在筆試面試過(guò)程中,經(jīng)常被問(wèn)及的問(wèn)題之一就是如何計(jì)算FIFO深度。

當(dāng)讀數(shù)據(jù)的速率小于寫(xiě)數(shù)據(jù)的速率時(shí),我們需要先將數(shù)據(jù)緩存下來(lái),那么我們需要開(kāi)多大的空間緩存這些數(shù)據(jù)呢?緩存開(kāi)大了會(huì)浪費(fèi)資源,開(kāi)小了會(huì)丟失數(shù)據(jù),如何去計(jì)算最小FIFO深度是本文的重點(diǎn)。

本文涵蓋了FIFO最小深度計(jì)算所有情況:

假如模塊A不間斷的往FIFO中寫(xiě)數(shù)據(jù),模塊B同樣不間斷的從FIFO中讀數(shù)據(jù),不同的是模塊A寫(xiě)數(shù)據(jù)的時(shí)鐘頻率要大于模塊B讀數(shù)據(jù)的時(shí)鐘頻率,那么在一段時(shí)間內(nèi)總是有一些數(shù)據(jù)沒(méi)來(lái)得及被讀走,如果系統(tǒng)一直在工作,那么那些沒(méi)有被讀走的數(shù)據(jù)會(huì)越累積越多,那么FIFO的深度需要是無(wú)窮大的;

但是若寫(xiě)操作是連續(xù)的數(shù)據(jù)流,那么再大的FIFO都無(wú)法保證數(shù)據(jù)不溢出。因此可以認(rèn)為這種情況下寫(xiě)數(shù)據(jù)的傳輸是“突發(fā)Burst”的,即寫(xiě)操作并不連續(xù);

要確定FIFO的深度,關(guān)鍵在于計(jì)算出在突發(fā)讀寫(xiě)這段時(shí)間內(nèi)有多少個(gè)數(shù)據(jù)沒(méi)有被讀走。即FIFO的最小深度就等于沒(méi)有被讀走的數(shù)據(jù)個(gè)數(shù)。

Case1 fa》fb with no idle cycles in both write and read

即寫(xiě)時(shí)鐘快于讀時(shí)鐘,寫(xiě)和讀的過(guò)程中沒(méi)有空閑周期;

假設(shè):

寫(xiě)數(shù)據(jù)時(shí)鐘頻率fa=80MHz

讀數(shù)據(jù)時(shí)鐘頻率fb=50MHz

突發(fā)長(zhǎng)度= number of data to be transferred = 120

在突發(fā)傳輸過(guò)程中,數(shù)據(jù)都是連續(xù)讀寫(xiě)的

那么:

寫(xiě)一個(gè)數(shù)據(jù)所需要的時(shí)間 = 1/80MHz = 12.5ns

突發(fā)傳輸中,寫(xiě)完所有數(shù)據(jù)所需要的時(shí)間 = 120*12.5ns = 1500ns

讀一個(gè)數(shù)據(jù)所需要的時(shí)間 = 1/50MHz = 20ns

所以寫(xiě)完所有的突發(fā)傳輸數(shù)據(jù)需要花費(fèi)1500ns

在1500ns內(nèi)能夠讀走的數(shù)據(jù)個(gè)數(shù) = 1500ns/20ns = 75

所以在1500ns內(nèi)還沒(méi)有被讀走的數(shù)據(jù)個(gè)數(shù) = 120-75 = 45

因此FIFO的最小深度為45

Case2 fa》fb with two clock cycle delay between two successive read and write

即寫(xiě)時(shí)鐘頻率大于讀時(shí)鐘頻率,但在讀寫(xiě)的過(guò)程中存在空閑周期;

Case2在Case1的基礎(chǔ)上增加了一個(gè)假設(shè),即讀比寫(xiě)慢兩拍。這種假設(shè)是真正存在的,在異步FIFO設(shè)計(jì)中,我們需要去判斷FIFO的空滿(mǎn)來(lái)保證邏輯的正確性,判斷空滿(mǎn)標(biāo)志需要去比較讀寫(xiě)指針,而讀指針與寫(xiě)指針處在不同的時(shí)鐘域中,我們需要采用格雷碼和兩級(jí)同步寄存器去降低亞穩(wěn)態(tài)的概率,而兩級(jí)同步必然會(huì)導(dǎo)致空滿(mǎn)標(biāo)志位的判斷至少延遲2個(gè)cycle。對(duì)于空標(biāo)志位來(lái)說(shuō),將寫(xiě)指針同步到讀時(shí)鐘域至少需要花費(fèi)2個(gè)時(shí)鐘,而在同步這段時(shí)間內(nèi)有可能還會(huì)寫(xiě)入新的數(shù)據(jù),因此同步后的寫(xiě)指針一定小于或等于(當(dāng)且僅有同步時(shí)間內(nèi)沒(méi)有新數(shù)據(jù)寫(xiě)入的情況下才會(huì)等于)當(dāng)前的寫(xiě)指針,所以此時(shí)判斷不一定是真空;同理,對(duì)于滿(mǎn)標(biāo)志位來(lái)說(shuō),將讀指針同步到讀時(shí)鐘域至少需要花費(fèi)2個(gè)時(shí)鐘,而在同步這段時(shí)間內(nèi)有可能還會(huì)讀出新的數(shù)據(jù),因此同步后的讀指針一定小于或等于當(dāng)前讀指針,所以此時(shí)判斷并不一定是真滿(mǎn)。

通過(guò)上述討論可以知道Case2的FIFO最小深度應(yīng)該比場(chǎng)景1的FIFO最小深度45略大。

Case3 fa 》 fb with idle cycles in both write and read

即寫(xiě)時(shí)鐘頻率大于讀時(shí)鐘頻率,但在讀寫(xiě)的過(guò)程中存在空閑周期;

假設(shè):

寫(xiě)數(shù)據(jù)時(shí)鐘頻率fa=80MHz

讀數(shù)據(jù)時(shí)鐘頻率fb=50MHz

突發(fā)長(zhǎng)度= number of data to be transferred = 120

連續(xù)寫(xiě)入之間的空閑周期為1。

連續(xù)讀取之間的空閑周期為3。

那么:

兩個(gè)連續(xù)寫(xiě)之間的空閑周期為1個(gè)時(shí)鐘周期。它的意思是,在寫(xiě)入一個(gè)數(shù)據(jù)后,模塊A等待一個(gè)時(shí)鐘周期,開(kāi)始下一個(gè)寫(xiě)入。因此,可以理解為每?jī)蓚€(gè)時(shí)鐘周期,一個(gè)數(shù)據(jù)被寫(xiě)入;

兩個(gè)連續(xù)讀取之間的空閑周期為3個(gè)時(shí)鐘周期。即讀取一個(gè)數(shù)據(jù)后,B模塊等待3個(gè)時(shí)鐘周期,開(kāi)始下一次讀取。因此,我們可以理解,每四個(gè)時(shí)鐘周期,讀取一個(gè)數(shù)據(jù);

寫(xiě)一個(gè)數(shù)據(jù)所需要的時(shí)間 = 2*1/80MHz = 25ns

突發(fā)傳輸中,寫(xiě)完所有數(shù)據(jù)所需要的時(shí)間 = 120*25ns = 3000ns

讀一個(gè)數(shù)據(jù)所需要的時(shí)間 = 4*1/50MHz = 80ns

所以寫(xiě)完所有的突發(fā)傳輸數(shù)據(jù)需要花費(fèi)3000ns

在3000ns內(nèi)能夠讀走的數(shù)據(jù)個(gè)數(shù) = 3000ns/80ns = 37.5

所以在3000ns內(nèi)還沒(méi)有被讀走的數(shù)據(jù)個(gè)數(shù) = 120-37.5 = 82.5

因此FIFO的最小深度為83

Case4 fa 》 fb with duty cycles given for wr_enb and rd_enb.

即寫(xiě)時(shí)鐘頻率大于讀時(shí)鐘頻率,給定wr_enb和rd_enb的占空比;

假設(shè):

寫(xiě)數(shù)據(jù)時(shí)鐘頻率fa=80MHz

讀數(shù)據(jù)時(shí)鐘頻率fb=50MHz

突發(fā)長(zhǎng)度= number of data to be transferred = 120

寫(xiě)使能信號(hào)占整個(gè)burst時(shí)間比重為1/2

讀使能信號(hào)占整個(gè)burst時(shí)間比重為1/4

那么:

此場(chǎng)景與前一個(gè)場(chǎng)景(場(chǎng)景3)沒(méi)有任何不同,因?yàn)樵诒纠?,一個(gè)數(shù)據(jù)項(xiàng)將在2個(gè)時(shí)鐘周期內(nèi)寫(xiě)入,而一個(gè)數(shù)據(jù)項(xiàng)將在4個(gè)時(shí)鐘周期內(nèi)讀取。

因此FIFO的最小深度也為83

Case5 fA 《 fB with no idle cycles in both write and read ( the delay between two consecutive writes and reads is one clock cycle)

即寫(xiě)時(shí)鐘頻率小于讀時(shí)鐘頻率,且讀寫(xiě)過(guò)程中沒(méi)有空閑周期;

假設(shè):

寫(xiě)數(shù)據(jù)時(shí)鐘頻率fa=30MHz

讀數(shù)據(jù)時(shí)鐘頻率fb=50MHz

突發(fā)長(zhǎng)度= number of data to be transferred = 120

在突發(fā)傳輸過(guò)程中,數(shù)據(jù)都是連續(xù)讀寫(xiě)的

那么:

由于讀數(shù)據(jù)比寫(xiě)數(shù)據(jù)要快,這種情況下永遠(yuǎn)也不會(huì)發(fā)生數(shù)據(jù)丟失的,因此FIFO只起到過(guò)時(shí)鐘域的作用,F(xiàn)IFO的最小深度為1即可;

Case6 fa 《 fb with idle cycles in both write and read(duty cycles of wr_enb and rd_enb can also be given in these type of questions)。

即寫(xiě)時(shí)鐘頻率小于讀時(shí)鐘頻率,給定wr_enb和rd_enb的占空比;

假設(shè):

寫(xiě)數(shù)據(jù)時(shí)鐘頻率fa=40MHz

讀數(shù)據(jù)時(shí)鐘頻率fb=50MHz

突發(fā)長(zhǎng)度= number of data to be transferred = 120

連續(xù)寫(xiě)入之間的空閑周期為1。

連續(xù)讀取之間的空閑周期為3。

那么:

兩個(gè)連續(xù)寫(xiě)之間的空閑周期為1個(gè)時(shí)鐘周期。它的意思是,在寫(xiě)入一個(gè)數(shù)據(jù)后,模塊A等待一個(gè)時(shí)鐘周期,開(kāi)始下一個(gè)寫(xiě)入。因此,可以理解為每?jī)蓚€(gè)時(shí)鐘周期,一個(gè)數(shù)據(jù)被寫(xiě)入;

兩個(gè)連續(xù)讀取之間的空閑周期為3個(gè)時(shí)鐘周期。即讀取一個(gè)數(shù)據(jù)后,B模塊等待3個(gè)時(shí)鐘周期,開(kāi)始下一次讀取。因此,我們可以理解,每四個(gè)時(shí)鐘周期,讀取一個(gè)數(shù)據(jù);

寫(xiě)一個(gè)數(shù)據(jù)所需要的時(shí)間 = 2*1/40MHz = 50ns

突發(fā)傳輸中,寫(xiě)完所有數(shù)據(jù)所需要的時(shí)間 = 120*50ns = 6000ns

讀一個(gè)數(shù)據(jù)所需要的時(shí)間 = 4*1/50MHz = 80ns

所以寫(xiě)完所有的突發(fā)傳輸數(shù)據(jù)需要花費(fèi)6000ns

在6000ns內(nèi)能夠讀走的數(shù)據(jù)個(gè)數(shù) = 6000ns/80ns = 75

所以在6000ns內(nèi)還沒(méi)有被讀走的數(shù)據(jù)個(gè)數(shù) = 120-75 = 45

因此FIFO的最小深度為45

Case7 fA = fB with no idle cycles in both write and read ( the delay between two consecutive writes and reads is one clock cycle)。

即寫(xiě)時(shí)鐘頻率等于讀時(shí)鐘頻率,且讀寫(xiě)過(guò)程中沒(méi)有空閑周期;

假設(shè):

寫(xiě)數(shù)據(jù)時(shí)鐘頻率fa=50MHz

讀數(shù)據(jù)時(shí)鐘頻率fb=50MHz

突發(fā)長(zhǎng)度= number of data to be transferred = 120

讀和寫(xiě)都沒(méi)有空閑周期,這意味著突發(fā)中的所有項(xiàng)都將以連續(xù)的時(shí)鐘周期寫(xiě)入和讀取

那么:

如果clkA和clkB之間沒(méi)有相位差,則不需要FIFO;

如果clkA和clkB之間存在相位差,深度“1”的FIFO就足夠了。

Case8 fA = fB with idle cycles in both write and read (duty cycles of wr_enb and rd_enb can also be given in these type of questions)。

即寫(xiě)時(shí)鐘頻率等于讀時(shí)鐘頻率,給定wr_enb和rd_enb的占空比;

假設(shè):

寫(xiě)數(shù)據(jù)時(shí)鐘頻率fa=50MHz

讀數(shù)據(jù)時(shí)鐘頻率fb=50MHz

突發(fā)長(zhǎng)度= number of data to be transferred = 120

連續(xù)寫(xiě)入之間的空閑周期為1。

連續(xù)讀取之間的空閑周期為3。

那么:

兩個(gè)連續(xù)寫(xiě)之間的空閑周期為1個(gè)時(shí)鐘周期。它的意思是,在寫(xiě)入一個(gè)數(shù)據(jù)后,模塊A等待一個(gè)時(shí)鐘周期,開(kāi)始下一個(gè)寫(xiě)入。因此,可以理解為每?jī)蓚€(gè)時(shí)鐘周期,一個(gè)數(shù)據(jù)被寫(xiě)入;

兩個(gè)連續(xù)讀取之間的空閑周期為3個(gè)時(shí)鐘周期。即讀取一個(gè)數(shù)據(jù)后,B模塊等待3個(gè)時(shí)鐘周期,開(kāi)始下一次讀取。因此,我們可以理解,每四個(gè)時(shí)鐘周期,讀取一個(gè)數(shù)據(jù);

寫(xiě)一個(gè)數(shù)據(jù)所需要的時(shí)間 = 2*1/50MHz = 40ns

突發(fā)傳輸中,寫(xiě)完所有數(shù)據(jù)所需要的時(shí)間 = 120*40ns = 4800ns

讀一個(gè)數(shù)據(jù)所需要的時(shí)間 = 4*1/50MHz = 80ns

所以寫(xiě)完所有的突發(fā)傳輸數(shù)據(jù)需要花費(fèi)4800ns

在4800ns內(nèi)能夠讀走的數(shù)據(jù)個(gè)數(shù) = 4800ns/80ns = 60

所以在4800ns內(nèi)還沒(méi)有被讀走的數(shù)據(jù)個(gè)數(shù) = 120-60 = 60

因此FIFO的最小深度為60

Case9 如果數(shù)據(jù)速率如下所示

在前面幾種場(chǎng)景中,我們給的條件都是每隔幾個(gè)時(shí)鐘讀寫(xiě)一次,這種周期性讀寫(xiě)在實(shí)際中很常見(jiàn)。但是在工程設(shè)計(jì)中還存在這樣一種情形,只給出數(shù)據(jù)在一段時(shí)間內(nèi)的讀寫(xiě)速率,怎么讀寫(xiě)完全隨機(jī),這種情況我們需要考慮最壞的一種情況避免數(shù)據(jù)丟失。

對(duì)于最壞的情況,讀寫(xiě)之間的數(shù)據(jù)速率差異應(yīng)該是最大的。因此,對(duì)于寫(xiě)操作,應(yīng)該考慮最大數(shù)據(jù)速率,對(duì)于讀操作,應(yīng)該考慮最小數(shù)據(jù)速率。

寫(xiě)數(shù)據(jù)時(shí)鐘頻率fa=讀數(shù)據(jù)時(shí)鐘頻率fb

在寫(xiě)時(shí)鐘周期內(nèi),每100個(gè)周期就有80個(gè)數(shù)據(jù)寫(xiě)入FIFO

在讀時(shí)鐘周期內(nèi),每10個(gè)周期可以有8個(gè)數(shù)據(jù)讀出FIFO

以下是一些可能性:

d73f1736-b20b-11eb-bf61-12bb97331649.png

下面是從上圖中觀察到的情況:

d77b6d4e-b20b-11eb-bf61-12bb97331649.png

寫(xiě)操作的最大數(shù)據(jù)速率在上表格中case - 4。(寫(xiě)操作在最小的時(shí)間內(nèi)完成)。因此,考慮case - 4來(lái)進(jìn)行進(jìn)一步的計(jì)算。

首先這里沒(méi)有給出數(shù)據(jù)的突發(fā)長(zhǎng)度,從假設(shè)中可以得出每100個(gè)周期就有80個(gè)數(shù)據(jù)寫(xiě)入FIFO,這里可能就有人會(huì)說(shuō)突發(fā)長(zhǎng)度就是80個(gè)數(shù)據(jù),其實(shí)不是這樣的,因?yàn)閿?shù)據(jù)是隨機(jī)寫(xiě)入FIFO的,我們需要考慮做壞的情形,即寫(xiě)速率最大的情形,只有如下圖背靠背的情形才是寫(xiě)速率最高的情形,burst length為160;

在讀時(shí)鐘周期內(nèi),每10個(gè)周期可以有8個(gè)數(shù)據(jù)讀出FIFO;即一個(gè)周期可以寫(xiě)入 8/10 數(shù)據(jù)

所以160個(gè)時(shí)鐘讀了160*8/10 = 128個(gè)數(shù)據(jù);

考慮背靠背(20個(gè)clk不發(fā)數(shù)據(jù)+80clk發(fā)數(shù)據(jù)+80clk發(fā)數(shù)據(jù)+20clk不發(fā)數(shù)據(jù)的共200個(gè)clk)

因此FIFO的最小深度=160 - 128 = 32

總結(jié)

從上面分析來(lái)看,求FIFO的最小深度主要有以下要點(diǎn):

在求解之前需要驗(yàn)證一下在允許的最大時(shí)間長(zhǎng)度內(nèi)寫(xiě)入的數(shù)據(jù)量是否等于讀出的數(shù)據(jù)量,保證有解;

求FIFO深度需要考慮最壞的情形,讀寫(xiě)的速率應(yīng)該相差最大,也就是說(shuō)需要找出最大的寫(xiě)速率和最小的讀速率;

不管什么場(chǎng)景,要確定FIFO的深度,關(guān)鍵在于計(jì)算出在突發(fā)讀寫(xiě)這段時(shí)間內(nèi)有多少個(gè)數(shù)據(jù)沒(méi)有被讀走;

由于FIFO空滿(mǎn)標(biāo)志位的判斷延遲,在實(shí)際應(yīng)用中需要預(yù)留一些余量。

下面我們來(lái)推導(dǎo)一下FIFO深度的求解公式,假設(shè):

寫(xiě)時(shí)鐘周期為clkw

讀時(shí)鐘周期為clkr

在讀時(shí)鐘周期內(nèi),每x個(gè)周期內(nèi)可以有y個(gè)數(shù)據(jù)讀出FIFO,即讀數(shù)據(jù)的讀數(shù)率

在寫(xiě)時(shí)鐘周期內(nèi),每m個(gè)周期內(nèi)就有n個(gè)數(shù)據(jù)寫(xiě)入FIFO

背靠背“的情形下是FIFO讀寫(xiě)的最壞情形,burst長(zhǎng)度 B = 2*n

由上得到:FIFO的最小深度為 B - B * (clkr/clkw) * (y/x)

原文標(biāo)題:FIFO深度計(jì)算

文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    3

    文章

    385

    瀏覽量

    43465

原文標(biāo)題:FIFO深度計(jì)算

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Efinity FIFO IP仿真問(wèn)題 -v1

    Efinity目前不支持聯(lián)合仿真,只能通過(guò)調(diào)用源文件仿真。 我們生成一個(gè)fifo IP命名為fifo_sim 在Deliverables中保留Testbench的選項(xiàng)。 在IP的生成目錄下會(huì)有以下
    的頭像 發(fā)表于 10-21 11:41 ?643次閱讀
    Efinity <b class='flag-5'>FIFO</b> IP仿真問(wèn)題 -v1

    同步FIFO和異步FIFO區(qū)別介紹

    ,并且間隔時(shí)間長(zhǎng),也就是突發(fā)寫(xiě)入。那么通過(guò)設(shè)置一定深度FIFO,可以起到數(shù)據(jù)暫存的功能,且使得后續(xù)處理流程平滑。 時(shí)鐘域的隔離:主要用異步FIFO。對(duì)于不同時(shí)鐘域的數(shù)據(jù)傳輸,可以通過(guò)FIFO
    的頭像 發(fā)表于 06-04 14:27 ?1084次閱讀
    同步<b class='flag-5'>FIFO</b>和異步<b class='flag-5'>FIFO</b>區(qū)別介紹

    【量子計(jì)算機(jī)重構(gòu)未來(lái) | 閱讀體驗(yàn)】+量子計(jì)算機(jī)的原理究竟是什么以及有哪些應(yīng)用

    計(jì)算方法的區(qū)別傳統(tǒng)方法是,按照不走枚舉所有情況,而量子計(jì)算是一次處理所有情況,是一步到位。但是這里又有疑惑了,量子計(jì)算如何實(shí)現(xiàn)的一步到位呢,
    發(fā)表于 03-11 12:50

    計(jì)算機(jī)行業(yè)深度報(bào)告

    電子發(fā)燒友網(wǎng)站提供《計(jì)算機(jī)行業(yè)深度報(bào)告.pdf》資料免費(fèi)下載
    發(fā)表于 03-04 10:07 ?0次下載

    異步FIFO結(jié)構(gòu)設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《異步FIFO結(jié)構(gòu)設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 02-06 09:06 ?0次下載

    目前主流的深度學(xué)習(xí)算法模型和應(yīng)用案例

    深度學(xué)習(xí)在科學(xué)計(jì)算中獲得了廣泛的普及,其算法被廣泛用于解決復(fù)雜問(wèn)題的行業(yè)。所有深度學(xué)習(xí)算法都使用不同類(lèi)型的神經(jīng)網(wǎng)絡(luò)來(lái)執(zhí)行特定任務(wù)。
    的頭像 發(fā)表于 01-03 10:28 ?1497次閱讀
    目前主流的<b class='flag-5'>深度</b>學(xué)習(xí)算法模型和應(yīng)用案例

    用AD598測(cè)試LVDT時(shí)激勵(lì)頻率與副邊頻率不一致是怎么回事?如何解決?

    用AD598測(cè)試LVDT時(shí),有時(shí)激勵(lì)頻率與副邊頻率不一致。在什么都不動(dòng)的情況下,過(guò)了一會(huì)兒又一致了。請(qǐng)問(wèn)這是電路的問(wèn)題嗎?在所有情況下,激勵(lì)頻率都穩(wěn)定在3KHz上。
    發(fā)表于 12-29 08:30

    ADXL355 FIFO數(shù)據(jù)出錯(cuò)是什么原因?qū)е碌模?/a>

    在采樣率較低的時(shí)候,我把ADXL355FIFO的終端觸發(fā)值,也就是FIFO Sample這個(gè)寄存器值設(shè)置的過(guò)小時(shí),前面幾組數(shù)據(jù)總會(huì)出現(xiàn)數(shù)據(jù)為0的情況。當(dāng)我把FIFO的中斷觸發(fā)值提高時(shí)就
    發(fā)表于 12-28 06:45

    深度數(shù)智:專(zhuān)注開(kāi)發(fā)基于RISC-V芯片的創(chuàng)新產(chǎn)品

    深度數(shù)智一方面提供RISC-V的深度計(jì)算E2E解決方案,以開(kāi)發(fā)者為中心的高級(jí)原生工具鏈和操作系統(tǒng)。同時(shí),研發(fā)和生產(chǎn)自己創(chuàng)新的消費(fèi)電子產(chǎn)品,如dc-roma筆記本電腦、pad等,今后將在機(jī)器人、汽車(chē)、航空電子等領(lǐng)域推出更多應(yīng)用產(chǎn)品。
    的頭像 發(fā)表于 12-08 10:37 ?655次閱讀

    談一談FIFO深度

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

    狀態(tài)機(jī):自動(dòng)生成代碼

    遺憾的是并不是所有情況都會(huì)如此簡(jiǎn)單,事實(shí)上許多實(shí)用的軟件系統(tǒng)都必須維護(hù)一兩個(gè)非常關(guān)鍵的對(duì)象,它們通常具有非常復(fù)雜的狀態(tài)轉(zhuǎn)換關(guān)系,而且需要對(duì)來(lái)自外部的各種異步事件進(jìn)行響應(yīng)。
    的頭像 發(fā)表于 11-25 14:18 ?497次閱讀
    狀態(tài)機(jī):自動(dòng)生成代碼

    如何計(jì)算深度放電?深度放電如何影響電池壽命?如何保持鋰電池的健康狀態(tài)?

    如何計(jì)算深度放電?深度放電如何影響電池壽命?如何保持鋰電池的健康狀態(tài)? 深度放電是指將電池完全耗盡至低電量狀態(tài)的操作。在深度放電過(guò)程中,電池
    的頭像 發(fā)表于 11-10 15:05 ?5929次閱讀

    如何使用硬件FIFO來(lái)減少接收中斷次數(shù)

    本文給介紹如何使用帶FIFO的串口來(lái)減少接收中斷次數(shù),通過(guò)一種自定義通訊協(xié)議格式,給出幀打包方法;之后介紹一種特殊的串口數(shù)據(jù)發(fā)送方法,可在避免使用串口發(fā)送中斷的情況下,提高系統(tǒng)的響應(yīng)速度。
    發(fā)表于 11-06 12:22 ?507次閱讀
    如何使用硬件<b class='flag-5'>FIFO</b>來(lái)減少接收中斷次數(shù)

    FIFO為什么不能正常工作?

    FIFO為什么不能正常工作?復(fù)位信號(hào)有效長(zhǎng)度不夠,接口時(shí)序不匹配,可看下面這篇文章。 本文將介紹: 非DFX工程如何確保異步FIFO自帶的set_max_delay生效? DFX工程如何確保異步
    的頭像 發(fā)表于 11-02 09:25 ?1146次閱讀
    <b class='flag-5'>FIFO</b>為什么不能正常工作?

    簡(jiǎn)述一種fifo讀控制的不合理設(shè)計(jì)案例

    本文將簡(jiǎn)述一種fifo讀控制的不合理設(shè)計(jì)案例,在此案例中,異常報(bào)文將會(huì)堵在fifo中,造成頭阻塞。
    的頭像 發(fā)表于 10-30 14:25 ?360次閱讀
    簡(jiǎn)述一種<b class='flag-5'>fifo</b>讀控制的不合理設(shè)計(jì)案例