0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

极客对Xilinx Vivado HLS工具使用经验和心得

Xilinx赛灵思官微 来源:djl 作者:赛灵思 2019-07-30 17:04 次阅读

众所周知 Hackaday.com 网站上聚集着众多极客(Geeker),他们打破传统,标新立异,敢于尝试新的东西,今天这篇文章搜集了这些极客对Xilinx Vivado HLS工具使用经验和心得。

Xilinx Vivado HLS是一个高级综合工具,能够将 C 语言转换成硬件描述语言(HDL),也就是说我们可以用 C 语言来实现 HDL 模块编程了。


图1 Vivado HLS工作流程

第一位 Hacker是来自新西兰的 Mike Field,他是一个硬件Hacker,还建立了自己的网站( www.hamsterworks.com ),他详细总结了Vivado HLS的使用步骤,他认为这个很有趣,值得每个人去尝试,Vivado HLS是一个IDE开发环境,开发人员编写C工程代码,测试代码,然后利用HLS转换为HDL硬件语言逻辑。


图2 Xilinx赠送给Mike Field的MicroZed开发套件

Tips技巧 作者总结如下:

1. HLS工具会将C语言代码转换成伪机器代码,都可以用FPGA逻辑(乘,加,递增等)来实现。

2. 循环操作代码分析,主要是根据语法。不能够被充分执行的循环会导致吞吐量的瓶颈,如果一个复杂的乘运算要花费30个周期,并且你要执行256次那么延迟时间就会介于30和7680周期之间。然而如果你使用原语指令(#pragma HLS_PIPELINE)将其展开256次,那么实现方式就会变成7680级流水线,每个循环还可以接受新的数据。

3. 函数调用可能会引起分离的逻辑实例,支持子函数的创建,也可能引起一系列仲裁接口用于访问单个函数逻辑实例。

4. 对于这些伪机器代码如何连接会生成一个计划时间表,并且会充分考虑到期望的性能约束条件(时钟速度等)。

5. 然后代码生成器会将伪机器代码映射为HDL逻辑逻辑代码(Verilog或VHDL),使用简单的流水线接口来处理参数和和、返回值。其实你还可以添加其它语法或者数据类型来构造AXI协议接口的模块。

6. 最后你就可以将转换后的代码或者IP核添加到传统的HDL工程中。

看起来很简单,其实最重要的是最后我们要进行代码优化,排除bug。我们可以定制很多数据类型(n位的整数,或者固定精度的整数等),灵活的使用这些数据类型,可以帮助我们精简逻辑代码,提升系统设计性能。

第二位 Hacker是 Darren,他直接录制了一个说明视频。介绍了如何利用Vivado HLS生成FIR滤波算法的HDL代码,并将代码添加到ISE工程中,经过综合实现布局布线等操作后生成FPGA配置文件,下载到FPGA开发板中,Darren采用的目标板卡是Spartan-3 FPGA。


图3 基于Vivado HLS生成FIR滤波算法

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 赛灵思
    +关注

    关注

    32

    文章

    1794

    浏览量

    130510
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72899
  • 极客
    +关注

    关注

    0

    文章

    12

    浏览量

    7977
收藏 人收藏

    评论

    相关推荐

    探索Vivado HLS设计流,Vivado HLS高层次综合设计

    作者:Mculover666 1.实验目的 通过例程探索Vivado HLS设计流 用图形用户界面和TCL脚本两种方式创建Vivado HLS项目 用各种
    的头像 发表于 12-21 16:27 3204次阅读

    熟悉Vivado HLS基本功能要多少时间?

    您好Xilinx的用户和员工,我们正在考虑购买Zynq 7000用于机器视觉任务。我们没有编程FPGA的经验,并希望使用Vivado HLS来指导和加速我们的工作。关于这种方法的一些问
    发表于 03-25 09:04

    Vivado HLS许可证问题如何解决

    我在Vivado HLS中有以下错误的合成。我试图更新许可证文件但没有成功。请给我一个建议。@E [HLS-72]许可证签出不成功。确保可以访问许可证或通过环境变量指定适当的许可证。 执行
    发表于 05-20 09:13

    Vivado HLS设计流的相关资料分享

    1.实验目的通过例程探索Vivado HLS设计流用图形用户界面和TCL脚本两种方式创建Vivado HLS项目用各种HLS指令综合接口优化
    发表于 11-11 07:09

    嵌入式硬件开发学习教程——Xilinx Vivado HLS案例 (流程说明)

    SDK 2017.4。Xilinx Vivado HLS(High-Level Synthesis,高层次综合)工具支持将C、C++等语言转化成硬件描述语言,同时支持基于OpenCL
    发表于 11-11 09:38

    Vivado环境下如何在IP Integrator中正确使用HLS IP

    testbench来验证设计。 Integrate带有Xilinx IP Block的 HLS IP 这里展示了在IP Integrator中,如何将两个HLS IP blocks跟Xili
    发表于 02-07 17:59 4209次阅读
    <b class='flag-5'>Vivado</b>环境下如何在IP Integrator中正确使用<b class='flag-5'>HLS</b> IP

    Hackaday读者有话说:Vivado HLS使用经验分享

    众所周知 Hackaday.com 网站上聚集着众多极客(Geeker),他们打破传统,标新立异,敢于尝试新的东西,今天这篇文章搜集了这些极客对Xilinx Vivado HLS工具使
    发表于 02-08 20:01 561次阅读
    Hackaday读者有话说:<b class='flag-5'>Vivado</b> <b class='flag-5'>HLS</b>使用<b class='flag-5'>经验</b>分享

    基于Vivado HLS平台来评估压缩算法

    随着无线网络的数据流量和密集度不断增加,所有运营商都面临着非常大的挑战。一套好的数据压缩算法能够帮助运营商节省不少的网络基础设备的开支。使用Xilinx Vivado HLS工具评估开
    发表于 11-17 02:25 1292次阅读
    基于<b class='flag-5'>Vivado</b> <b class='flag-5'>HLS</b>平台来评估压缩算法

    Xilinx Vivado HLS可以快速、高效地实现QRD矩阵分解

    使用Xilinx Vivado HLSVivado 高层次综合)工具实现浮点复数QRD矩阵分解并提升开发效率。使用VivadoHLS可以快
    发表于 11-17 17:47 3355次阅读
    用<b class='flag-5'>Xilinx</b> <b class='flag-5'>Vivado</b> <b class='flag-5'>HLS</b>可以快速、高效地实现QRD矩阵分解

    Vivado-HLS实现低latency 除法器

    1 Vivado HLS简介 2创建一个Vivado-HLS工程 2.1打开Vivado HLS GUI 2.2创建新工程 在 Welcom
    发表于 12-04 10:07 0次下载
    用<b class='flag-5'>Vivado-HLS</b>实现低latency 除法器

    介绍使用Vivado HLS时的几个误区

    在实际工程中,如何利用好这一工具仍值得考究。本文将介绍使用Vivado HLS时的几个误区。
    的头像 发表于 01-10 14:33 2w次阅读
    介绍使用<b class='flag-5'>Vivado</b> <b class='flag-5'>HLS</b>时的几个误区

    TCL脚本简介 vivado hls 的设计流程

    Vivado HLSXilinx 提供的一个工具,是 Vivado Design Suite 的一部分,能把基于 C 的设计 (C、C
    发表于 06-05 10:31 6356次阅读
    TCL脚本简介 <b class='flag-5'>vivado</b> <b class='flag-5'>hls</b> 的设计流程

    FPGA设计中的HLS 工具应用

    在集成电路行业飞速发展的今天,缩短产品开发的周期而又不牺牲验证过程,这不可避免地成为了商业市场的一个关键因素。Xilinx Vivado High Level Synthesis (即Vivado
    发表于 06-04 01:43 7198次阅读
    FPGA设计中的<b class='flag-5'>HLS</b> <b class='flag-5'>工具</b>应用

    XIlinx利用HLS进行加速设计进度

    接着开始正文。据观察,HLS的发展呈现愈演愈烈的趋势,随着Xilinx Vivado HLS的推出,intel也快马加鞭的推出了其HLS
    的头像 发表于 07-31 09:45 6308次阅读
    <b class='flag-5'>XIlinx</b>利用<b class='flag-5'>HLS</b>进行加速设计进度

    VIVADO HLS设计移植到CATAPULT HLS平台

    电子发烧友网站提供《将VIVADO HLS设计移植到CATAPULT HLS平台.pdf》资料免费下载
    发表于 09-13 09:12 2次下载
    将<b class='flag-5'>VIVADO</b> <b class='flag-5'>HLS</b>设计移植到CATAPULT <b class='flag-5'>HLS</b>平台