本文將簡述一種fifo讀控制的不合理設(shè)計案例,在此案例中,異常報文將會堵在fifo中,造成頭阻塞。
異常場景在驗證階段很難完全覆蓋,而實際芯片應(yīng)用中,因為鏈路不穩(wěn)定或者噪聲的影響,時不時會出現(xiàn)各種異常報文,因此在設(shè)計階段需要重復(fù)考慮到異常常見對設(shè)計的影響。
1.不合理的案例設(shè)計
如下圖所示:data_fifo 為主數(shù)據(jù)路徑的存儲fifo,用于存儲報文,所有正常報文類型包含:TYPE1,TYPE2,TYPE3,TYPE4。因為保序問題,部分報文需要得到響應(yīng)反饋會才能讀出,而部分報文不需要反饋就能立即讀出。
在如下代碼中,TYPE1和TYPE2需要反饋ack返回才能從data_fifo讀出,而type3和type4可立即讀出。
本案例中,輸出存儲采用的是FWFT類型的fifo,即在數(shù)據(jù)讀出之前,可以看到data的數(shù)值。data_dout是fifo輸出信號,根據(jù)data_dout的msg_type和type1/type2反饋結(jié)果(type1/2_ack_is_return)判斷是否可以讀出fifo數(shù)據(jù)。(為簡化說明,本案例中不涉及流控反壓)。
data_fifo_ren為fifo讀使能信號,1表示讀fifo。在正常場景中,能夠覆蓋所有報文類型,所有正常報文都能夠被讀出。
而在異常場景中,一旦報文類型不屬于TYPE1,TYPE2,TYPE3,TYPE4,那么data_fifo_ren一直為0,數(shù)據(jù)將會堵在fifo中,無法讀出。
2.一種更合理的案例方案
采用always和case語句,關(guān)鍵是添加了default語句表示異常報文允許立即從data_fifo讀出。
-
IC設(shè)計
+關(guān)注
關(guān)注
38文章
1302瀏覽量
104285 -
輸出信號
+關(guān)注
關(guān)注
0文章
291瀏覽量
11936 -
FIFO設(shè)計
+關(guān)注
關(guān)注
0文章
7瀏覽量
4985
發(fā)布評論請先 登錄
相關(guān)推薦
請問這個功放電路的PCB布局不合理嗎?
電子學(xué)第二版(吳利民等譯)不合理電路分析
拼版不合理案例詳解
變電所繼電保護的幾處不合理設(shè)計
不合理軟件使用對硬盤會造成哪些損傷
不合理使用對硬盤的損傷有哪些?
蘋果正拒絕不合理高價購買的應(yīng)用
LTE小區(qū)TAC配置不合理回落失敗案例簡介
![LTE小區(qū)TAC配置<b class='flag-5'>不合理</b>回落失敗案例簡介](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
LTE小區(qū)TAC配置不合理回落失敗案例
![LTE小區(qū)TAC配置<b class='flag-5'>不合理</b>回落失敗案例](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
【LTE實戰(zhàn)】LTE小區(qū)TAC配置不合理導(dǎo)致CSFB失敗處理案例
![【LTE實戰(zhàn)】LTE小區(qū)TAC配置<b class='flag-5'>不合理</b>導(dǎo)致CSFB失敗處理案例](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
拼版不合理案例詳解
![拼版<b class='flag-5'>不合理</b>案例詳解](https://file.elecfans.com/web2/M00/2F/91/pYYBAGIDk5SAG5OkAAAhzW4PBzA134.png)
評論