如何编写testbench的总结(非常实用的总结)

如何编写testbench的总结(非常实用的总结)

ID:23491101

大小:46.50 KB

页数:13页

时间:2018-11-07

如何编写testbench的总结(非常实用的总结)_第1页
如何编写testbench的总结(非常实用的总结)_第2页
如何编写testbench的总结(非常实用的总结)_第3页
如何编写testbench的总结(非常实用的总结)_第4页
如何编写testbench的总结(非常实用的总结)_第5页
资源描述:

《如何编写testbench的总结(非常实用的总结)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方(转)如何编写testbench的总结(非常实用的总结)1.激励的设置相应于被测试模块的输入激励设置为reg型,输出相应设置为wire类型,双向端口inout在测试中需要进行处理。方法1:为双向端口设置中间变量inout_reg作为该inout的输出寄存,inout口在testbench中要定义为wire型变量,然后用输出使能控制传输方向。eg:inout[0:0]bi_dir_port;wire[0:0]bi_dir_port;reg[0:

2、0]bi_dir_port_reg;regbi_dir_port_oe;assignbi_dir_port=bi_dir_port_oe?bi_dir_port_reg:1'bz;用bi_dir_port_oe控制端口数据方向,并利用中间变量寄存器改变其值。等于两个模块之间用inout双向口互连。往端口写(就是往模块里面输入)方法2:使用force和release语句,这种方法不能准确反映双向端口的信号变化,但这种方法可以反映块内信号的变化。具体如示:moduletest();wiredata_inout;regdata_reg;reglink;#x

3、x;//延时forcedata_inout=1'bx;//强制作为输入端口...............#xx;releasedata_inout;//释放输入端口----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方endmodule从文本文件中读取和写入向量1)读取文本文件:用$readmemb系统任务从文本文件中读取二进制向量(可以包含输入激励和输出期望值)。$readmemh用于

4、读取十六进制文件。例如:reg[7:0]mem[1:256]//a8-bit,256-word定义存储器meminitial$readmemh("mem.data",mem)//将.dat文件读入寄存器mem中initial$readmemh("mem.data",mem,128,1)//参数为寄存器加载数据的地址始终2)输出文本文件:打开输出文件用?$fopen例如:integerout_file;//out_file是一个文件描述,需要定义为integer类型out_file=$fopen("cpu.data");//cpu.data是需要打开的

5、文件,也就是最终的输出文本设计中的信号值可以通过$fmonitor,$fdisplay,2.Verilog和Ncverilog命令使用库文件或库目录ex).ncverilog-frun.f-vlib/lib.v-ylib2+libext+.v//一般编译文件在run.f中,库文件在lib.v中,lib2目录中的.v文件系统自动搜索使用库文件或库目录,只编译需要的模块而不必全部编译3.VerilogTestbench信号记录的系统任务:1).SHM数据库可以记录在设计仿真过程中信号的变化.它只在probes有效的时间内记录你setprobeon的信号的

6、变化.ex).$shm_open("waves.shm");//打开波形数据库$shm_probe(top,"AS");//setprobeon"top",第二个参数:A--signalsofthespecificscropeS--Portsofthespecifiedscopeandbelow,excludinglibrarycellsC--Portsofthespecifiedscopeandbelow,includinglibrarycellsAS--Signalsofthespecifiedscopeandbelow,excludinglib

7、rarycellsAC--Signalsofthespecifiedscopeandbelow,includinglibrarycells还有一个M,表示当前scope的memories,可以跟上面的结合使用,"AM""AMS""AMC"什么都不加表示当前scope的ports;$shm_close//关闭数据库2).VCD数据库也可以记录在设计仿真过程中信号的变化.----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-----

8、--------文档下载最佳的地方它只记录你选择的信号的变化.ex).$dumpfile("filename

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。