完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>
標(biāo)簽 > fifo
First Input First Output的縮寫,先入先出隊(duì)列,這是一種傳統(tǒng)的按序執(zhí)行方法,先進(jìn)入的指令先完成并引退,跟著才執(zhí)行第二條指令。
在計(jì)算機(jī)中,先入先出隊(duì)列是一種傳統(tǒng)的按序執(zhí)行方法,先進(jìn)入的指令先完成并引退,跟著才執(zhí)行第二條指令(指令就是計(jì)算機(jī)在響應(yīng)用戶操作的程序代碼,對(duì)用戶而言是透明的)。如圖1所示,當(dāng)CPU在某一時(shí)段來不及響應(yīng)所有的指令時(shí),指令就會(huì)被安排在FIFO隊(duì)列中,比如0號(hào)指令先進(jìn)入隊(duì)列,接著是1號(hào)指令、2號(hào)指令……當(dāng)CPU完成當(dāng)前指令以后就會(huì)從隊(duì)列中取出0號(hào)指令先行執(zhí)行,此時(shí)1號(hào)指令就會(huì)接替0號(hào)指令的位置,同樣,2號(hào)指令、3號(hào)指令……都會(huì)向前挪一個(gè)位置,這樣解釋大家清楚了吧?
First Input First Output的縮寫,先入先出隊(duì)列,這是一種傳統(tǒng)的按序執(zhí)行方法,先進(jìn)入的指令先完成并引退,跟著才執(zhí)行第二條指令。
FIFO簡(jiǎn)介
在計(jì)算機(jī)中,先入先出隊(duì)列是一種傳統(tǒng)的按序執(zhí)行方法,先進(jìn)入的指令先完成并引退,跟著才執(zhí)行第二條指令(指令就是計(jì)算機(jī)在響應(yīng)用戶操作的程序代碼,對(duì)用戶而言是透明的)。如圖1所示,當(dāng)CPU在某一時(shí)段來不及響應(yīng)所有的指令時(shí),指令就會(huì)被安排在FIFO隊(duì)列中,比如0號(hào)指令先進(jìn)入隊(duì)列,接著是1號(hào)指令、2號(hào)指令……當(dāng)CPU完成當(dāng)前指令以后就會(huì)從隊(duì)列中取出0號(hào)指令先行執(zhí)行,此時(shí)1號(hào)指令就會(huì)接替0號(hào)指令的位置,同樣,2號(hào)指令、3號(hào)指令……都會(huì)向前挪一個(gè)位置,這樣解釋大家清楚了吧?
圖1 先進(jìn)先出隊(duì)列FIFO是隊(duì)列機(jī)制中最簡(jiǎn)單的,每個(gè)接口上都存在FIFO隊(duì)列,表面上看FIFO隊(duì)列并沒有提供什么QoS(Quality of Service,服務(wù)質(zhì)量)保證,甚至很多人認(rèn)為FIFO嚴(yán)格意義上不算做一種隊(duì)列技術(shù),實(shí)則不然,F(xiàn)IFO是其它隊(duì)列的基礎(chǔ),F(xiàn)IFO也會(huì)影響到衡量QoS的關(guān)鍵指標(biāo):報(bào)文的丟棄、延時(shí)、抖動(dòng)。既然只有一個(gè)隊(duì)列,自然不需要考慮如何對(duì)報(bào)文進(jìn)行復(fù)雜的流量分類,也不用考慮下一個(gè)報(bào)文怎么拿、拿多少的問題,而且因?yàn)榘错樞蛉?bào)文,F(xiàn)IFO無(wú)需對(duì)報(bào)文重新排序。簡(jiǎn)化了這些實(shí)現(xiàn)其實(shí)也就提高了對(duì)報(bào)文時(shí)延的保證。FIFO關(guān)心的就是隊(duì)列長(zhǎng)度問題,隊(duì)列長(zhǎng)度會(huì)影響到時(shí)延、抖動(dòng)、丟包率。因?yàn)殛?duì)列長(zhǎng)度是有限的,有可能被填滿,這就涉及到該機(jī)制的丟棄原則。常見的一個(gè)丟棄原則叫做Tail Drop機(jī)制。簡(jiǎn)單地說就是該隊(duì)列如果已經(jīng)滿了,那么后續(xù)進(jìn)入的報(bào)文被丟棄,而沒有什么機(jī)制來保證后續(xù)的報(bào)文可以擠掉已經(jīng)在隊(duì)列內(nèi)的報(bào)文。在這種機(jī)制中,如果定義了較長(zhǎng)的隊(duì)列長(zhǎng)度,那么隊(duì)列不容易填滿,被丟棄的報(bào)文也就少了,但是隊(duì)列長(zhǎng)度太長(zhǎng)了會(huì)出現(xiàn)時(shí)延的問題,一般情況下時(shí)延的增加會(huì)導(dǎo)致抖動(dòng)也增加。如果定義了較短的隊(duì)列,時(shí)延的問題可以得到解決,但是發(fā)生Tail Drop的報(bào)文就變多了。
FIFO隊(duì)列原理簡(jiǎn)述
FIFO隊(duì)列不對(duì)報(bào)文進(jìn)行分類,當(dāng)報(bào)文進(jìn)入接口的速度大于接口能發(fā)送的速度時(shí),F(xiàn)IFO按報(bào)文到達(dá)接口的先后順序讓報(bào)文進(jìn)入隊(duì)列,同時(shí),F(xiàn)IFO在隊(duì)列的出口讓報(bào)文按進(jìn)隊(duì)的順序出隊(duì),先進(jìn)的報(bào)文將先出隊(duì),后進(jìn)的報(bào)文將后出隊(duì)。FIFO隊(duì)列具有處理簡(jiǎn)單,開銷小的優(yōu)點(diǎn)。但FIFO不區(qū)分報(bào)文類型,采用盡力而為的轉(zhuǎn)發(fā)模式,使對(duì)時(shí)間敏感的實(shí)時(shí)應(yīng)用(如VoIP)的延遲得不到保證,關(guān)鍵業(yè)務(wù)的帶寬也不能得到保證。
使用FIFO
FIFO一般用于不同時(shí)鐘域之間的數(shù)據(jù)傳輸,比如FIFO的一端是AD數(shù)據(jù)采集,另一端是計(jì)算機(jī)的PCI總線,假設(shè)其AD采集的速率為16位 100K SPS,那么每秒的數(shù)據(jù)量為100K×16bit=1.6Mbps,而PCI總線的速度為33MHz,總線寬度32bit,其最大傳輸速率為1056Mbps,在兩個(gè)不同的時(shí)鐘域間就可以采用FIFO來作為數(shù)據(jù)緩沖。另外對(duì)于不同寬度的數(shù)據(jù)接口也可以用FIFO,例如單片機(jī)位8位數(shù)據(jù)輸出,而DSP可能是16位數(shù)據(jù)輸入,在單片機(jī)與DSP連接時(shí)就可以使用FIFO來達(dá)到數(shù)據(jù)匹配的目的。
重要參數(shù)
FIFO的寬度:也就是英文資料里常看到的THE WIDTH,它指的是FIFO一次讀寫操作的數(shù)據(jù)位,就像MCU有8位和16位,ARM32位等等,F(xiàn)IFO的寬度在單片成品IC中是固定的,也有可選擇的,如果用FPGA自己實(shí)現(xiàn)一個(gè)FIFO,其數(shù)據(jù)位,也就是寬度是可以自己定義的。
FIFO的深度:THE DEEPTH,它指的是FIFO可以存儲(chǔ)多少個(gè)N位的數(shù)據(jù)(如果寬度為N)。如一個(gè)8位的FIFO,若深度為8,它可以存儲(chǔ)8個(gè)8位的數(shù)據(jù),深度為12 ,就可以存儲(chǔ)12個(gè)8位的數(shù)據(jù),F(xiàn)IFO的深度可大可小,個(gè)人認(rèn)為FIFO深度的計(jì)算并無(wú)一個(gè)固定的公式。在FIFO實(shí)際工作中,其數(shù)據(jù)的滿/空標(biāo)志可以控制數(shù)據(jù)的繼續(xù)寫入或讀出。在一個(gè)具體的應(yīng)用中不可能由一些參數(shù)精確算出所需的FIFO深度為多少,這在寫速度大于讀速度的理想狀態(tài)下是可行的,但在實(shí)際中用到的FIFO深度往往要大于計(jì)算值。一般來說根據(jù)電路的具體情況,在兼顧系統(tǒng)性能和FIFO成本的情況下估算一個(gè)大概的寬度和深度就可以了。而對(duì)于寫速度慢于讀速度的應(yīng)用,F(xiàn)IFO的深度要根據(jù)讀出的數(shù)據(jù)結(jié)構(gòu)和讀出數(shù)據(jù)由那些具體的要求來確定。
滿標(biāo)志:FIFO已滿或?qū)⒁獫M時(shí)由FIFO的狀態(tài)電路送出的一個(gè)信號(hào),以阻止FIFO的寫操作繼續(xù)向FIFO中寫數(shù)據(jù)而造成溢出(overflow)。
空標(biāo)志:FIFO已空或?qū)⒁諘r(shí)由FIFO的狀態(tài)電路送出的一個(gè)信號(hào),以阻止FIFO的讀操作繼續(xù)從FIFO中讀出數(shù)據(jù)而造成無(wú)效數(shù)據(jù)的讀出(underflow)。
讀時(shí)鐘:讀操作所遵循的時(shí)鐘,在每個(gè)時(shí)鐘沿來臨時(shí)讀數(shù)據(jù)。
寫時(shí)鐘:寫操作所遵循的時(shí)鐘,在每個(gè)時(shí)鐘沿來臨時(shí)寫數(shù)據(jù)。
讀指針:指向下一個(gè)讀出地址。讀完后自動(dòng)加1。
寫指針:指向下一個(gè)要寫入的地址的,寫完自動(dòng)加1。
讀寫指針其實(shí)就是讀寫的地址,只不過這個(gè)地址不能任意選擇,而是連續(xù)的。
4.FIFO的分類
根據(jù)FIFO工作的時(shí)鐘域,可以將FIFO分為同步FIFO和異步FIFO。同步FIFO是指讀時(shí)鐘和寫時(shí)鐘為同一個(gè)時(shí)鐘。在時(shí)鐘沿來臨時(shí)同時(shí)發(fā)生讀寫操作。異步FIFO是指讀寫時(shí)鐘不一致,讀寫時(shí)鐘是互相獨(dú)立的。
5.FIFO設(shè)計(jì)的難點(diǎn)
FIFO設(shè)計(jì)的難點(diǎn)在于怎樣判斷FIFO的空/滿狀態(tài)。為了保證數(shù)據(jù)正確的寫入或讀出,而不發(fā)生溢出或讀空的狀態(tài)出現(xiàn),必須保證FIFO在滿的情況下,不能進(jìn)行寫操作。在空的狀態(tài)下不能進(jìn)行讀操作。怎樣判斷FIFO的滿/空就成了FIFO設(shè)計(jì)的核心問題。由于同步FIFO幾乎很少用到,這里只描述異步FIFO的空/滿標(biāo)志產(chǎn)生問題。
在用到觸發(fā)器的設(shè)計(jì)中,不可避免的會(huì)遇到亞穩(wěn)態(tài)的問題(關(guān)于亞穩(wěn)態(tài)這里不作介紹,可查看相關(guān)資料)。在涉及到觸發(fā)器的電路中,亞穩(wěn)態(tài)無(wú)法徹底消除,只能想辦法將其發(fā)生的概率將到最低。其中的一個(gè)方法就是使用格雷碼。格雷碼在相鄰的兩個(gè)碼元之間只由一位變換(二進(jìn)制碼在很多情況下是很多碼元在同時(shí)變化)。這就會(huì)避免計(jì)數(shù)器與時(shí)鐘同步的時(shí)候發(fā)生亞穩(wěn)態(tài)現(xiàn)象。但是格雷碼有個(gè)缺點(diǎn)就是只能定義2^n的深度,而不能像二進(jìn)制碼那樣隨意的定義FIFO的深度,因?yàn)楦窭状a必須循環(huán)一個(gè)2^n,否則就不能保證兩個(gè)相鄰碼元之間相差一位的條件,因此也就不是真正的格雷碼了。第二就是使用冗余的觸發(fā)器,假設(shè)一個(gè)觸發(fā)器發(fā)生亞穩(wěn)態(tài)的概率為P,那么兩個(gè)級(jí)聯(lián)的觸發(fā)器發(fā)生亞穩(wěn)態(tài)的概率就為P的平方。但這會(huì)導(dǎo)致延時(shí)的增加。亞穩(wěn)態(tài)的發(fā)生會(huì)使得FIFO出現(xiàn)錯(cuò)誤,讀/寫時(shí)鐘采樣的地址指針會(huì)與真實(shí)的值之間不同,這就導(dǎo)致寫入或讀出的地址錯(cuò)誤。由于考慮延時(shí)的作用,空/滿標(biāo)志的產(chǎn)生并不一定出現(xiàn)在FIFO真的空/滿時(shí)才出現(xiàn)。可能FIFO還未空/滿時(shí)就出現(xiàn)了空/滿標(biāo)志。這并沒有什么不好,只要保證FIFO不出現(xiàn)overflow or underflow 就OK了。
很多關(guān)于FIFO的文章其實(shí)討論的都是空/滿標(biāo)志的不同算法問題。
在Vijay A. Nebhrajani的《異步FIFO結(jié)構(gòu)》一文中,作者提出了兩個(gè)關(guān)于FIFO空/滿標(biāo)志的算法。
第一個(gè)算法:構(gòu)造一個(gè)指針寬度為N+1,深度為2^N字節(jié)的FIFO(為方便比較,將格雷碼指針轉(zhuǎn)換為二進(jìn)制指針)。當(dāng)指針的二進(jìn)制碼中最高位不一致而其它N位都相等時(shí),F(xiàn)IFO為滿(在Clifford E. Cummings的文章中以格雷碼表示是前兩位均不相同,而后兩位LSB相同為滿,這與換成二進(jìn)制表示的MSB不同其他相同為滿是一樣的)。當(dāng)指針完全相等時(shí),F(xiàn)IFO為空。這也許不容易看出,舉個(gè)例子說明一下:一個(gè)深度為8字節(jié)的FIFO怎樣工作(使用已轉(zhuǎn)換為二進(jìn)制的指針)。FIFO_WIDTH=8,F(xiàn)IFO_DEPTH= 2^N = 8,N = 3,指針寬度為N+1=4。起初rd_ptr_bin和wr_ptr_bin均為“0000”。此時(shí)FIFO中寫入8個(gè)字節(jié)的數(shù)據(jù)。wr_ptr_bin =“1000”,rd_ptr_bin=“0000”。當(dāng)然,這就是滿條件。現(xiàn)在,假設(shè)執(zhí)行了8次的讀操作,使得rd_ptr_bin =“1000”,這就是空條件。另外的8次寫操作將使wr_ptr_bin 等于“0000”,但rd_ptr_bin 仍然等于“1000”,因此FIFO為滿條件。
顯然起始指針無(wú)需為“0000”。假設(shè)它為“0100”,并且FIFO為空,那么8個(gè)字節(jié)會(huì)使wr_ptr_bin =“1100”,, rd_ptr_bin 仍然為“0100”。這又說明FIFO為滿。
在Vijay A. Nebhrajani的這篇《異步FIFO結(jié)構(gòu)》文章中說明了怎樣運(yùn)用格雷碼來設(shè)置空滿的條件,但沒有說清為什么深度為8的FIFO其讀寫指針要用3+1位的格雷碼來實(shí)現(xiàn),而3+1位的格雷碼可以表示16位的深度,而真實(shí)的FIFO只有8位,這是怎么回事?而這個(gè)問題在Clifford E. Cummings的文章中得以解釋。三位格雷碼可表示8位的深度,若在加一位最為MSB,則這一位加其他三位組成的格雷碼并不代表新的地址,也就是說格雷碼的0100表示表示7,而1100仍然表示7,只不過格雷碼在經(jīng)過一個(gè)以0位MSB的循環(huán)后進(jìn)入一個(gè)以1為MSB的循環(huán),然后又進(jìn)入一個(gè)以0位MSB的循環(huán),其他的三位碼仍然是格雷碼,但這就帶來一個(gè)問題,在0100的循環(huán)完成后,進(jìn)入1000,他們之間有兩位發(fā)生了變換,而不是1位,所以增加一位MSB的做法使得該碼在兩處:0100~1000,1100~0000有兩位碼元發(fā)生變化,故該碼以不是真正的格雷碼。增加的MSB是為了實(shí)現(xiàn)空滿標(biāo)志的計(jì)算。Vijay A. Nebhrajani的文章用格雷碼轉(zhuǎn)二進(jìn)制,再轉(zhuǎn)格雷碼的情況下提出空滿條件,僅過兩次轉(zhuǎn)換,而Clifford E. Cummings的文章中直接在格雷碼條件下得出空滿條件。其實(shí)二者是一樣的,只是實(shí)現(xiàn)方式不同罷了。
第二種算法:Clifford E. Cummings的文章中提到的STYLE#2。它將FIFO地址分成了4部分,每部分分別用高兩位的MSB 00 、01、 11、 10決定FIFO是否為going full 或going empty (即將滿或空)。如果寫指針的高兩位MSB小于讀指針的高兩位MSB則FIFO為“幾乎滿”,
若寫指針的高兩位MSB大于讀指針的高兩位MSB則FIFO為“幾乎空”。
在Vijay A. Nebhrajani的《異步FIFO結(jié)構(gòu)》第三部分的文章中也提到了一種方法,那就是方向標(biāo)志與門限。設(shè)定了FIFO容量的75%作為上限,設(shè)定FIFO容量的25%為下限。當(dāng)方向標(biāo)志超過門限便輸出滿/空標(biāo)志,這與Clifford E. Cummings的文章中提到的STYLE #2可謂是異曲同工。他們都屬于保守的空滿判斷。其實(shí)這時(shí)輸出空滿標(biāo)志FIFO并不一定真的空/滿。
說到此,我們已經(jīng)清楚地看到,F(xiàn)IFO設(shè)計(jì)最關(guān)鍵的就是產(chǎn)生空/滿標(biāo)志的算法的不同產(chǎn)生了不同的FIFO。但無(wú)論是精確的空滿還是保守的空滿都是為了保證FIFO工作的可靠。
FIFO作為FPGA崗位求職過程中最常被問到的基礎(chǔ)知識(shí)點(diǎn),也是項(xiàng)目中最常被使用到的IP,其意義是非常重要的。本文基于對(duì)FIFO Generator的Xi...
FIFO是FPGA/IC設(shè)計(jì)中經(jīng)常使用到的模塊,它經(jīng)常被用在兩個(gè)模塊之間進(jìn)行數(shù)據(jù)的緩存,以避免數(shù)據(jù)在傳輸過程中丟失。同時(shí)FIFO也經(jīng)常被用在跨時(shí)鐘域處理中。
2024-10-25 標(biāo)簽:FPGAIC設(shè)計(jì)fifo 285 0
分享一個(gè)嵌入式通用FIFO環(huán)形緩沖區(qū)實(shí)現(xiàn)庫(kù)
開源項(xiàng)目ringbuff ,是一款通用FIFO環(huán)形緩沖區(qū)實(shí)現(xiàn)的開源庫(kù),作者M(jìn)aJerle,遵循 MIT 開源許可協(xié)議。
前幾天測(cè)試中心在對(duì)伺服電機(jī)控制板進(jìn)行測(cè)試中,發(fā)現(xiàn)多次隨機(jī)點(diǎn)擊控制屏上控制指令時(shí),會(huì)出現(xiàn)正常運(yùn)行的電機(jī)突然就停了。在當(dāng)前指令還沒有執(zhí)行完,并且確認(rèn)沒有下發(fā)...
陀螺儀LSM6DSOW開發(fā)(3)----FIFO數(shù)據(jù)讀取與配置
本文檔旨在詳細(xì)介紹如何配置和讀取LSM6DSOW傳感器的FIFO數(shù)據(jù)。LSM6DSOW是一款高性能的6軸IMU(慣性測(cè)量單元),集成了三軸加速度計(jì)和三軸...
本文將探討如何使用中斷機(jī)制獲取FIFO數(shù)據(jù)并應(yīng)用MotionFX庫(kù)解析空間坐標(biāo)。MotionFX庫(kù)是一種用于傳感器融合的強(qiáng)大工具,可以將加速度計(jì)、陀螺儀...
2024-07-21 標(biāo)簽:數(shù)據(jù)采集fifo運(yùn)動(dòng)檢測(cè) 679 0
驅(qū)動(dòng)LSM6DS3TR-C實(shí)現(xiàn)高效運(yùn)動(dòng)檢測(cè)與數(shù)據(jù)采集(6)----FIFO數(shù)據(jù)讀取與配置
LSM6DS3TR-C是STMicroelectronics公司推出的iNEMO慣性模塊,集成了三軸加速度計(jì)和三軸陀螺儀,具備低功耗、強(qiáng)大的運(yùn)動(dòng)檢測(cè)功能...
2024-07-18 標(biāo)簽:陀螺儀數(shù)據(jù)采集fifo 1465 0
陀螺儀LSM6DSV16X與AI集成(9)----中斷獲取FIFO數(shù)據(jù)并應(yīng)用MotionFX庫(kù)解析空間坐標(biāo)
本文將探討如何使用中斷機(jī)制獲取FIFO數(shù)據(jù)并應(yīng)用MotionFX庫(kù)解析空間坐標(biāo)。MotionFX庫(kù)是一種用于傳感器融合的強(qiáng)大工具,可以將加速度計(jì)、陀螺儀...
陀螺儀LSM6DSV16X與AI集成(7)----FIFO數(shù)據(jù)讀取與配置
LSM6DSV16X是一款高性能、低功耗的6軸IMU傳感器,集成了3軸加速度計(jì)和3軸陀螺儀。本文將詳細(xì)介紹如何配置和讀取LSM6DSV16X傳感器的FI...
2
0
DAC3482用CDCE62005做時(shí)鐘發(fā)生器,產(chǎn)生的FIFO-OSTR又經(jīng)過了時(shí)鐘緩沖器CDCP1803,CDCP1803的作用是什么?
標(biāo)簽:fifo時(shí)鐘發(fā)生器 12 2
1
0
休眠時(shí)將adxl355的電斷掉再重新上電,上電后會(huì)延時(shí)2s去讀值再斷電,有概率讀到的FIFO值是7FFFF,怎么解決?
標(biāo)簽:fifo低功耗設(shè)計(jì)adxl355 383 1
TL16C752D具有64字節(jié)FIFO的雙路UART數(shù)據(jù)表立即下載
類別:電子資料 2024-07-10 標(biāo)簽:fifouart通用異步收發(fā)器
L3GD20H 3軸數(shù)字陀螺儀的使用信息和應(yīng)用提示立即下載
類別:電子資料 2023-07-31 標(biāo)簽:傳感器fifo數(shù)字陀螺儀
在STM32上移植的一個(gè)穩(wěn)定可靠的FIFO立即下載
類別:C語(yǔ)言|源代碼 2022-09-26 標(biāo)簽:STM32fifo
陀螺儀LSM6DSOW開發(fā)(4)----中斷獲取FIFO數(shù)據(jù)
本文將探討如何使用中斷機(jī)制獲取FIFO數(shù)據(jù)并應(yīng)用MotionFX庫(kù)解析空間坐標(biāo)。MotionFX庫(kù)是一種用于傳感器融合的強(qiáng)大工具,可以將加速度計(jì)、陀螺儀...
美新半導(dǎo)體宣布3軸AMR地磁傳感器榮膺“年度最佳傳感器/MEMS獎(jiǎng)項(xiàng)”
2024年3月29日,由全球電子技術(shù)領(lǐng)域知名媒體集團(tuán)ASPENCORE舉辦的"2024年度中國(guó)IC領(lǐng)袖峰會(huì)暨中國(guó)IC設(shè)計(jì)成就獎(jiǎng)?lì)C獎(jiǎng)典禮&quo...
2024-04-07 標(biāo)簽:IC設(shè)計(jì)fifoAMR 698 0
請(qǐng)問異步FIFO的溢出操作時(shí)怎么樣判斷的?
請(qǐng)問異步FIFO的溢出操作時(shí)怎么樣判斷的? 異步FIFO是數(shù)據(jù)傳輸?shù)囊环N常用方式,在一些儲(chǔ)存器和計(jì)算機(jī)系統(tǒng)中,常常會(huì)用到異步FIFO。作為一種FIFO,...
2023-10-18 標(biāo)簽:fifo計(jì)數(shù)器 1616 0
同步FIFO和異步FIFO的區(qū)別 同步FIFO和異步FIFO各在什么情況下應(yīng)用
同步FIFO和異步FIFO的區(qū)別 同步FIFO和異步FIFO各在什么情況下應(yīng)用? 1. 同步FIFO和異步FIFO的區(qū)別 同步FIFO和異步FIFO在處...
2023-10-18 標(biāo)簽:fifo 1681 0
為什么異步fifo中讀地址同步在寫時(shí)鐘域時(shí)序分析不通過?
為什么異步fifo中讀地址同步在寫時(shí)鐘域時(shí)序分析不通過? 異步FIFO中讀地址同步在寫時(shí)鐘域時(shí)序分析不通過的原因可能有以下幾個(gè)方面: 1. 讀地址同步在...
2023-10-18 標(biāo)簽:時(shí)鐘緩沖器fifo 733 0
fpga跨時(shí)鐘域通信時(shí),慢時(shí)鐘如何讀取快時(shí)鐘發(fā)送過來的數(shù)據(jù)?
fpga跨時(shí)鐘域通信時(shí),慢時(shí)鐘如何讀取快時(shí)鐘發(fā)送過來的數(shù)據(jù)? 在FPGA設(shè)計(jì)中,通常需要跨時(shí)鐘域進(jìn)行數(shù)據(jù)通信。跨時(shí)鐘域通信就是在不同的時(shí)鐘域之間傳輸數(shù)據(jù)...
2023-10-18 標(biāo)簽:FPGA設(shè)計(jì)fifo緩存器 1065 0
芯教程|平頭哥助力昊芯HX2000系列芯片專題SCI串口通訊奇偶校驗(yàn)(二)SCI增強(qiáng)FIFO
自昊芯推出專題講解SCI串口通訊奇偶校驗(yàn),分為兩期講解,上期主要講解標(biāo)準(zhǔn)SCI模式下的奇偶校驗(yàn),本期主要講解增強(qiáng)FIFO模式下的奇偶校驗(yàn)。HX2000系...
異步fifo詳解 一. 什么是異步FIFO FIFO即First in First out的英文簡(jiǎn)稱,是一種先進(jìn)先出的數(shù)據(jù)緩存器,與普通存儲(chǔ)器的區(qū)別在于...
2022-12-12 標(biāo)簽:fifo 4156 0
一、FIFO簡(jiǎn)介 FIFO是英文First In First Out 的縮寫,是一種先進(jìn)先出的數(shù)據(jù)緩存器,它與普通存儲(chǔ)器的區(qū)別是沒有外部讀...
FIFO的分類根均FIFO工作的時(shí)鐘域,可以將FIFO分為同步FIFO和異步FIFO。同步FIFO是指讀時(shí)鐘和寫時(shí)鐘為同一個(gè)時(shí)鐘。在時(shí)鐘沿來臨時(shí)同時(shí)發(fā)生...
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語(yǔ)言教程專題
電機(jī)控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動(dòng)駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無(wú)刷電機(jī) | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機(jī) | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
步進(jìn)電機(jī) | SPWM | 充電樁 | IPM | 機(jī)器視覺 | 無(wú)人機(jī) | 三菱電機(jī) | ST |
伺服電機(jī) | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國(guó)民技術(shù) | Microchip |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |