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

问题描述 投票:-2回答:1

我正在尝试使用$ 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);

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

verilog
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.