如果我模拟以下模块:
module test;
longint seconds;
initial begin
seconds = $system("date +%s");
$display("Seconds: %0d", seconds);
$finish;
end
endmodule
Run Code Online (Sandbox Code Playgroud)
从两者的输出ncsim
和vsim
为:
1571172006
Seconds: 0
Run Code Online (Sandbox Code Playgroud)
所以我可以看到$system
调用正在以秒为单位打印时间1571172006
,但是变量seconds
的值为 ,0
所以我没有保存该值。
有没有办法让我保存那个值?(最好不要使用 DPI)
提前致谢。
我不知道你为什么不想使用 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);
}
Run Code Online (Sandbox Code Playgroud)
https://www.edaplayground.com/x/5NTw