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.代码可移植性

相关推荐
第二层皮-合肥1 天前
Vivado 自动生成的 AXI‑Lite 从机 IP 的操作步骤
fpga开发
blue_ice .1 天前
Verilog DDS 数字信号发生器:DAC 输出模拟波形与 ADC 回采观测
开发语言·单片机·嵌入式硬件·fpga开发
薛定谔的bug~1 天前
【vivado】10G ibert 工程
fpga开发
博览鸿蒙1 天前
新手怎么挑一块靠谱的FPGA开发板?
fpga开发·fpga·fpga开发板
威嵌神州1 天前
VxWorks6.9 BSP 适配:飞腾 D2000/FT2000/4 平台、驱动开发
驱动开发·嵌入式硬件·fpga开发·系统架构
FPGA小迷弟2 天前
【无标题】
fpga开发·dsp开发·fpga·sdr·无线电
szxinmai主板定制专家2 天前
【工控实战】RK3568/RK3588 8路隔离CAN/CANFD完整解决方案|多路总线并行通信、车载/工控量产落地
人工智能·fpga开发·zynq·mpsoc·半导体设备
郝旭帅电子设计团队2 天前
Xilinx FPGA的BANK标号命令规则
fpga开发·郝旭帅电子设计团队·郝旭帅
威嵌神州2 天前
天脉 3 开发环境与 BSP 适配:IDE license、驱动开发、飞腾平台
ide·驱动开发·嵌入式硬件·fpga开发
FPGA小迷弟3 天前
FPGA 应用技术能力的完整闭环(5-8)
fpga开发·dsp开发·fpga·sdr·无线电