Verilog - testbench 的撰寫
我們利用 Verilog 完成電路設計後 必須要測試這個電路的所有功能和輸出是否和預期符合 因此我們可以撰寫 testbench 來去測試該電路模組的功能 本篇會假設事前已經完成了一個電路設計 (以下簡稱 DUT,Design Under Test,顧名思義就是待測試的電路設計) 所以主要會著重在 testbench 的撰寫來去測試這個 DUT 假設這是我的 DUT ( lab02.v ) module lab02(clk, A, B, C); input clk, A; output B, C; reg B, C; always@(posedge clk) begin B <= A; C <= B; end endmodule 然後在同個資料夾底下新建檔案 tb.v 步驟大概分為以下 先打上預期的 延遲時間單位 / 波型時間單位 似新建 Verilog 模組的撰寫,但注意 ( ) 內無需加入 parameter 將原本的 input 訊號線宣告為 reg,output 訊號線宣告為 wire 加入 DUT Module,並各自連接上在此模組對應宣告的 reg 和 wire 線 設定你想要的波型 1. 先打上預期的 延遲時間單位 / 波型時間單位 這邊可以自己設計想要的 舉個例子來說 `timescale 1ns / 100ps (1 ns) 波型時間單位 是什麼意思應該很好懂 就是你在跑模擬波型圖時,間隔一個時間單位會是多久 (100 ps) 延遲時間單位 則是設定波型時 會利用例如 #1 讓某個訊號線在 延遲一個時間單位 後做對應動作 而這個 #1 所代表的時間單位即是你的 延遲時間單位 2. 似新建 Verilog 模組的撰寫,但注意 ( ) 內無需加入 parameter ...