VHDL中是否有任何函数用于获取进程运行的当前模拟时间?可能与systemC sc_time_stamp()
答案 0 :(得分:7)
是的。使用关键字now
。
您可以使用VHDL属性打印模拟时间:
report "current time = " & time'image(now);
您还可以将当前时间存储到变量中:
variable v_TIME : time := 0 ns;
v_TIME := now;
-- STUFF HAPPENS
v_TIME := now - V_TIME; --used to find delta time
答案 1 :(得分:7)
如果您想知道合成设计中的时间,您必须自己管理。例如,可以使用从与逻辑的其余部分相同的时钟计时的自由运行计数器来捕获特定事件进入寄存器的时间。然后,您可以通过某些接口定期将这些寄存器传输到主机PC或类似设备,或使用嵌入式逻辑分析仪。
now
是一个纯粹的模拟构造,它告诉你模拟器设置的任何分辨率的模拟时间。真正的硬件没有实时概念,只有时钟周期,并且没有用于访问控制台的标准化接口,因此能够合成report time'image(now)
甚至不是远程选项。