【问题标题】:Realtime CPU clock vs High Frequency Software clock实时 CPU 时钟与高频软件时钟
【发布时间】:2019-08-01 05:17:59
【问题描述】:

我很想了解在模拟器中生成软件时钟所使用的技术。我的机器的频率只有~2.4GHz,但我可以使用模拟器生成高达 500THz 的时钟(参考下面的系统 Verilog sn-p )。

`timescale 1fs/1fs;//This is the minimum time-unit and precision that can be used to generate 500THz clock
module temp();
  bit clk_b;
  always #1 clk_b =~ clk_b ;
endmodule

这个更高的频率只是软件错觉还是与 CPU 晶振有任何联系?

【问题讨论】:

    标签: verilog system-verilog real-time-clock system-clock questasim


    【解决方案1】:

    模拟不会实时“运行”。因此,它将计算步骤的结果,如果完成,则完成。这意味着所需步骤的数量(以及问题的复杂性)与您的计算机性能之间的比率将决定模拟需要多长时间才能完成。模拟的时间尺度设置正如它所说的:一种将模拟步骤关联到时间(尺度)的方法。

    所以说真的是“错觉”。

    【讨论】:

    • 换句话说timescale只定义#delay的格式和time的输出。其他的影响不大。
    【解决方案2】:

    SystemVerilog 是一种 HVL,即硬件验证语言。它(主要)用于验证硬件设计。

    该语言的主要目的是提供一个平台,在该平台上,人们可以通过运行仿真来创建逻辑来验证 DUT,即为 DUT 生成不同的操作条件并检查它在每种条件下的行为方式。但这并不一定意味着 DUT 应该在 SystemVerilog 测试平台生成的极端条件下运行。

    当您从测试台生成 500THz 时钟并检查 DUT 的行为时,您要确保即使在如此极端的条件下,DUT 也不会(实际上)发生故障。但请注意,这只是您创建的虚拟环境,而不是 DUT 合成后应该运行的实际环境。

    如果机器(或 DUT)的最大频率为 ~2.5GHz,它应该在实际环境中以该频率运行,但出于好奇,您甚至可以通过以下方式检查 DUT 在不同输入时钟频率下的运行情况生成不同的模拟。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      • 2019-06-10
      • 1970-01-01
      • 2020-09-03
      • 1970-01-01
      相关资源
      最近更新 更多