學寫Testbench-結構篇

admin @ 2014-03-26 , reply:0

本章主要講述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-結構篇已經有2311次圍觀

http://cocdig.com/docs/show-post-43517.html