HLS是什么?与VHDL/Verilog有什么关系?
-
HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTimeX和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extended
M3U (m3u8)playlist文件,用于寻找可用的媒体流。 -
进程语句本身是并行语句,但其内部为顺序语句。
VHDL不区分大小写,Verilog区分大小写。
优点:用高级语言完成期望在硬件电路上实现的功能,更加抽象和容易实现。
缺点:尽管是用高级语言描述实现在硬件电路上实现功能,但会有很多限制,例如动态分配内存等函数或定义的禁用,也有很多不足,例如循环的优化始终是个大难题。
HLS有哪些关键技术问题?目前存在什么技术局限性?
- 关键技术
①输入语言采用了类 C语言而非前两代的 HDL 语言,如 C、C++、SystemC 以及 SpecC、HandelC 等,这能够使得系统模型得到复用,进行进一步的软硬件实现。
②实现了对时序(timing)比较精确的评估和调度。
③实现了对验证环境的重复使用,通过 TLM 建模技术可以将系统验证环境复用于 RTL 级验证,降低了验证的复杂度。 - 局限性
①没有早期的性能估计以及任何违反设计和平台限制的行为
②没有利用所有可能的数据通信方式
③没有功能概述,也没有对用户代码进行优化转换
④支持代码报告得太晚了
⑤在某些情况下,工具的高效实施是不可能的,例如当必须将太多的加速器映射到硬件部分时。 HLS工具无法预先检测到这种情况,也无法在用户坚持的情况下尽量减轻其影响。