gpt4 book ai didi

system-verilog - 如何在 SystemVerilog 中存储 $system ("...") 调用的返回值?

转载 作者:行者123 更新时间:2023-12-01 21:54:54 33 4
gpt4 key购买 nike

如果我模拟以下模块:

module test;

longint seconds;
initial begin
seconds = $system("date +%s");
$display("Seconds: %0d", seconds);
$finish;
end

endmodule

ncsimvsim 的输出是:

1571172006
Seconds: 0

所以我可以看到 $system 调用 打印了以秒为单位的时间 1571172006,但是变量 seconds 的值为 0,所以我没有保存该值。

我有办法保存这个值吗? (最好不要使用 DPI)

提前致谢。

edaplayground link

最佳答案

我不知道您为什么不想使用 DPI。比马修的方法简单得多。 😊

module test;
import "DPI-C" function longint date();
longint seconds;
initial begin
seconds = date();
$display("Seconds: %0d", seconds);
$finish;
end

endmodule

#include <time.h>
long int date() {
return time(NULL);
}

https://www.edaplayground.com/x/5NTw

关于system-verilog - 如何在 SystemVerilog 中存储 $system ("...") 调用的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58402359/

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