[Paper] FLEX:利用 FPGA‑CPU 协同加速 Mixed-Cell-Height Legalization
发布: (2025年12月4日 GMT+8 15:20)
7 min read
原文: arXiv
Source: arXiv - 2512.04527v1
Overview
本文介绍了 FLEX,一种混合 FPGA‑CPU 加速器,旨在加速混合单元高度合法化——这是现代芯片物理设计自动化中的关键步骤。通过在 FPGA 与 CPU 之间智能划分工作并采用新颖的多粒度流水线,FLEX 实现了数量级的性能提升,同时提升了布局质量。
Key Contributions
- Hybrid Task Partitioning(混合任务划分):将最具并行性的合法化部分分配给 FPGA,而将控制流密集的任务保留在 CPU 上,充分利用各平台的优势。
- Multi‑Granularity Pipelining(多粒度流水线):在粗粒度(宏观层面)和细粒度(单元层面)上同时工作,显著加速 “寻找最优布局”(FOP) 阶段。
- Optimized Cell‑Shifting Engine(优化的单元移动引擎):一种专用的 FPGA 设计,与流水线完美匹配,以最小开销处理计算密集的单元移动步骤。
- Performance Gains(性能提升):相较于领先的 CPU‑GPU 合法化器提升 18.3×,相较于多线程 CPU 合法化器提升 5.4×,并且合法化质量提升 4 %(相较于最佳 GPU 基线提升 1 %)。
- Scalability(可扩展性):在更大规模设计上仍能保持加速效果,随问题规模增长加速比保持良好。
Methodology
- Problem Decomposition(问题分解) – 合法化流程被划分为三个逻辑阶段:
a. 预处理与依赖分析
b. FOP(搜索合法位置)
c. 单元移动(调整布局) - Task Assignment(任务分配) –
- CPU 负责预处理、全局布线约束以及协同逻辑。
- FPGA 执行高度并行的 FOP 搜索和单元移动内核。
- Multi‑Granularity Pipeline(多粒度流水线) –
- Coarse‑Grain Stage(粗粒度阶段):处理单元组(例如同高度的簇),快速剪枝不可行区域。
- Fine‑Grain Stage(细粒度阶段):在保留下来的候选窗口内细化单个单元的布局。
流水线交叉进行,使得 FPGA 在处理一批数据的细粒度阶段时,CPU 同时准备下一批的粗粒度信息。
- FPGA Design Optimizations(FPGA 设计优化) – 定制的数据通路和片上存储缓冲针对移动算法的访问模式进行调优,降低延迟并避免流水线停顿。
- Integration & Synchronization(集成与同步) – 轻量级主机驱动通过 PCIe 协调数据传输,采用双缓冲隐藏传输开销。
Results & Findings
| Baseline(基线) | Speedup(加速比) | Quality Δ (Legalization Cost)(质量变化) |
|---|---|---|
| CPU‑GPU legalizer (state‑of‑the‑art) | 18.3× | +4 %(成本更低) |
| Multi‑threaded CPU legalizer | 5.4× | +1 % |
| Scalability test (design size ↑) | 在设计规模扩大至 2 倍的基准上仍保持 > 4× 加速 | 质量提升保持在 1–4 % 之间 |
Key takeaways(关键要点):
- FPGA 负责大部分计算密集的搜索,将原本的串行瓶颈转化为大规模并行操作。
- 流水线消除空闲期,实现 CPU 与 FPGA 资源的几乎连续利用。
- 由于细粒度阶段能够在不受时间压力限制的情况下探索更多候选位置,合法化质量得到提升。
Practical Implications
- Faster Tape‑out Cycles(更快的流片周期):设计团队可以缩短物理设计验证窗口,在项目时间线内进行更多迭代优化。
- Cost‑Effective Acceleration(性价比高的加速):相较于 GPU 集群,FPGA‑CPU 板卡(如 Xilinx Alveo 或 Intel Agilex)提供相当或更好的性能功耗比,适合无晶圆厂的初创企业和中型公司。
- Integration into Existing EDA Flows(集成到现有 EDA 流程):FLEX 的主机端 API 与典型的仅 CPU 合法化调用保持一致,工具供应商只需最小的代码改动即可接入加速器。
- Potential for Cloud‑Based Services(云服务潜力):模块化的任务划分非常适配异构云实例(CPU + FPGA),为按需合法化即服务(Legalization‑as‑a‑Service)打开了可能。
- Extensibility to Other Placement Tasks(可扩展到其他布局任务):多粒度流水线概念可复用于时序驱动布局、拥塞分析,甚至后硅层 floorplanning 等具有相似搜索‑细化模式的任务。
Limitations & Future Work
- FPGA Resource Constraints(FPGA 资源限制):极大规模设计可能超出片上存储,需要额外的片外缓冲,这可能削弱部分加速效果。
- Portability(可移植性):当前实现针对特定 FPGA 系列,迁移到其他厂商的器件可能需要非平凡的自定义内核重构。
- Dynamic Workloads(动态工作负载):静态划分假设工作负载相对稳定,对高度不规则设计的自适应调度仍是未解决的问题。
- Future Directions(未来方向):作者计划探索跨多 FPGA 的层次化划分,集成机器学习引导的候选剪枝,并将流水线扩展至支持混合技术(FinFET + 新兴)节点的合法化。
Authors
- Xingyu Liu
- Jiawei Liang
- Linfeng Du
- Yipu Zhang
- Chaofang Ma
- Hanwei Fan
- Jiang Xu
- Wei Zhang
Paper Information
- arXiv ID: 2512.04527v1
- Categories: cs.AR, cs.DC
- Published: December 4, 2025
- PDF: Download PDF