高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

OpenPARF: 基于深度学习工具包的大规模异构FPGA开源布局布线框架

麦景 王嘉睿 邸志雄 林亦波

麦景, 王嘉睿, 邸志雄, 林亦波. OpenPARF: 基于深度学习工具包的大规模异构FPGA开源布局布线框架[J]. 电子与信息学报, 2023, 45(9): 3118-3131. doi: 10.11999/JEIT230387
引用本文: 麦景, 王嘉睿, 邸志雄, 林亦波. OpenPARF: 基于深度学习工具包的大规模异构FPGA开源布局布线框架[J]. 电子与信息学报, 2023, 45(9): 3118-3131. doi: 10.11999/JEIT230387
MAI Jing, WANG Jiarui, DI Zhixiong, LIN Yibo. OpenPARF: An Open-source Placement and Routing Framework for Large-scale Heterogeneous FPGAs with Deep Learning Toolkit[J]. Journal of Electronics & Information Technology, 2023, 45(9): 3118-3131. doi: 10.11999/JEIT230387
Citation: MAI Jing, WANG Jiarui, DI Zhixiong, LIN Yibo. OpenPARF: An Open-source Placement and Routing Framework for Large-scale Heterogeneous FPGAs with Deep Learning Toolkit[J]. Journal of Electronics & Information Technology, 2023, 45(9): 3118-3131. doi: 10.11999/JEIT230387

OpenPARF: 基于深度学习工具包的大规模异构FPGA开源布局布线框架

doi: 10.11999/JEIT230387
基金项目: 科技部重点研发计划(2021ZD0114702)
详细信息
    作者简介:

    麦景:男,博士生,研究方向为面向超大规模集成电路设计自动化的建模和优化、机器学习等

    王嘉睿:男,博士生,研究方向为面向超大规模集成电路设计自动化的建模和优化、机器学习等

    邸志雄:男,博士,副教授,硕士生导师,研究方向为数字芯片物理实现EDA算法、高性能图像编解码芯片设计和FPGA硬件加速设计

    林亦波:男,博士,研究员,博士生导师,研究方向为面向超大规模集成电路设计自动化的建模和优化、深度学习及其应用和异构计算

    通讯作者:

    林亦波 yibolin@pku.edu.cn

  • 11) DREAMPlaceFPGA包括文献[18,19]两个工作,其中文献[19]在文献[18]的基础上使用GPU加速合法化算法。本文实验部分中DREAMPlaceFPGA的布局时间摘取自文献[19]。
  • 22) 本文实验中线程数为8
  • 中图分类号: TN47

OpenPARF: An Open-source Placement and Routing Framework for Large-scale Heterogeneous FPGAs with Deep Learning Toolkit

Funds: Key Research and Development Program Projects of the Ministry of Science and Technology (2021ZD0114702)
  • 摘要: 该文提出一个面向大规模可编辑逻辑门阵列(FPGA)的开源布局布线框架OpenPARF。该框架基于深度学习工具包PyTorch实现,支持GPU大规模并行计算求解。在布局算法方面,该文设计了一种新型非对称多静电场系统,对FPGA布局问题进行建模。在布线算法方面,该文支持对FPGA可编程逻辑块(CLB)内部布线资源进行准确建模,并在大规模不规则布线资源图上进行布线,提高了异构FPGA芯片布线器的性能和效率。该文在ISPD 2016和2017 FPGA竞赛数据集和工业标准级FPGA数据集上进行了实验,结果表明该框架可减少0.4%~12.7%的布线线长,并实现两倍以上布局效率提升。
  • 图  1  FPGA 布局布线架构示意图

    图  2  OpenPARF 总体算法框架图

    图  3  4 种情景下的 LUT 和 SHIFT 的位置关系下 LUTL 和 LUTM-AL 静电场系统的电荷密度和电势能

    表  1  ISPD2016 和 ISPD2017 benchmark 的实例数量和网表数量

    ISPD 2016ISPD 2017
    FPGA设计逻辑单元数量网表数量 (k)FPGA设计逻辑单元数量网表数量 (k)
    LUT (k)FF (k)RAMDSPLUT (k)FF (k)RAMDSP
    FPGA01505500105CLK-FPGA0121132416475536
    FPGA0210066100100167CLK-FPGA02230280236112511
    FPGA03250170600500428CLK-FPGA03410481850395898
    FPGA04250172600500430CLK-FPGA04309372467224685
    FPGA05250174600500433CLK-FPGA05393469798150865
    FPGA063503521000600713CLK-FPGA06425511872420943
    FPGA073503551000600716CLK-FPGA07254309313149565
    FPGA08500216600500725CLK-FPGA0821225716175470
    FPGA095003661000600876CLK-FPGA09231358236112591
    FPGA103506001000600961CLK-FPGA10327506542255837
    FPGA114803631000400851CLK-FPGA11300468454224772
    FPGA125006026005001111CLK-FPGA12277430389187710
    CLK-FPGA13339405570262749
    下载: 导出CSV

    表  2  在工业标准级 FPGA 数据集上的布局时间 (s)、布线时间(min)以及布线线长 (×103)

    FPGA设计逻辑单元数量 网表数量布局时间布线时间布线线长
    #LUT/#FF/#BRAM/#DSP#DiRAM+#SHIFT
    IND0117k/11k/0/1395249272.361090
    IND0211k/10k/0/2462667877.8215100
    IND03109k/12k/0/00121554109.541081021
    IND0429k/17k/0/162186096869.3919283
    IND0564k/191k/64/92829K371808126.381092360
    IND06112k/65k/21/0022118288.281761593
    IND0740k/156k/89/76826K294075140.33681450
    下载: 导出CSV

    表  3  在 ISPD 2016 benchmark 上的布局时间 (s)、布线时间 (min)以及布线线长 (×104) 的比较

    FPGA设计RippleFPGA (CPU)DREAMPlaceFPGA (GPU)OpenPARF (CPU)OpenPARF (GPU)
    布局时间布线时间布线线长布局时间布线时间布线线长布局时间布线时间布线线长布局时间布线时间布线线长
    FPGA0141.12336.4432.08331.78422231.7538.58331.72
    FPGA0264.22575.2956.82568.17719467.8659.08567.73
    FPGA03245.4017346.91107.9615299.5676015294.75119.7515294.75
    FPGA04337.4222632.9697.2222569.8572722577.30111.8522577.30
    FPGA05391.42571222.4690.60561167.60899581148.40122.78541148.72
    FPGA06593.0625652.41182.6229571.1197529573.95218.1727573.54
    FPGA07782.33461106.96159.0751964.4492446966.37208.8445965.24
    FPGA08489.9740958.26146.3336911.6792138895.47184.1338896.91
    FPGA09737.86581327.34190.63541203.491036521198.43259.76501198.22
    FPGA101179.9428711.48179.5028544.52108226542.11258.0435542.02
    FPGA11721.43581281.65147.88561250.491020591254.15220.95591253.78
    FPGA12883.1940761.37183.9537674.21117740670.31290.4338670.94
    平均值2.7711.0151.1270.7861.0001.0046.1700.9571.0001.0001.0001.000
    下载: 导出CSV

    表  4  在ISPD 2017 benchmark上的布局时间 (s) 、布线时间 (min)以及布线线长 (×104 )的比较

    FPGA设计RippleFPGA (CPU)OpenPARF (CPU)OpenPARF (GPU)
    布局时间布线时间布线线长布局时间布线时间布线线长布局时间布线时间布线线长
    CLK-FPGA01277.7810238.548649205.79130.9710205.44
    CLK-FPGA02249.9915261.8578213247.73126.8314246.65
    CLK-FPGA03537.3624648.6996326593.15205.9824594.00
    CLK-FPGA04346.4518440.0986019419.74156.9719420.30
    CLK-FPGA05501.1525560.1896223510.30201.0123510.62
    CLK-FPGA06545.0928678.4398826617.94217.7528617.28
    CLK-FPGA07288.2613276.2979513256.62136.3913256.62
    CLK-FPGA08234.6910213.066729196.63119.3210196.67
    CLK-FPGA09311.6813297.0280714251.27148.3814250.98
    CLK-FPGA10464.8323544.0793025449.52194.6314451.28
    CLK-FPGA11421.1224516.6789723422.01181.5830421.52
    CLK-FPGA12377.6518403.5986219335.13167.0220336.03
    CLK-FPGA13393.2521464.7888020427.86177.8619428.41
    平均值2.2511.0371.1255.3051.0361.0001.0001.0001.000
    下载: 导出CSV
  • [1] MARKOV I L, HU Jin, and KIM M C. Progress and challenges in VLSI placement research[J]. Proceedings of the IEEE, 2015, 103(11): 1985–2003. doi: 10.1109/JPROC.2015.2478963
    [2] CHEN Deming, CONG J, and PAN Peichan. FPGA design automation: A survey[M]. BOX P O. Foundations and Trends in Electronic Design Automation. Hanover: Now Publishers Inc. , 2006.
    [3] MURRAY K E, WHITTY S, LIU Suya, et al. Timing-driven Titan: Enabling large benchmarks and exploring the gap between academic and commercial CAD[J]. ACM Transactions on Reconfigurable Technology and Systems, 2015, 8(2): 1–18. doi: 10.1145/2629579
    [4] MURRAY K E, PETELIN O, ZHONG Suya, et al. VTR 8: High-performance CAD and customizable FPGA architecture modelling[J]. ACM Transactions on Reconfigurable Technology and Systems, 2020, 13(2): 1–55. doi: 10.1145/3388617
    [5] UltraScale architecture configurable logic block user guide (UG574)[EB/OL].https://china.xilinx.com/content/dam/xilinx/support/documents/user_guides/ug574-ultrascale-clb.pdf, 2017.
    [6] YANG S, GAYASEN A, MULPURI C, et al. Routability-driven FPGA placement contest[C]. The 2016 on International Symposium on Physical Design, Santa Rosa, USA, 2016: 139–143.
    [7] ZHANG Niansong, CHEN Xiang, and KAPRE N. RapidLayout: Fast hard block placement of FPGA-optimized systolic arrays using evolutionary algorithm[J]. ACM Transactions on Reconfigurable Technology and Systems, 2022, 15(4): 38. doi: 10.1145/3501803
    [8] ZHOU Yun, MAIDEE P, LAVIN C, et al. RWRoute: An open-source timing-driven router for commercial FPGAs[J]. ACM Transactions on Reconfigurable Technology and Systems, 2022, 15(1): 8. doi: 10.1145/3491236
    [9] YANG S, MULPURI C, REDDY S, et al. Clock-aware FPGA placement contest[C]. The 2017 ACM on International Symposium on Physical Design, Portland, USA, 2017: 159–164.
    [10] MARTIN T, BARNES C, AREIBI S, et al. An adaptive sequential decision making flow for FPGAs using machine learning[C]. 2022 International Conference on Microelectronics (ICM), Casablanca, Morocco, 2022: 34–37.
    [11] LIANG Tingyuan, CHEN Gengjie, ZHAO Jieru, et al. AMF-placer: High-performance analytical mixed-size placer for FPGA[C]. 2021 IEEE/ACM International Conference On Computer Aided Design (ICCAD), Munich, Germany, 2021: 1–9.
    [12] CHEN T C, JIANG Zhewei, HSU T C, et al. NTUplace3: An analytical placer for large-scale mixed-size designs with preplaced blocks and density constraints[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2008, 27(7): 1228–1240. doi: 10.1109/TCAD.2008.923063
    [13] LU Jingwei, CHEN Pengwen, CHANG C C, et al. ePlace: Electrostatics based placement using Nesterov’s method[C]. The the 51st Annual Design Automation Conference, San Francisco, USA, 2014: 1–6.
    [14] CHENG C K, KAHNG A B, KANG I, et al. RePlAce: Advancing solution quality and routability validation in global placement[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2019, 38(9): 1717–1730. doi: 10.1109/TCAD.2018.2859220
    [15] LIU Lixin, FU Bangqi, WONG M D F, et al. Xplace: An extremely fast and extensible global placement framework[C]. The 59th ACM/IEEE Design Automation Conference, San Francisco, USA, 2022: 1309–1314.
    [16] AGNESINA A, RAJVANSHI P, YANG Tian, et al. AutoDMP: Automated DREAMPlace-based macro placement[C]. The 2023 International Symposium on Physical Design, Virtual Event, USA, 2023: 149–157.
    [17] MAI Jing, MENG Yibai, DI Zhixiong, et al. Multi-electrostatic FPGA placement considering SLICEL-SLICEM heterogeneity and clock feasibility[C]. The 59th ACM/IEEE Design Automation Conference, San Francisco, USA, 2022: 649–654.
    [18] RAJARATHNAM R S, ALAWIEH M B, JIANG Zixuan, et al. DREAMPlaceFPGA: An open-source analytical placer for large scale heterogeneous FPGAs using deep-learning toolkit[C]. 2022 27th Asia and South Pacific Design Automation Conference (ASP-DAC), Taipei, China, 2022: 300–306.
    [19] RAJARATHNAM R S, JIANG Zixuan, IYER M A, et al. DREAMPlaceFPGA-PL: An open-source GPU-accelerated packer-legalizer for heterogeneous FPGAs[C]. The 2023 International Symposium on Physical Design, Virtual Event, USA, 2023: 175–184.
    [20] MENG Yibai, LI Wuxi, LIN Yibo, et al. elfPlace: Electrostatics-based placement for large-scale heterogeneous FPGAs[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2022, 41(1): 155–168. doi: 10.1109/TCAD.2021.3053191
    [21] KIM M C, HU Jin, LEE D J, et al. A SimPLR method for routability-driven placement[C]. 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), San Jose, USA, 2011: 67–73.
    [22] LI Wuxi, DHAR S, and PAN D Z. UTPlaceF: A routability-driven FPGA placer with physical and congestion aware packing[C]. The 2016 IEEE/ACM International Conference on Computer-Aided Design, Austin, USA, 2016: 1–7.
    [23] CHEN Gengjie, PUI C W, CHOW W K, et al. RippleFPGA: Routability-driven simultaneous packing and placement for modern FPGAs[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2018, 37(10): 2022–2035. doi: 10.1109/TCAD.2017.2778058
    [24] HSU M K, CHOU S, LIN T H, et al. Routability-driven analytical placement for mixed-size circuit designs[C]. 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), San Jose, USA, 2011: 80–84.
    [25] CHEN Jianli, LIN Zhifeng, KUO Y C, et al. Clock-aware placement for large-scale heterogeneous FPGAs[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2020, 39(12): 5042–5055. doi: 10.1109/TCAD.2020.2968892
    [26] PUI C W, CHEN Gengjie, MA Yuzhe, et al. Clock-aware ultrascale FPGA placement with machine learning routability prediction: (Invited paper)[C]. 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), Irvine, USA, 2017: 929–936.
    [27] LI Wuxi, LIN Yibo, LI Meng, et al. UTPlaceF 2.0: A high-performance clock-aware FPGA placement engine[J]. ACM Transactions on Design Automation of Electronic Systems, 2018, 23(4): 42. doi: 10.1145/3174849
    [28] LI Wuxi, DEHKORDI M E, YANG S, et al. Simultaneous placement and clock tree construction for modern FPGAs[C]. The 2019 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Seaside, USA, 2019: 132–141.
    [29] ZHU Ziran, MEI Yangjie, LI Zijun, et al. High-performance placement for large-scale heterogeneous FPGAs with clock constraints[C]. The 59th ACM/IEEE Design Automation Conference, San Francisco, USA, 2022: 643–648.
    [30] FENG Wenyi. K-way partitioning based packing for FPGA logic blocks without input bandwidth constraint[C]. 2012 International Conference on Field-Programmable Technology, Seoul, Korea (South), 2012: 8–15.
    [31] BETZ V and ROSE J. VPR: A new packing, placement and routing tool for FPGA research[M]. LUK W, CHEUNG P Y K and GLESNER M. Field-Programmable Logic and Applications. Berlin, Heidelberg: Springer, 1997: 213–222.
    [32] LI Wuxi and PAN D Z. A new paradigm for FPGA placement without explicit packing[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2019, 38(11): 2113–2126. doi: 10.1109/TCAD.2018.2877017
    [33] DI Zhixiong, TAO Runzhe, CHEN Lin, et al. Imbalanced large graph learning framework for FPGA logic elements packing prediction[EB/OL]. Available: http: //arxiv. org/abs/2308. 03231, 2023.
    [34] MCMURCHIE L and EBELING C. PathFinder: A negotiation-based performance-driven router for FPGAs[C]. Third International ACM Symposium on Field-Programmable Gate Arrays, Napa Valley, USA, 1995: 111–117.
    [35] MURRAY K E, ZHONG Sheng, and BETZ V. AIR: A fast but lazy timing-driven FPGA router[C]. 2020 25th Asia and South Pacific Design Automation Conference (ASP-DAC), Beijing, China, 2020: 338–344.
    [36] ZHOU Yun, VERCRUYCE D, and STROOBANDT D. Accelerating FPGA routing through algorithmic enhancements and connection-aware parallelization[J]. ACM Transactions on Reconfigurable Technology and Systems, 2020, 13(4): 1–26. doi: 10.1145/3406959
    [37] ZHA Yue and LI Jing. Revisiting pathfinder routing algorithm[C]. Proceedings of the 2022 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Virtual Event, USA, 2022: 24–34.
    [38] SHEN Minghua and LUO Guojie. Corolla: GPU-accelerated FPGA routing based on subgraph dynamic expansion[C]. The 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, USA, 2017: 105–114.
    [39] WANG Jiarui, MAI Jing, DI Zhixiong, et al. A Robust FPGA router with concurrent intra-CLB rerouting[C]. The 28th Asia and South Pacific Design Automation Conference, Tokyo, Japan, 2023: 529–534.
    [40] RAY B N B, TRIPATHY A R, SAMAL P, et al. Half-perimeter wirelength model for VLSI analytical placement[C]. 2014 International Conference on Information Technology, Bhubaneswar, India, 2014: 287–292.
    [41] SPINDLER P and JOHANNES F M. Fast and accurate routing demand estimation for efficient routability-driven placement[C]. 2007 Design Automation & Test in Europe Conference & Exhibition, Nice, France, 2007: 1–6.
  • 加载中
图(3) / 表(4)
计量
  • 文章访问数:  634
  • HTML全文浏览量:  252
  • PDF下载量:  143
  • 被引次数: 0
出版历程
  • 收稿日期:  2023-05-08
  • 修回日期:  2023-08-21
  • 网络出版日期:  2023-08-23
  • 刊出日期:  2023-09-27

目录

    /

    返回文章
    返回