Verilog测试台能与真正的时钟一起工作吗?

Verilog测试台能与真正的时钟一起工作吗?,verilog,hdl,Verilog,Hdl,我用Verilog写了一个计数器,然后用一个测试台来测试它。我的测试台给出了正确的结果,所以我的代码是正确的。但它是瞬间给出长时间的结果 是否可以实时获取结果。我的意思是,我的测试台每一秒钟就会产生一条新的结果线??(如果可能的话,如何实现?我不太清楚您想要实现什么,但是可以使用$system系统任务在模拟过程中执行shell命令。如果按如下所示执行sleep 1,则每个时间步的模拟将暂停1秒的挂钟时间。这将导致模拟每秒显示一次消息。当然,您的模拟将非常缓慢。请注意,$system不是IEEE

我用Verilog写了一个计数器,然后用一个测试台来测试它。我的测试台给出了正确的结果,所以我的代码是正确的。但它是瞬间给出长时间的结果


是否可以实时获取结果。我的意思是,我的测试台每一秒钟就会产生一条新的结果线??(如果可能的话,如何实现?

我不太清楚您想要实现什么,但是可以使用
$system
系统任务在模拟过程中执行shell命令。如果按如下所示执行
sleep 1
,则每个时间步的模拟将暂停1秒的挂钟时间。这将导致模拟每秒显示一次消息。当然,您的模拟将非常缓慢。请注意,
$system
不是IEEE Verilog标准的一部分(但它是system Verilog Std的一部分)

这将打印以下内容:

seconds = 1, time = 1.0ns
seconds = 2, time = 2.0ns
seconds = 3, time = 3.0ns
seconds = 4, time = 4.0ns
$finish called from file "tb.v", line 8.
$finish at simulation time                5.0ns

我并不完全清楚您想要完成什么,但是可以使用
$system
系统任务在模拟期间执行shell命令。如果按如下所示执行
sleep 1
,则每个时间步的模拟将暂停1秒的挂钟时间。这将导致模拟每秒显示一次消息。当然,您的模拟将非常缓慢。请注意,
$system
不是IEEE Verilog标准的一部分(但它是system Verilog Std的一部分)

这将打印以下内容:

seconds = 1, time = 1.0ns
seconds = 2, time = 2.0ns
seconds = 3, time = 3.0ns
seconds = 4, time = 4.0ns
$finish called from file "tb.v", line 8.
$finish at simulation time                5.0ns

出于兴趣,你为什么要这么做?通常我们抱怨模拟太慢了!!!出于兴趣,你为什么要这么做?通常我们抱怨模拟太慢了!!!