大家好,欢迎来到IT知识分享网。
文章目录
一、HLS介绍
1.1 HLS是什么
基本概念
高层次综合(High-level Synthesis)简称 HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过程。
所谓的高层次语言,包括 C、C++、SystemC 等,通常有着较高的抽象度,并且往往不具有时钟或时序的概念。相比之下,诸如 Verilog、VHDL、SystemVerilog 等低层次语言,通常用来描述时钟周期精确(cycle-accurate)的寄存器传输级电路模型,这也是当前 ASIC 或 FPGA 设计最为普遍使用的电路建模和描述方法。
通过 HLS 这个过程可以显著加快 FPGA 的设计进程,而不用从底层的 FPGA 语言编起。
HLS一般流程
- HLS 自动分析一个算法中的潜在并发性
- HLS 自动在需要的路径插入寄存器,并自动选择最理想的时钟
- HLS 自动产生控制数据在一个路径上的出入方向的逻辑
- HLS 自动完成设计部分与系统中的其他接口
- HLS 自动映射数据到存储单元中以平衡资源使用与带宽
- HLS 自动将程序中计算的部分映射到对应逻辑单元,在实现等效运算的前提下选择有效运算
HLS开发所需
大多数 HLS 工具需要用户提供功能的规范,交互的描述
- 一个对接的计算设备,和目标优化方向。
- 一个用C/C++/System C编写的函数
- 一个测试平台用于验证结果(C testbench)
- 一个FPGA开发版
- 期望的时钟周期
- 一个简单的实施指导
1.2 HLS 与 VHDL/Verilog 有什么关系?
1.3 HLS 有哪些技术问题?
字长分析和优化
:
FPGA 的一个最主要特点就是可以使用任意字长的数据通路和运算。因此,FPGA 的 HLS 工具不需要拘泥于某种固定长度(如常见的 32 位或 64 位)的表达方式,而可以对设计进行全局或局部的字长优化,从而达到性能提升和面积缩减的双重效果。
循环优化
:
循环优化一直是 HLS 优化方法的研究重点和热点,因为这是将原本顺序执行的高层软件循环有效映射到并行执行的硬件架构的重点环节。
一个流行的循环优化方法,就是所谓的多面体模型,即 Polyhedral Model。多面体模型的应用非常广泛,在 HLS 里主
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/139508.html