关于优化FPGA HLS设计的分析和介绍_第1页
关于优化FPGA HLS设计的分析和介绍_第2页
关于优化FPGA HLS设计的分析和介绍_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于优化FPGAHLS设计的分析和介绍用软件从C转化来的RTL代码其实并不好理解。今天我们就来谈谈,如何在不改变RTL代码的情况下,提升设计性能。本项目所需应用与工具:赛灵思HLS、PlunifyCloud以及InTime。前言

高层次的设计可以让设计以更简洁的方法捕捉,从而让错误更少,调试更轻松。然而,这种方法最受诟病的是对性能的牺牲。在复杂的FPGA设计上实现高性能,往往需要手动优化RTL代码,这也意味着从C转化得到RTL基本不可能。其实,使用FPGA工具设置来优化设计可以最小限度地减少对性能的牺牲,这种方法是存在的。高效地找到合适的FPGA工具设置

尽管工程师们知道FPGA工具的设置,但是这些设置往往并没有充分利用。一般而言,工具设置只有在出现时序问题的时候才会派上用途。然而,对于已经达到性能目标的设计来说,如果继续调整工具设计,仍然有10%-50%的性能提升潜力。真正的难点在于选择正确的工具设置,毕竟各种FPGA工具一般都有有30-70个不同的布局布线设置,可选的设置组合实在是太多了。您可以写脚本来运行不同的推荐指令/策略。市面上也有工具,来自动管理并运行设计探索。另一个难点就是不充裕的计算能力。典型的嵌入式应用是在单台电脑上设计的。运行多个编译需要更多的计算能力,这就要求更多的时间。如果您可以(使用云计算)并行运行,周转时间就会变短。如何优化高层次的设计-“Sobel滤镜”项目

该设计的功能是Sobel滤镜,目标器件是拥有双核DualARM®Cortex®-A9MPCore的FPGA。我们使用赛灵思HLS来打开这个设计。图一:参考设计–Sobel滤镜它的时钟周期是5.00ns,也就是200MHz。从下图的时序预估中可以看出,它离时序目标还差506ps(181MH1),也就是比目标速率还差10%。图二:当前时序结果导出成RTL项目

不需要改变C++代码,把设计输出成一个RTL的Vivado项目。在“Solution”下面,选择“ExportRTL”。图三:从HLS输出Vivado项目它会在后台执行Vivado,并生成一个项目文件(XPR)。它同时也会编译设计,您应该在控制台(Console)看到真实的时序细节。一旦完成,您可以在/solution/impl/verilog/文件夹下找到项目文件。图四:Vivado项目文件找到这个XPR文件之后,您可以用Vivado打开它来验证。您将看到生成好的RTL源文件。图五:从HLS生成的RTL时序优化

下一步,是使用InTime设计探索工具,当然,您也可以自己写脚本来尝试Vivado工具中自带的指令和策略。请申请InTime的免费试用在本地运行,也可以注册一个PlunifyCloud云平台的账户,试用所提供的免费云币来在云端运行预置好的FPGA工具。启动InTime之后,打开项目文件。在选择Vivado版本时,请使用“相同的”版本。例如,如果您使用2017.3HLS,请选择2017.3Vivado。选择“HotStart”配方(recipe)。此配方包含一系列更具以往其他设计的经验而推荐的策略。图六:选择"HotStart"配方点击“StartRecipe”来开始优化。如果您在云端运行,您应该并行运行多个编译来减少周转时间。优化过程和结果

第一轮结束之后(“HotStart”配方),最好的结果是“hotstart_1”策略。然而,它仍然距离目标时序90ns。我们在“HotStart_1”的结果上使用了第二个配方,叫做“ExtraOptExploration”。这一轮将集中优化关键的路径。这是一次迭代优化,并且只要仍有提升,就不断地重复自己。如果达到时序目标或者不再提升的时候,它就会停止。图七:仅通过工具设置完成时序收敛经过两轮优化,总共15此编译后,设计达到了目标时序,200MHz。而这一切完全没有修改RTL源代码。让性能更

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论