當前位置: 華文星空 > 知識

最難偵錯修復的 bug 是怎樣的?

2015-03-25知識

個人理解電子產品Bug偵錯的難易程度取決於以下幾點:

1)從上電到產生bug的時間是不是足夠長,這個很大程度上決定了你的樣本bug是不是足夠多?時間越長越難辦。

2)產生bug的條件是不是足夠復雜?很久之前參與了一款反向數位芯片的Debug,這種芯片的驗證思路一般是RTL下載到FPGA上,同時有一個原版芯片作為對照。FPGA和原版芯片的輸入一致,FPGA輸出接測試板,芯片輸出不接。同時,所有的的輸入,輸出都接邏輯分析儀,將邏輯分析儀設定至RTL與原版芯片輸出不同即觸發。同樣的輸入,如果RTL功能正確,則輸出完全一致。該測試平台,前期非常好用。但是到了計畫後期,芯片要執行到20多分鐘才出現Bug,深度再深的邏輯分析儀也只能抓到Bug前後的訊號變化,而無法提供從芯片上電以來的訊號變化,基本無解了。

3)Bug出現是否隨機?我心目中,隨機bug堪稱Bug之神,每次發生Bug條件不確定,搞到最後自己都不相信自己,懷疑人生了。

下面講一個隨機bug的例子。以下內容都是道聽途說,全是杜撰,如有雷同