原创 Testbench——封装有用的子程序

2009-3-6 19:08 5980 7 8 分类: FPGA/CPLD

Testbench——封装有用的子程序<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


moduel display_report();


//封装一些做测试时有用的报告显示


//包括任务errorwarningfatalterminate


 


//显示warning报告,同时包含显示当前时间和警告内容(由用户输入)


task warning;


       input [80*8:1] msg;


       begin


              $write("WARNING at %t: %s", $time, msg);


       end


endtask


 


//显示error报告,同时包含显示当前时间和错误内容(由用户输入)


task error;


       input [80*8:1] msg;


       begin


              $write("-ERROR- at %t: %s", $time, msg);


       end


endtask


 


//显示fatal报告,同时包含显示当前时间和致命内容(由用户输入)


task fatal;


       input [80*8:1] msg;


       begin


              $write("*FATAL* at %t: %s", $time, msg);


       terminate;


       end


endtask


 


//显示warning报告,同时包含显示当前时间和结束信息(该任务自动生成)


task terminate;


       begin


              $write("Simulation completed\n");


              $finish;


       end


endtask


 


endmodule


 


 


//使用上面封装好的task


module  testcase();


 


//包含已经编写好的display_report.v ,后面就可以调用其封装好的task


`include " display_report.v"


 


……


 


initial  begin


if (...)  error("Unexpected response\n");    //调用error任务


……


terminate;           //调用terminate任务


end


 


……


 


endmodule


 


 


module testcase;


 


initial


begin


if (...) syslog.error("Unexpected response");


syslog.terminate;


end


 


endmodule


 


 


       特权同学平时都是写testbenchModelSim5.7se下进行仿真测试。但是很可惜上面的方式无法通过。也许是不同测试软件测试环境的差异吧,归根到底应该是它们对于行为级硬件语言的编译执行程度不同。不过这里提出的子程序封装的概念还是很受益的,这样封装好的task对于以后的testbench随时都可以拿来用,免去繁杂的重复劳动。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户913991 2012-2-24 03:41

为啥通不过呢,究其原因,如何呢,在哪个平台上面能执行呢

用户1000403 2011-12-21 12:51

“把写入时钟Tx Clock和写入请求信号Enable Signal都先用同步时钟Rx Clock打了一拍,然后再输入FIFO中,而数据总线Data Bus则直接送往FIFO。” 请问上面那么做的原因是什么?为什么Tx Clock和Enable Signal不直接送FIFO?
相关推荐阅读
特权ilove314 2016-06-30 21:16
例说FPGA连载6:FPGA开发所需的技能
例说FPGA连载6:FPGA开发所需的技能 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   前面的文字已经做了很多铺垫,相信读...
特权ilove314 2016-06-28 21:09
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-28 21:05
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-26 22:11
例说FPGA连载4:FPGA语言与厂商介绍
例说FPGA连载4:FPGA语言与厂商介绍 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   Verilog与VHDL 说到FP...
特权ilove314 2016-06-23 21:26
例说FPGA连载3:FPGA与其它主流芯片的比较
例说FPGA连载3:FPGA与其它主流芯片的比较 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   FPGA、ASIC和ASSP...
特权ilove314 2016-06-21 20:32
例说FPGA连载2:FPGA是什么
例说FPGA连载2:FPGA是什么 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   2015年伊始,Intel欲出资百亿美金收...
EE直播间
更多
我要评论
1
7
关闭 站长推荐上一条 /3 下一条