本文將簡述一種fifo讀控制的不合理設(shè)計(jì)案例,在此案例中,異常報(bào)文將會堵在fifo中,造成頭阻塞。
異常場景在驗(yàn)證階段很難完全覆蓋,而實(shí)際芯片應(yīng)用中,因?yàn)殒溌凡环€(wěn)定或者噪聲的影響,時(shí)不時(shí)會出現(xiàn)各種異常報(bào)文,因此在設(shè)計(jì)階段需要重復(fù)考慮到異常常見對設(shè)計(jì)的影響。
1.不合理的案例設(shè)計(jì)
如下圖所示:data_fifo 為主數(shù)據(jù)路徑的存儲fifo,用于存儲報(bào)文,所有正常報(bào)文類型包含:TYPE1,TYPE2,TYPE3,TYPE4。因?yàn)楸P騿栴},部分報(bào)文需要得到響應(yīng)反饋會才能讀出,而部分報(bào)文不需要反饋就能立即讀出。
在如下代碼中,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。在正常場景中,能夠覆蓋所有報(bào)文類型,所有正常報(bào)文都能夠被讀出。
而在異常場景中,一旦報(bào)文類型不屬于TYPE1,TYPE2,TYPE3,TYPE4,那么data_fifo_ren一直為0,數(shù)據(jù)將會堵在fifo中,無法讀出。
2.一種更合理的案例方案
采用always和case語句,關(guān)鍵是添加了default語句表示異常報(bào)文允許立即從data_fifo讀出。
-
IC設(shè)計(jì)
+關(guān)注
關(guān)注
38文章
1346瀏覽量
105229 -
輸出信號
+關(guān)注
關(guān)注
0文章
302瀏覽量
12136 -
FIFO設(shè)計(jì)
+關(guān)注
關(guān)注
0文章
7瀏覽量
5025
發(fā)布評論請先 登錄
請問這個(gè)功放電路的PCB布局不合理嗎?
電子學(xué)第二版(吳利民等譯)不合理電路分析
拼版不合理案例詳解
變電所繼電保護(hù)的幾處不合理設(shè)計(jì)
不合理軟件使用對硬盤會造成哪些損傷
不合理使用對硬盤的損傷有哪些?
蘋果正拒絕不合理高價(jià)購買的應(yīng)用
LTE小區(qū)TAC配置不合理回落失敗案例簡介

LTE小區(qū)TAC配置不合理回落失敗案例

【LTE實(shí)戰(zhàn)】LTE小區(qū)TAC配置不合理導(dǎo)致CSFB失敗處理案例

合成數(shù)據(jù)的不合理有效性

拼版不合理案例詳解

評論