格雷碼的事聊完了,后面順理成章的就是讀寫(xiě)通路模塊的設(shè)計(jì)。不過(guò)在讀寫(xiě)控制通路之前還要明確下另一個(gè)問(wèn)題,就是空滿信號(hào)的產(chǎn)生位置的事情。
這個(gè)問(wèn)題在面試時(shí)的問(wèn)法是:空滿信號(hào)分別在哪個(gè)時(shí)鐘域產(chǎn)生?
眾所周知,信號(hào)跳變時(shí)打兩拍(或者三拍)能夠消除亞穩(wěn)態(tài),但是信號(hào)從亞穩(wěn)態(tài)恢復(fù)的時(shí)候不一定恢復(fù)成0還是1。而因?yàn)楦窭状a每次變化1比特的特性,可以保證即使恢復(fù)錯(cuò)了也不過(guò)是錯(cuò)成之前的值罷了。
當(dāng)然了即使沒(méi)有亞穩(wěn)態(tài)誤恢復(fù)的問(wèn)題,讀寫(xiě)指針傳到對(duì)面的時(shí)鐘域去,總歸會(huì)延遲好幾拍的,所以在寫(xiě)時(shí)鐘域看到的讀指針是落后于實(shí)時(shí)讀指針的,同理讀時(shí)鐘域看到的寫(xiě)指針也是落后于真實(shí)的寫(xiě)指針的。
那么來(lái)分析下滯后的影響,令fifo_cnt為fifo中已有的數(shù)據(jù)量計(jì)數(shù)值。
1.waddr準(zhǔn)確,raddr滯后,那么計(jì)算得到fifo_cnt會(huì)偏大。如waddr=7,raddr=4,滯后的raddr=1,計(jì)算得到fifo_cnt為6,而實(shí)際上fifo_cnt為3;
2.waddr滯后,raddr準(zhǔn)確,那么計(jì)算得到fifo_cnt會(huì)偏小。如waddr=7,raddr=4,滯后的waddr=5,計(jì)算得到fifo_cnt為1,而實(shí)際上fifo_cnt為3;
進(jìn)一步的,如果fifo_cnt計(jì)算偏大了,對(duì)于讀和寫(xiě)來(lái)說(shuō)會(huì)有什么影響呢?讀可能發(fā)生功能問(wèn)題,寫(xiě)可能發(fā)生性能問(wèn)題。讀可能發(fā)生功能問(wèn)題在于,本來(lái)你里面沒(méi)數(shù)了,結(jié)果fifo_cnt算的偏大還以為有數(shù),有數(shù)就能讀一讀就出錯(cuò)了。寫(xiě)可能發(fā)生性能問(wèn)題在于,本來(lái)你里面沒(méi)滿呢,結(jié)果fifo_cnt算的偏大還以為滿了,滿了就不能寫(xiě)本來(lái)能寫(xiě)的寫(xiě)不進(jìn)去那性能不就降下來(lái)了么。
如果fifo_cnt計(jì)算偏小了,對(duì)于讀和寫(xiě)來(lái)說(shuō)會(huì)有什么影響呢?讀可能發(fā)生性能問(wèn)題,寫(xiě)可能發(fā)生功能問(wèn)題。讀可能發(fā)生性能問(wèn)題在于,本來(lái)你里面還有數(shù),結(jié)果fifo_cnt算的偏小還以為沒(méi)數(shù)了,沒(méi)數(shù)了就不能讀了。寫(xiě)可能發(fā)生功能問(wèn)題在于,本來(lái)你已經(jīng)滿了,結(jié)果fifo_cnt算的偏小還以為沒(méi)滿,沒(méi)滿就能寫(xiě)一寫(xiě)就出錯(cuò)了。
所以,對(duì)于寫(xiě)fifo而言,fifo_cnt計(jì)算偏小不可接收,fifo_cnt計(jì)算偏大可以接收,所以滿信號(hào)必須由準(zhǔn)確的waddr和滯后的raddr產(chǎn)生,也就是在寫(xiě)時(shí)鐘域產(chǎn)生。
對(duì)于讀fifo而言,fifo_cnt計(jì)算偏小可以接收,fifo_cnt計(jì)算偏大不可接收。所以空信號(hào)必須由滯后的waddr和準(zhǔn)確的raddr產(chǎn)生,也就是在讀時(shí)鐘域產(chǎn)生。
審核編輯:劉清
-
fifo
+關(guān)注
關(guān)注
3文章
386瀏覽量
43492 -
格雷碼
+關(guān)注
關(guān)注
2文章
34瀏覽量
13167 -
時(shí)鐘域
+關(guān)注
關(guān)注
0文章
51瀏覽量
9524
原文標(biāo)題:【芯片設(shè)計(jì)】FIFO漫談之異步FIFO空滿信號(hào)的產(chǎn)生位置
文章出處:【微信號(hào):Rocker-IC,微信公眾號(hào):路科驗(yàn)證】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論