HLS编程环境入门---第11周作业

HLS是什么?与VHDL/Verilog有什么关系?

HTTP Live
Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTimeX和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extended
M3U (m3u8)playlist文件,用于寻找可用的媒体流。

区别:
进程的语句本身是并行语句,但其内部的语句为顺序语句。
VHDL不区分大小写,Verilog会区分大小写。
优点:用高级语言完成期望在硬件电路上实现的功能,更加抽象和容易实现。
缺点:尽管是用高级语言描述实现在硬件电路上实现功能,但会有很多限制,例如动态分配内存等函数或定义的禁用,也有很多不足,例如循环的优化始终是个大难题。

HLS有哪些关键技术问题?目前存在什么技术局限性?

关键性技术:
1、将高级语言转化为RTL电路
2、循环优化,并行处理
评价的标准:

  1. Area:用到的LUT,寄存器,BRAM和DSP48的数量
  2. 时延:函数算出所有输出用的时钟周期
  3. II(Initiation interval):函数可以接受新的输入数据需要的时钟周期
  4. 循环迭代时延:运行一次循环需要的时钟周期
  5. 循环间隔时延:新运行一次循环需要的时钟周期
  6. 循环时延:运行循环需要的所有时钟周期
    局限性:
    1.HLS编译器问题
    HLS编译器是静态工具,对理解代码的动态特性没有任何帮助。HLS编译器的行为通常难以预测最终的性能和资源利用率。因此,设计人员必须通过对相应的代码部分应用各种编译指示及其相关的参数设置,来手动探索设计空间,直到达到设计目标。
    2简单的逻辑,HLS实现结果比较臃肿。
    一些简单的逻辑,用HDL实现只需要数十行代码,而HLS的实现结果却相当复杂。
    3.HLS对开发人员的要求比较高。
    HLS使用的语言显然不是标准C/C++语言,应该是扩展类C/C++语言。例如可以使用int1、int7等类型定义位宽为1、7的变量。HLS开发对从业人员的要求还是比较高的,需要软硬兼通才比较好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值