雖然想要升上 LV 99,但該做的事還是要做一下。
為了得到 netlist hierarchy 的資訊,上上星期拿之前寫的 netlist parser 產生出 XML 檔案,再用 XMLNotepad 迂迴的達到我要的目的。
雖然步驟多了一些,但有現成的還是用現成的就好。
美中不足的是還少了一些功能:
01. 列出選中 item 的 hierarchy module 資訊。
02. 點選選中 item 後,開啟 gvim 查看 code。
所以還是要寫個 GUI 才能達到此功能。
考量到工作站安裝軟體不易,試了一下,tcl/tk 是可以順利執行的,於是便決定用 tk 來搞定。
這個星期看 IP 文件累了就改一下 code,這兩天放假有空也改一下 code,終於在剛剛完成全部功能。
雖然還有幾個小 bug 待解,但終於有了一個初版可用,其他就再看看吧。
01. 開啟 gvim 後,如果不關掉 gvim,tk window 會卡在那。
02. right frame width 不受控制。
03. font size 用法可能還要找資料。
2025/01/04
之前自己耍白爛,誤會了 tcl 檢查 array key 是否存在的作法,誤將 key 轉成 list 再用 lsearch 的方式,這也是導致讀取真正 design netlist 建 tree 速度過慢的元兇。
改了之後,原本一個要 5 分鐘,一個要 10 分鐘的 IP netlist,現在只需要不到 15 秒就可以搞定。
又拿了一個目前為止我碰過最大的 design netlist,也只要不到 30 秒就可以建完 tree。
沒辦法,tcl 的官方文件閱讀體驗很糟,不管是 3 個中的哪一個,真的都不是給人讀的XD
也許是我英文太爛了吧XD
2025/01/04 再次更新
原來這麼簡單,只要這樣就可以搞定 exec gvim 卡住的問題,其實嚴格來說不算卡住,因為該函數就是要等程式執行完畢。
反正我是用 git bash 裡面的 tcl/tk 環境,這樣不管 Windows or Linux 都可以一併解決此問題。