【问题标题】:FPGA based RTL evaluation基于 FPGA 的 RTL 评估
【发布时间】:2009-03-31 06:20:22
【问题描述】:

目前我正在测试一些 RTL,我正在使用 ncverilog,它非常......非常慢。我听说,如果我们使用某种 FPGA 板,那么事情会更快。是真的吗?

【问题讨论】:

  • 你认为什么是非常非常慢的?分钟或小时。
  • @Brian:对于单次运行测试,时间差将在一分钟左右。但是,当我们进行综合测试时,差异以天为顺序〜(我是认真的,天~~)

标签: hardware verilog fpga register-transfer-level


【解决方案1】:

你说的是两种不同的东西。

NCVerilog 是一个仿真工具,而 FPGA 板是真正的硬件。所以,会有差异。真正的硬件通常会更快,但使用模拟器,您可以获得各种调试乐趣。尝试探测特定信号只需在测试台上添加一条线即可。此外,您可以轻松更改仿真模型,而无需重新设计 FPGA 板。

如果您在足够强大的机器上运行仿真,您有时可以近似真实世界的性能(假设 FPGA 速度较慢)。

总而言之,你应该两者都做。使用模拟器进行基本开发和评估。一旦您的设计得到充分定义,就转移到您的 FPGA 硬件上。

【讨论】:

  • 很好的答案(对于像我这样的新手来说很容易理解)。谢谢!
【解决方案2】:

我们在模拟速度方面也遇到了同样的问题。但是,我们在大部分验证中都坚持使用模拟。每个 sim 检查一个特定的功能,并且比系统级 sim 快得多。我们还对它们进行了自我检查,并且对回归测试(单元测试)很有用。

对于需要花费太多时间来模拟的真实世界信号的长时间系统测试,如果可以的话,我们会将它们移至 FPGA。我们需要在代码更改后再次手动重新检查所有这些测试用例,因此它可能会以自己的方式变慢。

但有时,FPGA 设计是不可行的。有时完整的设计太大而无法装入 FPGA,或者时钟频率太高。但请记住,您不一定要对整个设计进行 FPGA 设计,获得您感兴趣的重要模块并全面检查就足够了。

【讨论】:

    【解决方案3】:

    您可以使用 Altera SignalTap 或 Xilinx ChipScope 等“嵌入式逻辑分析仪”软件工具跟踪正在运行的 FPGA 设计中的信号活动。在将您的 RTL 合成/映射到设备之前,您将使用这些工具将软探针连接到您想要观看的信号。您可以设置触发器,以便仅在特定条件下记录信号值。然后生成位文件并使用 JTAG 对器件进行编程。逻辑分析仪通过 JTAG 与您的 PC 通信并记录您的探针上的活动,然后您可以对其进行分析。

    设置起来有点复杂,因为这些工具不是特别容易使用,但您会比使用 RTL 模拟更快地获得结果。

    【讨论】:

      【解决方案4】:

      您正在测试哪种 RTL?如果你使用FPGA板,那么你可以编译 您的代码提供了适用于正确 FPGA 的正确工具。由于 FPGA 是可重编程的,那么您当然可以在板上测试您的代码,并让目标 (FPGA) 执行您的代码 (RTL)

      但这不再是一种模拟,而是一种测试,使用给定的硬件,在给定的时钟速度下。 而且你在屏幕上没有得到很好的结果,你需要使用物理探头和示波器。另外,您看不到代码的内部是如何工作的。

      verilog 或 VHDL 仿真有点像使用调试器运行代码。 FPGA 测试更像是使用 printf 进行调试。最大的区别在于,在模拟时,你的 CPU 必须模拟你的代码产生的所有逻辑门的行为。在 FPGA 上,没有模拟,您只是“运行”代码,因此速度更快,但信息更少。

      您应该对非常小的组件使用仿真,然后在 FPGA 上测试您的整个程序。

      【讨论】:

        【解决方案5】:

        您可能在问硬件仿真加速器。 这是其中之一:GateRocket

        【讨论】:

        • GateRocket 去年倒闭了。
        猜你喜欢
        • 1970-01-01
        • 2020-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多