Как сохранить данные с помощью команды $ fwrite () из испытательного стенда verilog, чтобы значения нескольких выходов сохранялись в соседних столбцах файла csv? - PullRequest
0 голосов
/ 21 апреля 2019

Я пытаюсь записать 256 различных выходных данных модуля verilog через testbench с помощью команды $ fwrite ().Я не знаю, как сохранить эти 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-кратное сохранение выходов в 8 столбцах out_rfft.csv Фактический результат: 8-кратное сохранение выходов в 1 столбце out_rfft.csv

1 Ответ

2 голосов
/ 21 апреля 2019

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