基于 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。

相关推荐
一口一口吃成大V21 小时前
Fpga中常用器件
fpga开发
Riwuarua1 天前
从近似0基础开始FPGA开发——Part.23:AXI/AXIS 数据搬运、DMA 与 DDR 缓存架构设计
缓存·fpga开发
Jason_zhao_MR1 天前
电力数据采集核心板选型指南
linux·嵌入式硬件·fpga开发·嵌入式
长春的KAKA1 天前
Proxmark3 RDV4.01:Windows 11 下 Iceman 固件升级与完整使用指南
fpga开发
奋斗的阿狸_19862 天前
ESP32-S3 + ES7210 四通道麦克风录音上传方案
c语言·开发语言·fpga开发
hahaha60162 天前
FPGA+ARM实现AWB的全流程
人工智能·嵌入式硬件·算法·计算机视觉·fpga开发
unicrom_深圳市由你创科技2 天前
板上调试,先抓哪些信号?排查顺序是什么?
fpga开发
北城笑笑2 天前
FPGA 55 ,FPGA 行业 2026 发展分析与报告
fpga开发·fpga
Jason_zhao_MR2 天前
新一代电能数据采集终端方案
linux·人工智能·嵌入式硬件·fpga开发·嵌入式
ERROR:993 天前
AMD Ross没有介入Vivado的私生活
fpga开发