
在一次晶片整合程式除錯的過程中,我碰上一個奇怪的情況「我知道怎麼解,程式也能跑,但客戶卻堅持那樣做IC會壞掉。」這次經驗讓我體會到:工程問題的解法,不只要能跑,還得讓人信服。
問題起因及初步判斷
相同的程式、不同的結果
某一次有個客戶在整合晶片A的程式時回報說程式執行會報錯,當我去看程式時發現那個ERROR不常見,但從訊息上可以知道一些眉目。實際上當時有晶片A、B、C及D一起在開發中,而ABCD其實用的都是同一個版本的程式,照理說如果A出問題BCD都應該有問題,實際上卻是只有晶片A工程師有回報問題。
在一段時間驗證與查找後,我找到在某一處設定檔案中有一個被引用的檔案會引起這個ERROR。實際上這個被引用的檔案根本沒被使用,算是以前系統更新版本後遺留下來沒被刪除的檔案。而在晶片BCD中無論這一行有沒有被註解都不影響執行,而A在將那一行註解掉後,程式就可以順利執行了。
客戶堅持反對,卻不合邏輯
問題很簡單,但卻難以溝通
但事情沒有我想像順利,回報給客戶解答後,隔天客戶再次找上我說註解掉這一行檔案的引用會影響IC的燒錄。當下其實是愣住了,這個檔案跟燒錄完全沒關係。
但我沒有選擇不直接反駁,而是再次回去看了看程式內容。確認多次後我可以保證這個檔案完全沒被使用,大概率是程式底層的BUG,但我這邊沒辦法處理。
在跟客戶試圖交流後,對方態度其實很強硬,堅持地認為這個檔案的註解會影響燒錄結果。我強烈地懷疑這個結論是錯的,畢竟這個檔案並沒有參與燒錄的執行。
但我沒有選擇與他硬碰硬。並且這個問題其實有點急,因為會影響到程式傳到外測廠OSAT的時程、量產的時程。
持續深挖,找到Root Cause
持續嘗試、試圖找到證據服人
當天我決定晚上把筆電帶回家,想找到有沒有更深層原因引起這個問題,否則當前這個Wordaround雖然正確卻不能安撫對方情緒。一路從七點用到十一點多後,終於找到一點蛛絲馬跡,是程式中某個自動生成的設定檔沒有被生成。
隔天到公司我試著跟同事討論這個發現,正好有個比較資深的同事說到某個隱藏系統設定檔會影響檔案生成。我立刻去將晶片ABCD的隱藏設定檔做比較,果然只有A的設定檔中有少兩行內容。接著我把那兩行文字補上後,晶片A無論有沒有把那個被引用卻沒使用的檔案註解,都可以順利執行程式 了。
最終解決以及反思
提出這個解法後客戶終於接受了,同時我也找到一個程式底層錯誤並回報給工廠的RD,也讓自己貢獻多了一筆。
在這次應對的過程中我了解到,有時候雖然存在正確的Workaround,但不一定是對現場執行合適的,還要考慮到人與人互動間的複雜感情交流XD。我曾想過,如果當初我更堅定地說服對方採用 workaround,也許能節省不少時間。但也可能換來不必要的衝突與信任損失。
技術判斷之外的事,我還在學,也許這才是工程職場中最難的部分。




















