试过几种网上说的方法,就这个试通了。在verilog程序中添加相对应的代码即可。
reg [7:0] i =0;
always @ (posedge clk)
begin
if (!rst_n)
i <=0;
else if (i<255)
i <= i+1;
else
i<= 255;
end
integer w_file;
initial w_file = $fopen("data_out_1.txt");
always @(i)
begin
$fdisplay(w_file,"%d",rom_data_I);
if(i == 8'd254) //共写入254个数据
$stop;
end
需要说明,%d输出的是十进制数据, %h输出的是十六进制数据
如果,rom_data_I是 wire signed[8:0]rom_data_I; 声明过的,定义为有符号数,则在txt文件中保存的就是有符号数,否则,默认为无符号数。
说明: 操作发现txt 一直没有数据,检查代码也没错,最后发现,是要把modelsim/vivado 自带仿真软件关闭以后,数据才能存入到 txt 文件里

本文介绍了一种使用Verilog实现计数器的方法,并将计数结果输出到txt文件的技术细节。通过实例展示了如何在Verilog程序中定义计数器、设置条件更新计数器状态以及如何将计数器的值输出到外部文件。
5091

被折叠的 条评论
为什么被折叠?



