本章主要講述Testbench的組織結構, 通過這些組織結構, 可以編寫良好的測試文件.下邊以示例性質的testbench.v文件進行講解.
testbench.v:
----------------------------------------------------------------------
//
// File header 具體參考 編碼風格專題
//
`define MAX 20
宏定義
包含有其他模塊,如果在同一目錄下可以不指定include
`include "driver.v"
`include "monitor.v
`timescale 1n/10p 指定模擬精度
module tb; 定義模塊名為tb
reg a;
reg b;
reg ci
wire sum;
wire cout; 申明線型與寄存器型
parameter LENGTH = 20; 參數化一些值
adder adder(.a(a),
.b(b),
.ci(ci),
.sum(sum),
.cout(cout)
);
driver driver();
monitor monitor(); 實例化DUT,以及一些驅動和監測
`include "task.v" 包含task.v文件
initial
begin
add_test;
#MAX $finish;
end
Stimulus,調用了task.v里的add_test
`undef MAX 由於宏是全局的,防止有衝突發生,最後要undef
endmodule 模塊結束
[admin via 研發互助社區 ] 學寫Testbench-結構篇已經有7251次圍觀
http://cocdig.com/docs/show-post-43517.html