天天看点

Vivado HLS工作原理的理解

HLS是把C/C++描述的算法 高层次综合成rtl, 实现时序和并行性。

1调度

安排用多少时钟周期,每个操作花费几个时钟周期,比如,加,乘,加+乘;

2控制逻辑提取

自动实现状态机的设计.控制逻辑与有限状态机有着紧密的联系,但并不是一一对应。

example:

3资源映射

执行某个操作用什么资源,比如在某个时钟下执行乘加操作,映射成dsp48,或者某个周期映射乘法器,加法器,bram,lut等

比如vivado 提供fft核,使用的资源如下图,

Vivado HLS工作原理的理解

那么你可以手写fft算法,然后对比资源使用率。

综合出来的rtl无法做什么优化(根据命名方式你能猜的出来是什么含义吗?),不如更好的对C/C++算法及其测试激励进行综合指导。

ref :ug902

HLS