好吧,是我太笨了
,学一个简单的Tsetbench,学了一下午,看书找了半天也没找到能指引我的,之后翻了百度的前N条信息后终于在其中找到了一个给我启发的资料,特权同学的视频,深入浅出玩转FPGA。后面还有下载下来觉得很有用的文档。
1、对被测试设计的顶层接口进行例化(就是与待测试的程序的接口)
2、给被测试设计输入输出添加激励
3、判断被测试设计的输出响应是否满足设计要求
一般需要产生的激励:时钟产生、复位产生、其他激励产生、对比输出观察
与待测模块接口
与输入端口相连接的变量定义为reg
与输出端口相连的定义为wire
initial块中初始化变量,必须的。
用$stop或$finish暂停或结束仿真
wait(z==1’b1);//等待变量值改变,变量可以是待测试模块的输出或者内部变量
时钟产生:
`timescale 1ns/1ps
parameter PERIOD =20;
initial begin
clk =0;
forever
# (PERIOD/2)clk =~clk;
End
/**************************
Always begin
# (PERIOD/2)clk =0;
# (PERIOD/2)clk =1;
End
/************************
复位的产生
Initial begin
Reset=0;
#100;
Reset=1;
End
Initial begin
Reset_time=100;
Task reset_tesk;
Input [15:0]reset_time;
Begin reset =0;
#reset_time;
Reset=1;
End
endtask
推荐的书目:
设计与验证VerilogHDL
Writing Testbench
编写测试平台
深入浅出玩转FPGA