【问题标题】:Compute processing time Verilog using simulation and using FPGA使用仿真和使用 FPGA 计算处理时间 Verilog
【发布时间】:2020-04-04 06:47:43
【问题描述】:

fpga 世界的新手,我为 nxn 矩阵乘法编写了一个 verilog HDL 程序,现在我想比较 FPGA 和 CPU/GPU 之间的时间。我通过在 python 中使用 time.time() 或使用分析来获取 CPU/CPU 上的执行时间。我如何在 vivado 仿真中实现相同的目标(如何在仿真中使用相同的 basys3 硬件规格)? Basys 3(硬件)尚未交付。

有没有办法计算两个世界都相同的指标?时间或时钟周期..?

感谢您的帮助。

【问题讨论】:

    标签: verilog fpga xilinx vivado


    【解决方案1】:

    您可以测量完成计算所需的时钟周期。**

    不幸的是,这还不够。
    模拟是人工的。您可以以任何速度运行它。如果您愿意,您可以在模拟中使用 500GHz 时钟,您知道这不是真实的。您需要综合代码并查看该工具告诉您代码可以运行的最大速度。然后使用该时钟速度和来自模拟器的周期来计算完成所需的时间。

    理论上没问题。
    实际上,您还需要将数据传入和传出 FPGA。如果你做的不够快,那么你的 I/O 就是瓶颈,而不是实际的矩阵计算。

    **使用光标测量模拟的时间。除以一个时钟周期的时间。

    【讨论】:

    • 我的猜测是 OP 关心仿真和模拟的墙时间。 OP 只需要有一个好的秒表并确保两个世界的测试都做同样的工作:-)。
    • 我试图找出仅计算 matA*matB 操作的传播延迟,进行行为模拟给出了正确的输出,但综合后显示 IO 利用率超过 100%,输出始终为 Z。 ..(试图比较 np.dot(mata,matb) 与 fpga)
    猜你喜欢
    • 1970-01-01
    • 2022-01-13
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 2022-08-14
    • 1970-01-01
    相关资源
    最近更新 更多