HLS编程环境入门

一、学习任务

  1. HLS是什么?与VHDL/Verilog有什么关系?
  2. HLS有哪些关键技术问题?目前存在什么技术局限性?

二、学习内容

1.什么是HLS

1.1.简介

将C或者c++语言编译为FPGA能够读懂和运行的RTL级别的语言.

1.2.作用

加快FPGA的设计进程,而不用从底层的FPGA语言编起。

1.3.阶段

1.scheduling:确定每个时钟周期中执行哪些步骤
2.Binding:确定哪些硬件资源会被用到
3.控制逻辑提取:提取控制逻辑,创建一个有限状态机(FSM:Finite state machine)来进行RTL的设计。

1.4.步骤

1.编译、执行(仿真)、调试相应的c语言代码
2.把c算法综合为RTL实现,在这个过程中可以使用优化指令
3.生成综合分析报告并分析设计
4.验证RTL的实现
5.打包RTL进入IP块

2.HLS与VHDL/Verilog有什么关系

RTL(寄存器传输级别,基于 VHDL/Verilog 语言)逐步发展,但 VLSI 系统的复杂性呈指数级增长,使 RTL 设计和验证过程成为生产力的瓶颈。HLS(高级综合)通过提高抽象级别, 可以减少最初的设计工作量,设计人员可以集中精力描述系统的行为,而不必花费时间来实现微体系结构的细节,且验证被加速、设计空间探索(DSE)更快、定位新平台非常简单、软件工程师可以访问 HLS 等这些好处加在一起,减少了设计和验证时间,降低了开发成本,并降低了进行硬件项目的门槛,因此缩短了产品上市时间,并且在异构系统上使用硬件加速已成为更具吸引力的选择。但是在结果质量(QoR)上,HLS 工具还落后于 RTL。

3.关键技术问题

3.1.字长分析和优化

FPGA 的一个最主要特点就是可以使用任意字长的数据通路和运算。因此,FPGA 的 HLS 工具不需要拘泥于某种固定长度的表达方式,而可以对设计进行全局或局部的字长优化,从而达到性能提升和面积缩减的双重效果。

3.2.循环优化

循环优化一直是 HLS 优化方法的研究重点和热点。一个流行的循环优化方法,多面体模型的应用非常广泛,在 HLS 里主要被用来将循环语句以空间多面体表示,然后根据边界约束和依赖关系,通过几何操作进行语句调度,从而实现循环的变换。

4.技术局限性

1.HLS编译器是静态工具,对理解代码的动态特性没有任何帮助。HLS编译器的行为通常难以预测最终的性能和资源利用率。
2.对于一些简单的逻辑,HLS实现结果较为臃肿。一些简单的逻辑,用HDL实现只需要数十行代码,而HLS的实现结果却相当复杂。
3.HLS对开发人员的要求比较高。HLS使用的语言显然不是标准C/C++语言,应该是扩展类C/C++语言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vivado HLS是一种使用高级语言(如C/C++)来描述系统行为的工具,可以实现用FPGA来加速算法。它接受C/C++/System C代码、Test Bench以及Constraints/Directives作为输入,并生成VHDL/Verilog代码作为输出。在工程中,一般会将输出的VHDL/Verilog代码封装为一个IP,然后将该IP添加到Vivado的IP Catalog中,以便在Vivado的IP Integrator或RTL工程中使用。此外,Vivado HLS的输出结果也可以导入到System Generator中以模块化的方式使用。通过使用Vivado HLS,软件工程师可以使用C/C++编程语言来实现之前可能需要使用CPU/DSP/GPU实现的算法,从而提高系统性能和并行性,并降低系统的功耗。如果您想要学习使用Vivado HLS,可以参考Vivado HLS C入门详解教程,该教程提供了各个流程的使用和配合,并附有代码示例,可在Vivado 2017.4 上进行学习测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [vivado HLS学习一之vivado HLS的使用](https://blog.csdn.net/weixin_42602289/article/details/120920655)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Vivado HLS 教程.pptx](https://download.csdn.net/download/weixin_42576437/12583622)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值