2025年7月1日 星期二

沒事多讀規格書

原本我以為 timescale 是可以細到針對個別 Verilog 設定XD

昨天在 2005 規格書好像沒有看到?可能是跟我邊分心連到工作站做事有關,不過卻意外多知道一個函數 $printtimescale( ),可以印出目前檔案的 timescale 設定。

今天突然想到,自己寫個 Testbench 來驗證不就好了!

於是我對 Verilog 又多懂了一點點…

今日重點

01. $printtimescale 可以印出目前 timescale。
02. 看起來所有檔案只能用同一個,後面會覆蓋前面(待確認?)。


2025/07/02 更新

下午因為硬碟空間不足,苦等原本測試未果,無法繼續下一個測試。

乾脆跟 Google AI 對談,順便切磋一下彼此對 EDA 軟體心得,後來順口問了一句有關 `timescale 的想法,居然發現 AI 給的例子完美證明了 `timescale 是可以對個別 module 做設定。

我本來的例子由於是 include,因此會原地展開,才會有我後者取代前者的結論。

下面是 AI 給的例子,因為是個別編譯,故分別保留各自的 `timescale。


雖然我昨天又看了一次規格書,實在看不出這樣的結論?

不過,我跟 AI 都一致認為這樣容易產生 bug,最好的方式還是有一個統一的 include 檔案,大家才能都用同樣的設定。

沒有留言:

張貼留言