如何使用verilog测试台上的$fwrite()命令保存数据,以便多个输出的值保存在csv文件的相邻列中?

如何使用verilog测试台上的$fwrite()命令保存数据,以便多个输出的值保存在csv文件的相邻列中?,verilog,Verilog,我正在尝试使用$fwrite通过测试台编写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), .

我正在尝试使用
$fwrite
通过测试台编写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);
预期结果:8倍输出保存在out_rfft.csv的8列中


实际结果:8x输出保存在out_rfft.csv的1列中

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);