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

相关推荐
XMAIPC_Robot8 小时前
基于 ZYNQ UltraScale+ OV5640的高速图像传输系统设计,支持国产替代
linux·数码相机·fpga开发·架构·边缘计算
读书点滴16 小时前
关于FPGA软核的仿真(一)
fpga开发
XMAIPC_Robot20 小时前
基于 NXP + FPGA+Debian 高可靠性工业控制器解决方案
运维·人工智能·fpga开发·debian·边缘计算
天天爱吃肉82181 天前
【嵌入式(2)深入剖析嵌入式开发:从基础到实战】
嵌入式硬件·fpga开发
ThreeYear_s2 天前
基于FPGA的VGA显示文字和动态数字基础例程,进而动态显示数据,类似温湿度等
fpga开发
GateWorld2 天前
《深入解析SPI协议及其FPGA高效实现》-- 第二篇:SPI控制器FPGA架构设计
fpga开发·开源协议
GateWorld2 天前
《深入解析UART协议及其硬件实现》-- 第三篇:UART ASIC实现优化与低功耗设计
fpga开发·开源协议
泪水打湿三角裤2 天前
自主设计一个DDS信号发生器
fpga开发
hahaha60162 天前
RK3588和FPGA桥片之间IO电平信号概率性不能通信原因
单片机·嵌入式硬件·fpga开发
hahaha60163 天前
常见相机的ISP算法
数码相机·fpga开发