pretty code

2025年2月18日 星期二

gtkwave configuration

因為沒有 license 的關係,故最近都是用 iverilog + gtkwave 跑 simulation。

可能之前就是用這樣的 solution 來學習 Verilog,故我本身還蠻習慣的,我甚至覺得 gtkwave 還比 nWave 好用?

不過預設的 GUI 設定不是很好用,每次開啟都要重新指定一次,這些設定也不會儲存在 .gtkw 的波形訊號設定檔中。

我們可以用 man gtkwaverc 來看有哪些參數可以指定,並將想要的參數儲存在 ~/.gtkwaverc 的檔案中。


不過,Windows 下似乎不起作用?

改天再來看看 source code 好了。

2025/02/19 更新

Windows 檔名需用 gtkwave.ini

如果要指定字型,waves 一定要比 signals 大。

fontname_signals Monospace 12
fontname_waves Monospace 10

2025年2月17日 星期一

The pointer in EDA flow

EDA 世界中,一些 command 拿到的變數,我們可以把他想成是一個指向 object 的 pointer。

因此,如果直接用 puts command 印出該變數,我們只會得到一個類似指標的位置。

DC 可以使用 get_object_name 得到字串。

Tessent 則是使用 get_name_list 得到字串。

2025年2月16日 星期日

Lenovo TrackPoint II 小紅點鍵盤

因為暗黑 2 聖騎士已經升到 99,需要在書桌玩遊戲的機會也不多了,拿掉外接的 HDMI 線後,我的螢幕就只剩三條線了:

01. 電源線
02. DP 線連到筆電
03. 外接 Lenovo TrackPoint I 小紅點鍵盤(2021/06 購入,NT 2680)

看來還是只能購買 2 代藍芽版了XD

Amazon.com 價錢是 USD 107.1,如果要加快運送速度,大概要再噴個台幣 1500 多。

想想並沒有那麼急,就走一般運送方式就好。

這台已經是 4 年前多的產品了,好像也沒有出下一代了?

台灣也沒進口,露天看到有人賣 4000,坦白說也不貴,但已經下單了就懶得改。

後來又看到有人出機械鍵盤版,之後聯想不出後,我可能也只能選這個了。

不過真的走到這一步,我應該還是不會買,機械鍵盤根本是邪魔歪道,傷敵一千也會自傷八百。

2025年1月26日 星期日

暗黑 2 LV99 聖騎目標達成

2024/12/25 聖誕節晚上升上 LV98 後,幾日之後計算了一下 TZ 經驗,升上 99 似乎不是很難?

雖說不是很難,但每天也都要玩個幾局。

我除了中間有幾次放假時間用 tcl/tck 寫 netlisttreeview 外,幾乎每天都有開局,還要加上半夜睡不著覺的奮鬥時間,才順利在今天升上 LV 99。

中間還打到人生中第 3 顆貝。

還打到人生中第一雙戰旅,這也讓我的弓馬暫時成為完全體


升 LV99 瞬間

LV99 裝備

終於可以放下暗黑 2 了XD

放上我這隻槌丁的英勇照片,雖然只有 12K 的祝槌威力,但身拿執法者,每個 BOSS 都可以輕鬆 KO,遇到電鬼就換雷力 + 法拳,雖然犧牲了手套的 20 攻速 + 20 以上的電火炕,但可以不用一直喝紫水還是值得的,這樣我切執法者的時候就只剩 60 攻速,但我的狂熱加物品給的應該也有 28 吧,遇到衰老勉強也還過得去。

暗黑 2 是一個很有深度的遊戲,雖然說大部分的流派都被摸索得差不多了,但還是可以有自己的想法,畢竟自己玩得開心最重要XD


晚上買了兩份 SPEC 待看,還真不是普通的貴,居然要兩萬塊找零頭?

雖然過年很多事要做,可能也沒時間觀看,畢竟也還沒開始大掃除XD

不管如何,我的心意還是到了…

2025年1月19日 星期日

tcl 函數呼叫原則

上上星期找到一篇文章,內容是關於 tcl 常見誤區,可惜存在辦公室電腦,家裡 Chrome 並未同步。

其中有一段是在敘述如何決定何時傳給 tcl 函數的變數,前面是否要加 $?

大原則是這樣:

01. 如果要改動到原變數的值,則不要加 $。
02. 如果需要原變數內容的時候,則加上 $。

目前看來大概可以解決 8 成以上的困擾。

目前用過的函數,除了 info,array 相關,lreplace 是例外。 

2025年1月4日 星期六

從做中學

之前其實有看過 tcl 語法書,但因為並沒有真正的拿它來開發專案,所以語法也是看過就忘了。

最近真的拿它來開發我自己需要的工具,終於也算是可以拿它來做點事了。

如今的我,也可以說是對 tcl 略懂略懂了?

當然很現實的就是前一陣子為了查字典用的 bash script,現在也不太熟了!

我這個人的程式人生就是一直在不同的程式語言或是框架中渡過…

國中以及大學為了撥放 MIDI 使用的 QBASIC
不會寫程式時玩 Linux 的簡單 script
第一個學會的程式語言 C
BCB C++ 開發 GUI
BCB C++ / PHP / AutoIt 開發類 IT 人員使用的工具
目前公司第一個部門用過的 Android  Java / C++ / wxWidget  C++ / Node.js / Windows Batch / GNU Assembly / Go / Rust / C# / Python
為了電子書購買金額統計學會的 Chrome Extension

最後則是現在部門的 Verilog / Linux script / Makefile / tcl/tk

想我一生,還真是命途多舛XD  

學程式寫程式到現在也 20 年了!

學會什麼,換個專案馬上就忘記什麼,從沒待過賺錢的地方使用 domain know-how 來累積工作上的漂亮履歷!

難怪到現在 github 星星全部專案加起來也才 100 出頭XD