关于verilog testbench中将多个结果写到txt文件会覆盖的问题
时间:10-02
整理:3721RD
点击:
大家好!写了一段testbench,想把每次得到的结果输出到同一个文件中,但是发现最后的值覆盖了前面的几个,代码如下:
想不到解决办法,求助啊,谢谢大家!
- always @(rxd or txd)
- begin
- write_out_file = $fopen("write_out_file.txt","w");
- #1200;
- if(txd===rxd)
- begin
- $fdisplay(write_out_file,"\n **** time=%t ****",$time);
- $fdisplay(write_out_file,"OK! txd=%d,rxd=%d",txd,rxd);
- end
- else
- begin
- $fdisplay(write_out_file,"\n **** time=%t ****",$time);
- $fdisplay(write_out_file,"ERROR! txd != rxd" );
- $fdisplay(write_out_file,"ERROR! txd=%d, rxd=%d",txd,rxd);
- end
- $fclose(write_out_file);
- end
想不到解决办法,求助啊,谢谢大家!
跑完一个case后,mv write_out_file.txt write_out_file_xxx.txt 再去跑下一个。不然连续跑肯定是覆盖
$fopen里面不是有选项么,"w"/"r"/"a",你看看有啥区别。
好的,谢谢你~
