一、高层次设计流程
1.高层次综合的基本介绍和说明
2.C语言验证
3.接口的综合
4.任意精度类型
5.设计的分析和优化
6.RTL验证
7.hls的ip core的集成
8.在zynq的soc中使用hls ip core
9.在microblaze中使用hls ip core
二、ug871中内容
1.设计流程
2.接口综合
3.优化方法
包括工程的创建,C的验证,C的综合,RTL的仿真,IP的导出。
C综合的性能:Latency和Interval
C综合的资源利用率FF,LUT,DSP,BRAM等。
三、优化设计
1.如何进行流水线pipeline设计
2.流水线循环
3.流水线函数
四、时钟
目标Tclock=10ns;
Uncertainty=1.25ns;
T_diff = 10-1.25=8.25ns;
T_diff > Estimated_Time=5.772ns,满足时序要求。
另外:
Latency=34,表示输入样本,经过处理,需要34个clock才输出结果;
II=34,表示输入第一个样本后,需要等待34个clock,才能输入第二个样本;
五、脚本运行hls的工程(参考ug871文档)
六、ap_ctrl_hs协议接口
可以从上述波形看出,每两个clock,输入接口后产生一个新的输入数据样本。
七、优化设计
1.优化设计试图采用最小的循环和最小的函数延迟
2.循环的优化试图最大的并行化,或者尽可能的流水化
3.函数尽可能的并行执行,或者dataflow
4.除了指令优化,还要考虑通过修改C源代码进行优化
八、影响设计性能的设计
1.变量依赖关系
2.循环内部的依赖和循环之间的依赖
3.同步问题
4.流水线限制
5.数据流限制
6.数据访问的瓶颈
九、没有hls的基础情况下建议
如果你没有hls高层次设计的经验,请花点时间将ug871文档的所有例子一个个步骤全部玩一遍,感受一下。