pretty code

2026年4月9日 星期四

雜訊

今天本來準備要來做一個之前因為 design 還未 ready 的 block,好不容易比對好 sram 種類,正準備插入測試電路,就遇到 read design 的第一個問題,還在思考要如何解的時候,同事問了我一個問題,他的環境跑 synthesis 似乎出了問題,無法產生該有的檔案。

沒想到就是這個問題,花了我快 3 個小時才找到 root cause,確實值得好好記錄下來。

我們登入的環境,會隨機分配,大部分都是分到前兩台,似乎從昨天開始,開始有機會被分配到第 3 台!

本來只是不同主機,並沒什麼大不了,偏偏就只有該位同事在那一台工作會出事!

這是第一個誤區,也是追查問題過程中的雜訊。

既然同事有問題就是有問題,應該要想辦法試著在我這裡也重現問題,而不是一直往該位同事的環境或資料夾方向去確認問題!

雖然這只是事後諸葛,我也不確定早上真的這樣做就可以更快找到問題?畢竟這個問題非常神奇XD

總之,就在我嘗試從環境,變數,資料夾等方向去解決問題,但仍然無法收斂問題後,因為我也沒招了,便請同事發個郵件給 IT,詢問到底哪裡出了問題?

就在我上廁所的當下,突然覺得還有一個可以嘗試的步驟,於是便請同事確認執行後是否有額外的錯誤訊息可參考。

可惜的是,錯誤訊息還是那些原本就從 console 可以看到的,執行這個步驟並沒有更多的資訊可供回饋!

就在我回位子嘗試的當下,我居然也撞出跟他一樣的問題了,真是恭喜老爺,賀喜夫人。

Debug 最怕的不是不知如何解題,而是無法重現問題!

有了一樣的問題那就好辦,雖然當下我也覺得跟事實衝突,明明那個步驟我也曾經成功產生檔案過?

還好後來馬上發現,那個檔案原來是一天前就產生的,換句話說,過去的一天內,我跟其他貌似成功的同事其實都已經發生問題而不自知!

我們之所以可以成功,那是因為該步驟只檢查檔案在不在,並不在意檔案是不是當下產生的!

所以那些一天前的檔案,其實有點 cache 的意思在?

剛好在幫同事確認問題的過程中,有看到登入的 script 被強制指定到第三台主機,修改的同事也有寫了註解,敘述修改時間為一天以前。

於是真相大白了,問題就是發生在第三台主機,雖然我同事環境還是有他的問題在XD

所以同事的環境問題是第二個雜訊,浪費了我不少時間。

總之,Debug 的同時,也要避免被雜訊影響,這是我今天學到的教訓!

不過,雜訊發生的當下,其實你很難知道那就是雜訊本人?

所以,以後要 Debug 時,應該還是要以重現問題為優先才對?

直到寫作當下,本人也還沒有正確解答就是了?

好不容易解決了同事的問題,快下班前終於可以好好的來看我自己的問題。

沒想到解決了第一個問題後,後續又冒出了好多個問題,解決第二個問題後,我也累了,決定下班打東東了XD

2026/04/10 更新

給 Gemini 的提示詞:工程師 debug 時最怕遇到雜訊,一不小心往往容易陷入死胡同而不自知。一個有經驗的工程師 debug 應該要像古人庖丁解牛般的抽絲剝繭,手起刀落,真相自然也就浮出水面。


使用 Pro 重生。

原來我誤會愛迪生了

暗黑 YouTuber 愛迪生曾說,戴兩顆鴨霜可以防止巴爾的反彈冰彈!

但我上次實測的結果仍然一直在掉血。

現在想想應該是換上第二套裝備時,抗性可能沒有接近 300 所致,現在回想當初應該只有超過 175 再多一點吧?畢竟身上裝備都是倉庫隨便湊的。

應該不可能為了這個犧牲 9 把 key 來驗證?

至於第一套裝備會掛,那是因為我只戴一顆鴨霜的緣故再加上大哥移了位沒注意所致!

ptt 網友也證實了這一點。


還是我的王者聖騎比較無腦好打XD

2026年4月6日 星期一

Hack Tessent command

EDA 相關工作最討厭的就是只能透過 EDA 執行!

目前這份工作會遇到的問題,說穿了就是不斷的改寫 command,try command,確認結果是否符合預期!

雖然還不確定 AI 對 Verilog 的掌握度?但這樣的工作模式,直覺就是很適合用 Claude Code 來執行。

不過 AI 在我們這行有資料安全性的問題,故也不太可能用 AI 來幫助工作。

針對一些較複雜的問題,比如我最近完成的,感覺就真的要當作 Coding 來處理。

這時問題就來了,我們的 script 穿插了 EDA 指令以及正常的 Tcl command,如果只是不小心 Tcl 語法寫錯,往往都要等到 EDA 執行到該階段才會報錯,一來一往真的很浪費時間。

而我個人最討厭的就是浪費時間。

我想,我應該要花點時間把一些 EDA command 轉成自己的 Tcl procedure,這樣一來,如果只是要檢查純 Tcl 語法,我就不需要靠 EDA 來執行。

雖然這只能解決我一部分痛點,很多東西,我還是需要 EDA 執行,才能得到真實電路的回傳結果。

沒魚蝦也好,不然我也不知該怎麼辦了?

還是來聽萬芳的歌好了XD

AI 時代之學習方式

雖然,YouTube 的演算法一直被我詬病,本人不看的影片,一個月後還是占據我的推薦影片,遲遲不肯滾開,我都懷疑這是在反串置入,堂堂 Google 霸主,裡面的工程師怎麼會寫出這樣離譜的演算法?

但昨天早上還是讓我看到了一個有趣的影片,影片在討論關於讀書這件事。

該 YouTuber 提到有一位日本作者三宅香帆,她寫了一本書《なぜ働いていると本が読めなくなるのか》,書中提到一個有趣的觀點。

「我們讀不了書,不是意志力的問題,而是社會的問題。」

「所謂的訊息,就是想知道的事,精準且直接。」

「噪音就是本來沒想知道的事,比如說作者個人觀點,以我的 blog 來說,就是我的廢話XD」

「知識 = 訊息 + 噪音。」

由於社會的演進,下班後大腦已經塞不下任何東西,而書本往往帶有噪音,於是造就了現代人無法閱讀的主因。

個人是蠻認同這樣的說法,雖然我還持續在看書,但除了工作相關的書,已經很少看一些工作以外的書了,對比我剛玩電子書閱讀器那幾年,明顯差了很多。

回到 AI 時代如何學習這件事,不論是 Google 搜尋甚至是現在的 AI 助理,除了東西太冷門,大部分的東西,都是針對我們的問題產生出來的結果,因此並沒有那位日本女作家所謂的噪音。

照理說這樣的東西應該很好吸收,但工作上問題產生的速度往往無法想像,於是我們在解決問題後,也沒有時間再回去好好整理歸納。

這樣的速食方式,長久下來不是一件好事!

學習是一個長久且需要內化的過程,只有轉成自己的話,這樣的知識才算是真正進入到你的腦袋。

雖然我一向只記得指標的指標,但我還是有一個隱含記住這個 pointer 的過程。

可惜的是,現在的工作不方便寫成 blog,我在 blog 能說的也只是個大方向,這無助於我建立指標的指標!

因此,我決定一段時間就要整理我跟 AI 討論的細節到 Google Doc,反正這些東西都跟客戶資料無關,故也沒有資安的問題。

希望可以讓我以後的工作越來越輕鬆,不然我也要學女作家一樣了﹍

2026年4月3日 星期五

體力不夠呀

昨天奮鬥到半夜兩點,下午回來又纏鬥了一會,終於搞定了客戶的需求。

雖然我還不確定是否百分百符合客戶期待,但我猜應該八九不離十了吧?

最近都沒在聽小老婆的歌,取而代之的都在聽萬芳的歌,老婆都虧我變心了。

一個是陪伴我渡過無聊數學的日子,另一個則是陪我和 boring 的工作奮戰,兩個我都要呀XD

好吧,就封萬芳為頭號紅顏知己好了?

眾卿平身呀XD

一直都覺得清秀佳人時期的萬芳很好看,甚至 40 幾歲時都還是我的菜!


我要來打電動慶祝了…

2026/04/05 更新

放假前一天下午都在聽《我願意》跟電路奮戰。

之前煮飯時都在聽《給我一個吻》。

仔細想想,我最喜歡的應該是《地平線》,因為現在最欠缺的就是自由!

今天下午,無意間聽到一首《信賴》,應該可以排到我心目中前三名。

其他像是《心牆》、《斷線》《意亂情迷》等也都是一時之選!

6 一波

理論上我的 blog 沒有追蹤我有登入裝置的流量,但不知為啥,可能是年久失修了,居然會隨著我重整而增加。

剛好,又快被 EDA 搞瘋了,反正已經快接近 6 個 6,就來個 6 一波吧XD


2026/04/03 中午過後更新

原來「 6 一波」一詞之前有出事,我果然沒在看電視,我這裡的用法是接近隊友很讚之意XD

畢竟這個 blog 也陪了我很久了,我找程式語法都是先來這裡XD

奉公守法錯了嗎

從小媽媽告訴我,寫程式要註解。

我就說,奉公守法錯了嗎XD

從昨天到現在就跟客戶的一個需求奮戰,這個需求其實上星期客戶又提了一次,但我真的抽不出時間,只好在昨天開始動工。

這個需求有些細節還未知,比如 bus 訊號名稱,於是我只好能用變數包住的都先用變數包住,之後需求變更就只要更動這些變數即可,算是幫我留條後路,也能拿去別的 block 使用。

沒想到一個小小的註解,也能引發 EDA 錯誤。

這個錯誤的原因居然是因為我寫了註解,不過嚴格來說,是我對 Tcl 語法還不熟導致。

一天上班只有八小時,七個小時半都在忙,實在沒辦法精進 Tcl 語法。

不囉嗦,直接看 Code。


剛突然想到,拿去問問 AI,看是否能看出些端倪?

忘記把註解拿掉,問 Gemini 的結果做不得準,但跟 Claude 一樣,都會給出額外的建議。

下面是 Claude 的回答。



還好有學到一些東西,也不枉我這幾個小時的辛勞,這星期都還沒打電動呀!