HLS高层次综合设计技巧--高层次综合设计探讨

一、高层次综合工具转码RTL的说明

1.使用c/c++来开发FPGA,确实提高了开发的抽象层级和效率;

2.但是c/c++开发FPGA并非万能的,在实际开发中还是有很多不足和痛点的

二、HLS被诟病的问题

1.资源利用率是普遍偏高

hls生产的rtl代码为了保证功能正确会自动插入一些控制或者仲裁逻辑,这个会比写verilog的资源高很多;

hls是功能化设计,不像verilog可以作为高密度的设计;

2.性能上,设计超过400MHZ的超高频率是比较困难的

3.循环边界问题:当循环的迭代次数是运行时变量而非编译时常量时,HLS无法进行针对性优化,会生成更通用、复杂的控制逻辑,导致性能急剧下降(有案例显示延迟增加4-5倍)

4.黑盒优化失效:将子模块设为"黑盒"会阻碍HLS进行跨模块的全局优化-。而过度使用inline又可能生成无比庞大的数据流图,导致内存溢出或综合时间长达数小时-

5.细节不可控:开发者无法像手写RTL那样精确控制每一个寄存器、每一级流水线,一切依赖工具的综合与优化策略

6.编译速度慢且不支持多线程:HLS综合过程主要运行在单线程上-,对于较大设计,综合时间可能长达数小时甚至上百小时。

三、生态地图

1.工具链

2.语言支持

3.综合质量

4.调试和仿真

5.时序收敛

6.可预测性

7.库生态

8.学习曲线

9.编译时间

10.资源占用

11.代码可移植性

相关推荐
minglie13 小时前
黑金AX301的EEPROM 24LC04
fpga开发
Hello-FPGA4 小时前
量子计算滨松c15550-22up单光子相机与PCIe1004采集卡
人工智能·计算机视觉·fpga开发
9527华安5 小时前
FPGA实现CameraLink转SFP光口,基于GT Transceivers Wizard Aurora8B10B编解码架构,提供4套工程源码和技术支持
fpga开发·sfp·cameralink·aurora8b10b·transceivers
ALINX技术博客1 天前
【期刊共读】如何应对 FPGA 短缺常态?
嵌入式硬件·fpga开发·fpga
156082072191 天前
短波接收机灵敏度测试
fpga开发
Riwuarua2 天前
从近似0基础开始FPGA开发 -- part.6 逻辑设计与状态机
fpga开发
LCG元2 天前
【实战】Vivado FPGA 从零实现 UART 串口收发:波特率生成、状态机设计与仿真调试
fpga开发
郭郭的柳柳在学FPGA2 天前
紫光DDR3工程仿真遇到的坑
fpga开发
国科安芯2 天前
ASC8T245S:把 8 位并行总线稳稳“跨过“电压域的双电源收发器
网络·分布式·单片机·嵌入式硬件·fpga开发·架构