0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

高层次综合在FPGA设计中的价值与局限

FPGA技术江湖 来源:OpenFPGA 2026-02-27 15:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

以下文章来源于OpenFPGA,作者碎碎思

在 FPGA 设计的世界里,有两条常见的“修炼之路”:

一条是“硬核派”,直接用 Verilog/VHDL 写 RTL,控制信号级细节,精打细算每个资源。

另一条是“快刀派”,使用 HLS(High Level Synthesis,高层次综合),用 C/C++/SystemC 甚至 Python 这样的高级语言,快速描述算法,再交给工具自动生成 RTL。

这两条路各有千秋。今天我们就来聊聊:HLS 到底能带来什么价值?又有哪些局限?

一、HLS 的价值:让算法更快上 FPGA

在很多场景下,HLS 是救命稻草。比如:

图像处理

假设你想实现一个 3×3 卷积滤波。如果用 RTL 写,你要手工管理 line buffer、滑动窗口、流水线延迟,写起来又长又繁琐。

但用 HLS,只需要一段 C 代码:

for(i = 1; i < ROWS-1; i++) {
    for (j = 1; j < COLS-1; j++) {
        sum = 0;
        for (m = -1; m <= 1; m++) {
            for (n = -1; n <= 1; n++) {
                sum += img[i+m][j+n] * kernel[m+1][n+1];
            }
        }
        out[i][j] = sum;
    }
}

再加几句 pragma(比如#pragmaHLS PIPELINE、#pragmaHLS ARRAY_PARTITION),工具就能帮你生成流水线化的 RTL。

算法验证速度快

用 C 级别的仿真,速度可能比 RTL 仿真快 100~1000 倍。比如 FFT、矩阵乘法这种大规模计算,用 RTL 仿真等一下午,用 HLS 可能几分钟就能跑完。

缩短产品迭代周期

很多团队用 HLS 来快速验证算法可行性,甚至直接拿 HLS 输出的 RTL 投产。对于初创公司或者科研项目,能快点出 Demo,就是最大的价值。

二、HLS 的局限:不是万能的钥匙

不过,HLS 并不是“写几行 C 代码,点点按钮就能跑满资源”的神器,它有几个明显的局限:

资源和性能不可控

RTL 设计师可以明确指定每个寄存器DSP、BRAM 的用途;

HLS 则依赖工具的推断。结果可能多用了 20% 的 LUT,或者时钟频率达不到要求。

举个例子:

用 HLS 写 AES 加密核,综合后时钟频率只有 120MHz;换成手写 RTL,同样逻辑能跑到 250MHz,且资源下降一半。

算法友好,接口复杂就麻烦

HLS 擅长描述算法,比如矩阵运算、滤波、信号处理;

但当你要和 AXI 总线交互,或者写 PCIe 协议栈时,HLS 就显得力不从心。工具虽然支持 AXI4 接口自动生成,但复杂协议逻辑(比如 TLP 解码)还是 RTL 更适合。

调优需要经验

新手写 HLS,可能以为“C 代码跑得快 = FPGA 上也快”。

结果综合出来的电路一片 stall,性能还不如 CPU

想写出高效 HLS,需要了解流水线、并行度、内存带宽等硬件特性,这一点和写 RTL 没本质区别。

三、实际项目中的选择

我们可以总结成一句话:

HLS 用来加速“算法类模块”,RTL 用来保证“接口和系统级可靠性”。

比如一个视频处理系统:

图像滤波、边缘检测 → HLS 最快上手,改 kernel 换算法也方便;

AXI-Stream 视频数据搬运、时序控制 → RTL 最靠谱,避免 HLS 生成一堆“黑盒”逻辑导致调试困难。

再比如机器学习推理:

矩阵乘法、卷积核 → HLS 表达简洁,容易改数据宽度或并行度;

DDR 控制器接口、PCIe DMA 引擎 → RTL 手写更稳。

四、未来趋势:HLS 与 RTL 融合

目前业界主流的做法是:

算法级 → HLS 实现,减少开发时间;

接口/控制级 → RTL 手写,保证系统稳定;

最终在同一个 Vivado/Quartus 工程里,把 HLS 输出的 IP 和手写 RTL 混合使用。

像 Xilinx 的 Vitis HLS 就是这种思路:让软件工程师快速写出硬件加速核,再交给硬件工程师接入系统。

总结

HLS 帮助我们 快:快速建模、快速验证、快速迭代。

RTL 帮助我们 准:精确控制、极致性能、稳定接口。

在实际项目里,两者不是对立的,而是 互补的搭档。

如果你是软件背景,HLS 是进入 FPGA 世界的捷径; 如果你是硬件老兵,HLS 也能成为你提高效率的工具,但不能替代 RTL 的价值。

问题留给大家: 你们项目里有尝试过用 HLS 吗?最后是坚持用,还是又回到 RTL?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1665

    文章

    22573

    浏览量

    640873
  • python
    +关注

    关注

    59

    文章

    4892

    浏览量

    90425
  • HLS
    HLS
    +关注

    关注

    1

    文章

    135

    浏览量

    26040

原文标题:从 HLS 到 RTL:高层次综合在 FPGA 设计中的价值与局限

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电缆综合在线监测技术应用的具体内容

    电缆综合在线监测通过多维度数据采集与分析,实现电缆健康状态的全面感知,为电力系统的运维决策提供了科学依据。针对电缆的综合监测,主要是利用传感器、通信与智能分析技术,对电缆运行状态、环境参数及故障隐患
    的头像 发表于 03-24 14:41 215次阅读
    电缆<b class='flag-5'>综合在</b>线监测技术应用的具体内容

    元宵暖企送关怀,政企同心促发展 — 天河科技园管委会到访致远电子慰问高层次人才

    导读元宵暖企!天河科技园管委会许文进一行到访致远电子,慰问高层次人才周立功,明确将护航企业与人才;致远电子表态,将加大研发、深耕核心技术,与管委会同心共促高质量发展。元宵添暖意,政企共前行。当元宵
    的头像 发表于 03-04 11:35 531次阅读
    元宵暖企送关怀,政企同心促发展 — 天河科技园管委会到访致远电子慰问<b class='flag-5'>高层次</b>人才

    HLS设计的BRAM使用优势

    高层次综合(HLS)是一种将高级编程语言(如C、C++或SystemC)转换为硬件描述语言(HDL)的设计方法。在FPGA设计,设计者可以灵活地利用
    的头像 发表于 01-28 14:36 499次阅读

    通过vivado HLS设计一个FIR低通滤波器

    Vivado HLS是一款强大的高层次综合工具,可将C/C++代码转换为硬件描述语言(HDL),显著提升FPGA开发效率。
    的头像 发表于 01-20 16:19 625次阅读
    通过vivado HLS设计一个FIR低通滤波器

    使用三菱Q系列和FX2N系列进行CC-Link通讯

    CC-Link(Control &Communication Link,控制与通信链路系统),是三菱电机推出的开放式现场总线,其数据容量大,通信速度多级可选择,而且它是一个以设备层为主的网络,同时也可覆盖较高层次的控制层和较低层次的传感层。
    的头像 发表于 01-12 16:20 5454次阅读
    使用三菱Q系列和FX2N系列进行CC-Link通讯

    智能光伏时代:&quot;四可&quot;技术如何提升电站综合价值

    当光伏产业从“规模扩张”迈入“质量竞争”的智能时代,电站的价值评价标准已不再局限于装机容量与发电量,而是延伸至安全可靠性、能源利用效率、多元收益能力与运维管理水平构成的“综合价值体系”
    的头像 发表于 11-28 16:35 2188次阅读
    智能光伏时代:&quot;四可&quot;技术如何提升电站<b class='flag-5'>综合</b><b class='flag-5'>价值</b>

    开源RISC-V处理器(蜂鸟E203)学习(二)修改FPGA综合环境(移植到自己的Xilinx FPGA板卡)

    移植到自己的板卡上。 2.运行原FPGA工程 进入到FPGA目录下; gvim打开“README.md”文件,下面就是FPGA综合的命令。 这里以最后一个:artydevkit
    发表于 10-31 08:46

    一些神经网络加速器的设计优化方案

    的 200 倍,所以设计多层次访存的目的也是为了减少高层次数据访问的开销。 如果一个输入数据值被重复用于许多操作,理想情况下,该值从 DRAM 移到 RF 一次, ALU 从 RF 多次读取。然后
    发表于 10-31 07:14

    FPGA开发板vivado综合、下载程序问题汇总

    在做vivado综合时和FPGA下载程序时,我们碰到以下问题,并找出了对应的解决方案。 1.could not open include file”e203_defines.v”问题 在做
    发表于 10-24 07:12

    龙芯中科携手中西部高校构筑人才培养高地

    如何面向未来科技发展趋势和国家重大战略需求,为中西部地区培养能够突破关键领域“卡脖子”难题的高层次人才?近日,龙芯中科携手中西部高校,给出了自己的回答。
    的头像 发表于 10-09 14:04 778次阅读

    实现电缆综合在线监测的方法

    在线监测这种方法相较于定期检测,能更及时、有效并提前发现设备在运行存在的隐患问题。电缆综合监测实现了从传统定期检测到实时在线监测的转变,这种转变在很大程度上提升了运维效率和系统可靠性,因此在
    的头像 发表于 07-29 09:46 1294次阅读
    实现电缆<b class='flag-5'>综合在</b>线监测的方法

    适用于SystemC/C++验证的形式化解决方案

    虽然 SystemC/C++ 编程风格已使用多年,但最近出现了一些特定使用模式,它们推动工程团队采用共同的设计流程。这包括抽象算法设计代码用作高层次综合 (HLS) 工具的输入,虚拟平台模型用于早期软件测试,可配置的知识产权 (IP) 模块,等等。
    的头像 发表于 06-24 11:07 1486次阅读
    适用于SystemC/C++验证的形式化解决方案

    停止将AI局限于个人效率提升的用途

    停止将AI局限于个人效率提升的用途:60%的领导者转向代理自动化,实现真正的企业价值 新研究证实Copilot成本效益局限,推动市场对加速自动化进程的受治理、流程化AI解决方案的需求 加州圣何塞
    的头像 发表于 06-23 09:36 516次阅读

    EDA是什么,有哪些方面

    仿真、时序分析等工具验证设计正确性,避免实际制造的错误]。 逻辑综合与优化:将高层次设计转换为门级网表,进行逻辑优化、功耗分析和时序约束处理,提升设计性能。 物理设计:包括布局布线、版图设计、设计规则
    发表于 06-23 07:59

    一等奖奖金30万元!江西省首届高层次人才创新创业大赛新能源(未来能源)专题赛火热报名

    江西省首届高层次人才创新创业大赛 新能源(未来能源)专题赛 才聚江西·创赢未来 为大力推进以赛引才,根据全省统一部署,宜春市将承办江西省首届高层次人才创新创业大赛新能源(未来能源)专题赛。具体情况
    的头像 发表于 06-16 17:19 899次阅读