我希望与verilog仿真实时交流,就像我在某个地方输入一个数字,verilog仿真可以读取并显示它一样。所以我找到了一种使用读/写文件进行通信的方法。首先,我编写 ac 程序来扫描我在终端中键入的内容并实时更改特定文件中的数字。然后我想如果verilog保留fscanf文件,它可以通信。我在下面写了verilog代码,它可以工作但不是很好。如果我每个输入 1 ~ 9 一秒钟,它会丢失大约六个数字。我希望我输入的所有数字都能被verilog读取。我使用 ncverilog 编译。谁能告诉我如何修复我的verilog,或者有另一种与verilog通信的方式。非常感谢。
module testbench;
reg [100:0] t1;
reg [100:0] t2;
integer in;
initial begin
t1=0;t2=0;
end
always begin
in = $fopen("in.txt","r");
$fscanf(in,"%d",t1);
if(t1!=t2) begin
$display("%d",t1);
t2=t1;
end
$fclose(in);
end
endmodule