【问题标题】:How to run synthesized VHDL code on Xilinx Zynq-7000 All Programmable SoC ZC702 Evaluation Kit (FPGA SDSoC) [closed]如何在 Xilinx Zynq-7000 All Programmable SoC ZC702 评估套件 (FPGA SDSoC) 上运行合成的 VHDL 代码 [关闭]
【发布时间】:2017-04-13 19:26:54
【问题描述】:

在我的工作中,我必须证明在 Xilinx 的 Zynq702 上的 FPGA 部分上运行的 VHDL 中合成的 C++ 视觉算法代码(通过 Vivado HLS 制作)比传统 CPU 上的经典 C++ 代码更快。

我无法解决的主要问题是 - 如何将合成代码从 Vivado 2016 工具“加载”到 SDK 工具中,换句话说 - 如何运行合成的 VHDL 代码(比特流)董事会?

在我看来,SDK 程序仅适用于 C/C++ 代码。有什么办法可以在处理器上得到 VHDL 代码的比特流,并证明在 FPGA 上运行的合成代码比原始 C++ 代码更快?

你能给我一个建议吗?我浏览了几个 YouTube 教程和论坛,但对我没有帮助。

【问题讨论】:

  • 基本上,经典工具上的 Translate/Map/Place 和 Route,它们可能在 Vivado 中重新命名。换句话说,它根本不会在处理器上运行。它将在 FPGA 结构上运行。

标签: sdk vhdl fpga vivado zynq


【解决方案1】:

基本上,您需要两个版本的代码。一个 C/C++ 版本旨在在 CPU 上运行,一个 C/C++ 版本(稍作调整)与 HLS(针对可编程逻辑)一起使用。

Xilinx 提供了一个名为 SDSoC 的工具,可以为您做到这一点。基本上你用 C/C++ 编写一次应用程序。分析器会告诉您哪个函数使用最多的计算能力,您可以将这些函数标记为卸载到可编程逻辑。该工具将在后台使用 Vivado HLS 将您的 C/C++ 转换为 RTL 代码。 SDSoC 将告诉您与完全在 CPU 中运行的原始代码相比,预期的加速比是多少。

我建议你通读UG1028

【讨论】:

  • 哇!这是我的学士项目,即使我在 YT 上看到很多视频和足够多的红色材料,我也完全迷失了如何去做,但在每本手册中,它都以其他方式表示 - 我的意思是通过 HLS -> Vivado -> SDK。所以我很困惑我真正需要使用什么以及如何使用。非常感谢,真的。阿德里安娜
  • @AdriankaBeno ,SDSoC 是一个相当新的工具。许多在线文档将向您展示在 SDSoC 存在之前如何执行此操作。为了了解最新的 Xilinx 技术,我建议您定期阅读 XCell 每日博客。
  • 感谢您的帮助,我们目前正在等待 SDSoC 的许可,但在这种情况下,许可将不被接受,有什么方法可以让 Vivado 2016.4 中的硬件设计通过工作流程 VIVADO HLS - VIVADO - SDK? @Robbie Vincke 这是我们当前的状态,如您所见, video_in 未连接。 prntscr.com/exshqk 因此无法生成正确的比特流。您能否建议此设计中缺少的任何组件? IP部分是HLS快速角点检测算法。非常感谢。
  • 工作流程如下: 1) 在 HLS 中编写 HLS 角点检测算法。 2) 将生成的 IP 导出到 IPcatalog 并包含在您的块级设计中。 3) 将硬件导出到 SDK 并编写在 CPU 上运行的 sw 应用程序。在您的块设计中,我看不到任何高性能。在 CPU 上启用网桥。这是您的 VDMA IP 从 ddr 推送/获取视频数据所必需的。这意味着您的 VDMA 的 M_AXI_MM2S 和 M_AXI_S2MM 应该(使用 AXIInterconnect)连接到 CPU 上的 S_AXI_HP0。 PS。如果上述答案对您有帮助,您能否接受它作为您问题的答案?
  • 亲爱的罗比,感谢您的帮助和时间。我非常感谢!拜托,你能给我一个关于这个方案的反馈吗 - 请问它是否正确?链接在这里:prntscr.com/eya4xj 另外我们已经成功生成了比特流并导出到SDK,但我们不知道如何验证正确性。请问您知道如何在 SDK 程序中在 FPGA 上运行比特流吗?或者如果您有任何教程,它将对我们有很大帮助,因为整个过程的这个“结束部分”缺少我们,所以我们没有任何输出或报告。无论如何,非常感谢阿德里安娜
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多