《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 其他 > IC設(shè)計(jì)錯(cuò)誤案例

IC設(shè)計(jì)錯(cuò)誤案例

fifo讀控制之不合理的流控
2023-12-11
來源:EETOP
關(guān)鍵詞: IC設(shè)計(jì) 案例

-以下文章來源于IC的世界 ,作者IC小鴿-

本文將簡述一種fifo讀控制的不合理設(shè)計(jì)案例,在此案例中,反壓信號(hào)type1_fc和type2_fc會(huì)不合理阻塞讀控制信號(hào),造成性能損失,甚至?xí)斐蓢?yán)重bug。

如下圖所示:all_data_fifo 為主數(shù)據(jù)路徑的存儲(chǔ)fifo,用于存儲(chǔ)報(bào)文,所有正常報(bào)文類型包含:TYPE1和TYPE2。數(shù)據(jù)從all_data_fifo讀出后會(huì)分根據(jù)報(bào)文類型分發(fā)到兩個(gè)fifo,分別是type1_data_fifo和type2_data_fifo。兩個(gè)fifo分別產(chǎn)生反壓信號(hào)type1_fc和type2_fc作用到data_fifo的讀控制模塊。type1_data_fifo/type2_data_fifo將滿時(shí),將type1_fc/type2_fc置1表示不希望上游all_data_fifo向下發(fā)送數(shù)據(jù)。

data_fifo_ren為all_data_fifo讀使能信號(hào),1表示讀fifo。all_data_fifo_empty為1表示all_data_fifo為空,沒有數(shù)據(jù)。錯(cuò)誤設(shè)計(jì)中,all_data_fifo_empty、type2_fc和type1_fc均為0,才允許讀all_data_fifo。

正確設(shè)計(jì)中,應(yīng)該區(qū)分當(dāng)前all_data_fifo中的數(shù)據(jù)類型,當(dāng)數(shù)據(jù)為type1類型時(shí),type1_fc才會(huì)生效,當(dāng)數(shù)據(jù)為type2類型時(shí),type2_fc才會(huì)生效,避免出現(xiàn)過度流控,造成數(shù)據(jù)阻塞。

NOTE: 本文中列舉的案例很簡單,但在實(shí)際芯片設(shè)計(jì)中時(shí)常會(huì)出現(xiàn)此類問題,并且隱藏在很復(fù)雜的讀控制邏輯中,不容易發(fā)現(xiàn)。

屏幕截圖 2023-12-11 190745.png

屏幕截圖 2023-12-11 190851.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。