gpt4 book ai didi

c - 与 Verilog 仿真实时通信

转载 作者:行者123 更新时间:2023-12-04 09:31:28 25 4
gpt4 key购买 nike

我希望能和verilog仿真实时通信,就像我在某个地方输入一个数字,verilog 仿真可以读取并显示它。所以我找到了一种使用读/写文件进行通信的方法。首先,我编写了一个 c 程序来扫描我在终端中键入的内容,并实时更改特定文件中的数字。然后我想如果verilog保留f​​scanf文件,它可以通信。我在下面写了 verilog 代码,它可以工作但不是很好。如果我在一秒钟内分别输入 1 ~ 9,它会丢失大约 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

最佳答案

这当然是可能的,但我认为尝试使用文件进行通信是错误的方法。您一定会遇到竞争条件和其他文件/IO 缓冲区问题。

或者,您可以使用 Verilog PLI 让您的 C 程序在特定事件上将数据发送到仿真,比如当按下 Enter 键时。

关于c - 与 Verilog 仿真实时通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19975731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com