Verilog シミュレーションとリアルタイムで通信できるようにしたいと考えています。たとえば、ある場所に数字を入力すると、Verilog シミュレーションがそれを読み取って表示できるようになります。そこで、ファイルの読み取り/書き込みを使用して通信する方法を見つけました。最初に、端末に入力した内容をスキャンし、特定のファイルの数値をリアルタイムで変更する ac プログラムを作成します。次に、verilog がファイルを fscanf に保持していれば、通信できると考えました。以下の Verilog コードを書きました。動作しますが、あまり良くありません。1 ~ 9 をそれぞれ 1 秒間入力すると、約 6 つの数字が失われます。入力したすべての数値が 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