开云-BPO行业整合方案提供者
专业化、科技化、国际化;高标准、广覆盖、全流程
了解更多优化 FPGA HLS 设计 时候:2024-12-13 14:27:41 手机看文章
扫描二维码随时随地手机看文章
优化 FPGA HLS 设计用东西用 C 生成 RTL 的代码根基不成读。以下是若何在不更改任何 RTL 的环境下提高设计机能。
介绍高级设计可以或许以简练的体例捕捉设计,从而削减毛病并更轻易调试。但是,常常呈现的问题是机能衡量。在高度复杂的 FPGA 设计中实现高机能需要手动优化 RTL 代码,而这对HLS开辟情况生成的 RTL 代码来讲是不成能的。但是,存在一些解决方案,可以经由过程利用 FPGA 东西设置优化设计自己来最年夜限度地削减机能损掉。
高效找到准确的 FPGA 东西设置虽然设计人员知道 FPGA 东西设置的存在,但这些设置常常没有获得充实操纵。凡是,只有在呈现设计问题时才利用东西设置。但是,对已到达机能方针的设计,还额外10% 至 50% 机能改良的庞大潜力。
上面的焦点问题在在选择准确的东西设置,由于分歧的 FPGA 东西供给 30 到 70 种用在综合和结构布线的设置。可能的组合太多了。可以编写剧本来建立分歧的运行并测验考试保举的尺度指令/策略。
最后一个挑战问题是计较能力不足。典型的嵌入式利用法式是在单台计较机上设计的。运行多个编译需要更多的计较能力。这是与时候的衡量。假如可以同时运行更多(利用云)综合策略,周转时候将会更短。
若何优化高级设计 - Sobel 滤波器Sobel 滤波器是视频处置中经常使用的参考设计。该参考设计针对具有 Dual ARM Cortex -A9 MPCore™ 的 FPGA。
我们利用 Xilinx HLS 东西来打开此设计。
它的时钟周期为 5.00 ns,即 200 MHz。从时序估量(见下文)来看,它依然贫乏 506 ps 的时序,这相当在 181 MHz,比方针速度低 10%。
导出到 RTL 项目在不更改 C++ 代码的环境下,将设计导出到 RTL 中的 Vivado 项目中。在“解决方案”下,选择“导出 RTL”。
它将在后台履行 Vivado 并生成项目文件 (XPR)。它还应当编译设计,而且应当在节制台中看到现实的时序具体信息。完成后,在/solution/impl/verilog/文件夹中找到项目文件。
找到一个 XPR 文件。可以经由过程Vivado打开它来验证它,可以看到生成的RTL源码。
优化时序下一步是利用名为InTime 的设计摸索东西(https://www.plunify.com/en/free-evaluation/)。(一样,可以本身编写剧本来测验考试 Vivado 东西中供给的尺度指令或策略)可使用免费评估许可证在当地运行 InTime 。或,利用一些免费积分和预装 FPGA 东西注册 Plunify云帐户。
启动InTime后,打开项目文件。当提醒要利用的 Vivado 版本时,请利用“不异”的 Vivado 版本。例如,假如利用2017.3 HLS,请利用2017.3 Vivado。
选择“热启动”。“热启动”是基在之前其他设计经验的保举策略列表。
单击“Start Recipe”最先优化。假如在云上运行,则应同时运行多个编译以削减时候。
优化进程和成果在第一轮(“热启动”)以后,最好的成果是“hotstart_1”策略。但是,它依然贫乏-90ps 的时序。
我们对“HotStart_1”的成果利用了名为“Extra Opt Exploration”的第二个法门。这偏重在优化要害路径。这是一种迭代优化,只要每次迭代都显示出改良,就会不竭反复。假如到达时候方针或未能显示出改良,它终究将主动住手。
颠末两轮优化,共15次编译,该设计可以或许知足200Mhz的机能方针。这是无需对 RTL 源代码进行任何更改便可实现的。
更高程度的机能要到达更高的机能程度,需要在所有方面进行优化——架构设计、代码和东西。东西设置摸索可以降服更高级别设计的机能衡量,而不会掉去它起首带来的出产力优势。这对高级设计师来讲是共赢。
欲知详情,请下载word文档 下载文档