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

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

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

-以下文章來(lái)源于IC的世界 ,作者IC小鴿-

本文將簡(jiǎn)述一種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為空,,沒(méi)有數(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)過(guò)度流控,,造成數(shù)據(jù)阻塞,。

NOTE: 本文中列舉的案例很簡(jiǎn)單,但在實(shí)際芯片設(shè)計(jì)中時(shí)常會(huì)出現(xiàn)此類問(wè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)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。