基于 FPGA的HLS技术与应用

1、hls简介

HLS ( high level synthesis )即高层次综合,主要是利用高级编程语言实现算法。

2、循环优化

绝大多数循环都以串行的方式执行,这种执行方式比较浪费时间。对于串行的循环有两种优化方式,转为 并行( Unroll ) 或者是 管道( Pipeline )。

并行分为以下几种:

数据并行:对不同的数据处理。

线程并行:多线程并发处理。

指令并行:同一时间执行多条指令。

管道并行:多条指令同时执行,但不同时间执行指令的不同部分。

其中,数据并行为最理想的循环执行方式;不过大多数时候数据存在复杂的依赖关系,常采用管道并行的循环执行方式。

3、性能度量

在软件开发领域,通过使用算法复杂度 O(n)进行度量;

在FPGA中,使用启动时间间隔( Initiation Interval ,II )进行度量;

1、II 表示每次迭代之间的时间间隔

2、理想情况下,II = 1

3、如果 II 非常大,说明 对应的代码不能在FPGA中被展开或者pipeline。

相关推荐
爱吃汽的小橘2 小时前
PS-XADC 实验
fpga开发
爱吃汽的小橘10 小时前
FPGA分频器
fpga开发
上班最快乐1 天前
基于FPGA的APS6404L-3SQR QSPI PSRAM驱动设计(2)
fpga开发
FPGA-ADDA1 天前
第一篇:软件无线电(SDR)基础与FPGA的角色
fpga开发·fpga·数字电路·dsp·软件无线电
Fpga_User2 天前
基于Zynq UltraScale+的FLASH固化问题记录
嵌入式硬件·fpga开发
FPGA-ADDA2 天前
高速数据记录仪19EG_4NVME_EXT_V1.2存储板
fpga开发·fpga·高速存储·mpsoc·大容量存储
Saniffer_SH2 天前
【每日一题】PCIe链路协商的时候进入Polling compliance如何排错?
服务器·人工智能·驱动开发·嵌入式硬件·测试工具·fpga开发·自动化
亮锅锅来啦2 天前
Synplify_2023综合时报错clk_out is not input pin
fpga开发
浩子智控2 天前
航天高可靠性设备开发—抗辐射
嵌入式硬件·fpga开发·硬件工程
XPii2 天前
FPGA工程师面试资料【1】
fpga开发·面试·职场和发展