我正在尝试使用$ fwrite()命令通过testbench编写verilog模块的256个不同输出。我不知道如何将这256个输出保存在256列中。如果可以将操作放在每列的顶部,那将会有很大帮助
我尝试自己做,但是所有输出都保存在单列中,中间有一个空格。
fft uut(
.fft0_r(fft0_r),
.fft1_r(fft1_r),
.fft2_r(fft2_r),
.fft3_r(fft3_r),
.fft4_r(fft4_r),
.fft5_r(fft5_r),
.fft6_r(fft6_r),
.fft7_r(fft7_r),
.fft8_r(fft8_r)
);
wire [13:0] fft0_r;
wire [13:0] fft1_r;
wire [13:0] fft2_r;
wire [13:0] fft3_r;
wire [13:0] fft4_r;
wire [13:0] fft5_r;
wire [13:0] fft6_r;
wire [13:0] fft7_r;
wire [13:0] fft8_r;
integer out_rfft;
out_rfft =$fopen("out_rfft.csv");
$fwrite(out_rfft,"%d %d %d %d %d %d %d %d %d", fft0_r, fft1_r, fft2_r, fft3_r, fft4_r,fft5_r,fft6_r,fft7_r,fft8_r);
预期结果:8x输出保存在out_rfft.csv的8列中 实际结果:8倍输出保存在out_rfft.csv
的1列中答案 0 :(得分:2)
Verilog中没有可自动生成CSV的内容-您需要写出每个需要的字符。只需将格式字符串中的空格更改为逗号即可。
$fwrite(out_rfft,"%d,%d,%d,%d,%d,%d,%d,%d,%d\n", fft0_r, fft1_r, fft2_r, fft3_r, fft4_r,fft5_r,fft6_r,fft7_r,fft8_r);