原创 如何编写testbench的总结

2008-9-2 18:00 2902 6 4 分类: FPGA/CPLD
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:0]  bi_dir_port_reg;reg   bi_dir_port_oe;assign bi_dir_port=bi_dir_port_oe?bi_dir_port_reg:1'bz;用bi_dir_port_oe控制端口数据方向,并利用中间变量寄存器改变其值。等于两个模块之间用inout双向口互连。往端口写(就是往模块里面输入?/span>

方法2:使用force和release语句,这种方法不能准确反映双向端口的信号变化,但这种方法可以反映块内信号的变化。具体如示:module test();wire data_inout;reg data_reg;reg link;#xx;        //延时force data_inout=1'bx;           //强制作为输入端口...............#xx;release data_inout;          //释放输入端口endmodule

从文本文件中读取和写入向量        1)读取文本文件:用 $readmemb系统任务从文本文件中读取二进制向量(可以包含输入激励和输出期望值)。$readmemh 用于读取十六进制文件。例如:reg                 [7:0]         mem[1:256]  //  a 8-bit, 256-word 定义存储器meminitial  $readmemh ( "mem.data", mem ) // 将.dat文件读入寄存器mem中initial  $readmemh ( "mem.data", mem, 128, 1 ) // 参数为寄存器加载数据的地址始终        2)输出文本文件:打开输出文件用?$fopen 例如:integer out_file;  // out_file 是一个文件描述,需要定义为 integer类型out_file = $fopen ( " cpu.data " ); // cpu.data 是需要打开的文件,也就是最终的输出文本设计中的信号值可以通过$fmonitor, $fdisplay,

6.Verilog Testbench信号
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

ilove314_323192455 2008-9-4 19:06

不错
相关推荐阅读
用户473134 2007-09-19 15:07
用FPGA实现FFT算法
转载:http://www.ednchina.com/blog/chwb/3709/message.aspx引言  DFT(Discrete Fourier Transformation)是数字信号分...
我要评论
1
6
关闭 站长推荐上一条 /3 下一条