高级搜索

基于配置模式匹配和层次化映射结构的高效FPGA码流生成系统研究

涂开辉 黄志洪 侯峥嵘 杨海钢

引用本文: 涂开辉, 黄志洪, 侯峥嵘, 杨海钢. 基于配置模式匹配和层次化映射结构的高效FPGA码流生成系统研究[J]. 电子与信息学报, doi: 10.11999/JEIT190143 shu
Citation:  Kaihui TU, Zhihong HUANG, Zhengrong HOU, Haigang YANG. Research on Efficient FPGA Bitstream Generation System Based on Mode Matching and Hierarchical Mapping[J]. Journal of Electronics and Information Technology, doi: 10.11999/JEIT190143 shu

基于配置模式匹配和层次化映射结构的高效FPGA码流生成系统研究

    作者简介: 涂开辉: 男,1984年生,博士生,助理研究员,研究方向为大规模集成电路设计自动化;
    黄志洪: 男,1984年生,博士,助理研究员,研究方向为可编程逻辑芯片设计技术;
    侯峥嵘: 男,1994年生,本科,研究方向为大规模集成电路设计自动化;
    杨海钢: 男,1960年生,博士生导师,研究员,研究方向为可编程逻辑芯片设计技术,大规模集成电路设计自动化;
    通讯作者: 杨海钢, yanghg@mail.ie.ac.cn
  • 基金项目: 国家自然科学基金(61876172, 61704173),北京市科技重大专项课题(Z171100000117019)

摘要: 码流生成在FPGA电子设计自动化(EDA)流程中,提供应用电路在芯片上物理实现所需的精准配置信息。现代FPGA的发展一方面呈现出器件规模及码流容量越来越大的趋势,另一方面越来越多可变阵列大小的嵌入式应用(例如eFPGA)又要求码流生成器具备更高的配置效率以及更精简的可重构数据库。针对码流生成时间增加的问题和阵列规模任意缩放的需求,该文提出一种模式匹配和层次映射的码流生成方法,即对编程单元按配置模式进行分类建模,在配置时按模型进行调用匹配,并采用了层次化的码流映射策略,使得数据库可随阵列排布调整动态生成。该方法可有效应对FPGA嵌入式应用中码流容量的增大以及阵列规模可变所带来的挑战,同时相比平面化的建模及映射方法,码流配置的时间复杂度由O(n)降低为O(lgn)

English

    1. [1]

      王俊, 郑彤, 雷鹏, 等. 深度学习在雷达中的研究综述[J]. 雷达学报, 2018, 7(4): 395–411. doi: 10.12000/JR18040
      WANG Jun, ZHENG Tong, LEI Peng, et al. Study on deep learning in radar[J]. Journal of Radars, 2018, 7(4): 395–411. doi: 10.12000/JR18040

    2. [2]

      IŠA R and MATOUŠEK J. A novel architecture for LZSS compression of configuration bitstreams within FPGA[C]. Proceedings of the IEEE 20th International Symposium on Design and Diagnostics of Electronic Circuits & Systems, Dresden, Germany, 2017: 171–176.

    3. [3]

      Intel Inc. UGS10CONFIG-Intel stratix 10 configuration user guide[EB/OL]. https://www.intel.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/stratix-10/ug-s10-config.pdf, 2018.

    4. [4]

      ABDELLATIF K M, CHOTIN-AVOT R, and MEHREZ H. Protecting FPGA bitstreams using authenticated encryption[C]. Proceedings of the IEEE 11th International New Circuits and Systems Conference, Paris, France, 2013: 1–4.

    5. [5]

      Xilinx Inc. UG909-Vivado design suite user guide partial reconfiguration[OL]. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2016_1/ug909-vivado-partial-reconfiguration.pdf, 2018.

    6. [6]

      PATTERSON C and GUCCIONE S A. JBits TM design abstractions[C]. Proceedings of the 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, Rohnert Park, USA, 2001: 251–252.

    7. [7]

      POETTER A, HUNTER J, PATTERSON C, et al. JHDLBits: The merging of two worlds[C]. Proceedings of the 14th International Conference Field Programmable Logic and Application, Leuven, Belgium, 2004: 414–423.

    8. [8]

      PHAM K D, HORTA E, and KOCH D. BITMAN: A tool and API for FPGA bitstream manipulations[C]. Proceedings of 2017 Design, Automation & Test in Europe Conference & Exhibition, Lausanne, Switzerland, 2017: 894–897.

    9. [9]

      STEINER N, WOOD A, SHOJAEI H, et al. Torc: Towards an open-source tool flow[C]. Proceedings of the 19th ACM/SIGDA International Symposium on Field Programmable Gate Arrays, Monterey, USA, 2011: 41–44.

    10. [10]

      TOWNSEND T and NELSON B. Vivado design interface: An export/import capability for vivado FPGA designs[C]. Proceedings of the 27th International Conference on Field Programmable Logic and Applications, Ghent, Belgium, 2017: 1–7.

    11. [11]

      NOTE J B and RANNAUD É. From the bitstream to the netlist[C]. Proceedings of the 16th International ACM/SIGDA Symposium on Field Programmable Gate Arrays, Monterey, USA, 2008: 264.

    12. [12]

      BENZ F, SEFFRIN A, and HUSS S A. Bil: A tool-chain for bitstream reverse-engineering[C]. Proceedings of the 22nd International Conference on Field Programmable Logic and Applications, Oslo, Norway, 2012: 735–738.

    13. [13]

      DING Zheng, WU Qiang, ZHANG Yizhong, et al. Deriving an NCD file from an FPGA bitstream: Methodology, architecture and evaluation[J]. Microprocessors and Microsystems, 2013, 37(3): 299–312. doi: 10.1016/j.micpro.2012.12.003

    14. [14]

      ROSE J, LUU J, YU Chiwai, et al. The VTR project: architecture and CAD for FPGAs from verilog to routing[C]. Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays, Monterey, USA, 2012: 77–86.

    15. [15]

      HUNG E, ESLAMI F, and WILTON S J E. Escaping the academic sandbox: Realizing VPR circuits on Xilinx devices[C]. Proceedings of the IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines, Seattle, USA, 2013: 45–52.

    16. [16]

      HUNG E. Mind the (synthesis) gap: Examining where academic FPGA tools lag behind industry[C]. Proceedings of the 25th International Conference on Field Programmable Logic and Applications, London, UK, 2015: 1–4.

    17. [17]

      SONI R K, STEINER N, and FRENCH M. Open-source bitstream generation[C]. Proceedings of the IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines, Seattle, USA, 2013: 105–112.

    18. [18]

      李智华, 黄娟, 李威, 等. 一种SRAM型FPGA互连资源的位流码配置方法[J]. 太赫兹科学与电子信息学报, 2016, 14(1): 136–142. doi: 10.11805/TKYDA201601.0136
      LI Zhihua, HUANG Juan, LI Wei, et al. An automatic approach for bitstream configuration of routing resource in SRAM FPGA[J]. Journal of Terahertz Science and Electronic Information Technology, 2016, 14(1): 136–142. doi: 10.11805/TKYDA201601.0136

    1. [1]

      兰亚柱杨海钢林郁. 动态自适应低密度奇偶校验码译码器的FPGA实现. 电子与信息学报, doi: 10.11999/JEIT141609

    2. [2]

      兰亚柱杨海钢林郁. 面向DVB-S2标准LDPC码的高效编码结构. 电子与信息学报, doi: 10.11999/JEIT151198

    3. [3]

      王一杨海钢余乐孙嘉斌. FPGA开关矩阵中基于通道结构的漏电流优化方法. 电子与信息学报, doi: 10.3724/SP.J.1146.2013.00242

    4. [4]

      史圣卿陈凯汪玉罗嵘. 基于FPGA的稀疏网络关键节点计算的硬件加速方法研究. 电子与信息学报, doi: 10.3724/SP.J.1146.2011.00363

    5. [5]

      李威杨海钢黄娟. 基于单驱动和多驱动通道形式组合的FPGA互连结构研究. 电子与信息学报, doi: 10.3724/SP.J.1146.2009.01007

    6. [6]

      丁菁汀杜歆周文晖刘济林. 基于FPGA的立体视觉匹配的高性能实现. 电子与信息学报, doi: 10.3724/SP.J.1146.2010.00943

    7. [7]

      梁华国孙红云孙骏黄正峰徐秀敏易茂祥欧阳一鸣鲁迎春闫爱斌. 一种基于FPGA的微处理器软错误敏感性分析方法. 电子与信息学报, doi: 10.11999/JEIT160225

    8. [8]

      李元金张万成吴南健. 一种基于并行处理器的快速车道线检测系统及FPGA实现. 电子与信息学报, doi: 10.3724/SP.J.1146.2010.00111

    9. [9]

      刘勤让刘崇阳. 利用参数稀疏性的卷积神经网络计算优化及其FPGA加速器设计. 电子与信息学报, doi: 10.11999/JEIT170819

    10. [10]

      王粉花谢斌王华涛. 基于FPGA的快速差频测量系统设计. 电子与信息学报, doi: 10.11999/JEIT180243

    11. [11]

      江洁凌思睿. 一种投票式并行RANSAC算法及其FPGA实现. 电子与信息学报, doi: 10.3724/SP.J.1146.2013.00962

    12. [12]

      杨金林杨海钢. 可重构存储器无地址冲突的访问机理及比特标识方法研究. 电子与信息学报, doi: 10.3724/SP.J.1146.2010.00463

    13. [13]

      田禹泽王煜代海山方华刘文清. 基于数字锁相环的星载光谱仪本地时钟源设计. 电子与信息学报, doi: 10.11999/JEIT170088

    14. [14]

      薛茜男李振姜承翔王鹏田毅. 面向航空环境的多时钟单粒子翻转故障注入方法. 电子与信息学报, doi: 10.3724/SP.J.1146.2013.01296

    15. [15]

      谭宜涛杨海钢黄娟郝亚男崔秀海. 基于关键路径的三模冗余表决器插入算法. 电子与信息学报, doi: TN406

    16. [16]

      王巍周凯利王伊昌王广袁军. 基于快速滤波算法的卷积神经网络加速器设计. 电子与信息学报, doi: 10.11999/JEIT190037

    17. [17]

      孙红英杨鸿武陶中幸. 语谱分析的FPGA实现. 电子与信息学报, doi: 10.3724/SP.J.1146.2010.01005

    18. [18]

      谢星黄新明孙玲韩赛飞. 大整数乘法器的FPGA设计与实现. 电子与信息学报, doi: 10.11999/JEIT180836

    19. [19]

      秦华标曹钦平. 基于FPGA的卷积神经网络硬件加速器设计. 电子与信息学报, doi: 10.11999/JEIT190058

    20. [20]

      谈珺申秋实王伶俐童家榕. FPGA通用开关盒层次化建模与优化. 电子与信息学报, doi: 10.3724/SP.J.1146.2007.00787

  • 图 1  配置码位结构CBS示意

    图 2  码流生成流程

    图 3  电路设计数据库-器件结构数据库层次化对应关系

    图 4  公式配置模型示例

    图 5  DVD测试模型示意

    图 6  DSD测试模型示意

    图 7  码流配置时间随器件模型的变化关系(m=5)

    表 1  芯片相关数据库大小(kB)

    器件模型*config_modestile/primitive_first_addressesinitial_bitstreambitstream_format_info数据库总大小
    器件a(3 M Gates)51210/152262765
    器件b(10 M Gates)51232/152262787
    器件c(30 M Gates)51299/152262854
    器件d(50 M Gates)512158/152262913
    器件e(70 M Gates)512210/152262965
    器件f(90 M Gates)512268/1522621023
    *注:器件模型均属一个系列,该系列包含10种复用单元
    下载: 导出CSV

    表 2  不同电路设计、相同芯片规模(同系列)下的码流配置时间

    电路设计需要配置的
    码位总数(bit)
    码流配置
    时间(s)
    电路1(用满25 k Gates器件资源)5.8 k0.016
    电路2(用满1 M Gates器件资源)250.4 k0.682
    电路3(用满10 M Gates器件资源)2.3 M6.360
    电路4(用满30 M Gates器件资源)7.0 M19.419
    电路5(用满50 M Gates器件资源)11.5 M30.334
    电路6(用满80 M Gates器件资源)18.4 M50.886
    下载: 导出CSV

    表 3  相同电路设计、不同芯片规模(同系列)下的码流配置时间

    器件模型映射层数l全器件的码位总数n(bit)平面化映射码流(传统方法)
    配置时间t1(s)
    层次化映射码流(本文方法)
    配置时间t2(s)
    器件1(25.8 k Gates)312.5 k1.40.013
    器件2(130 k Gates)462.5 k7.00.013
    器件3(645 k Gates)5312.5 k34.10.014
    器件4(3.1 M Gates)61.5 M155.20.015
    器件5(16.1 M Gates)77.8 M820.20.015
    器件6(80.6 M Gates)839 M4066.00.016
    下载: 导出CSV

    表 4  本方法和其他码流生成工具的特性比较

    Torc[9]RapidSmith2[10]文献[18]本文方法
    数据库通用性仅针对Xilinx器件仅针对Xilinx器件通用通用
    码流生成层次Frame级Frame级Bit级Bit级
    涵盖资源全芯片资源全芯片资源仅互连资源全芯片资源
    Bit级映射方法平面化层次化
    下载: 导出CSV
  • 加载中
图(7)表(4)
计量
  • PDF下载量:  4
  • 文章访问数:  35
  • HTML全文浏览量:  28
  • 引证文献数: 0
文章相关
  • 通讯作者:  杨海钢, yanghg@mail.ie.ac.cn
  • 收稿日期:  2019-03-12
  • 录用日期:  2019-05-30
  • 网络出版日期:  2019-06-04
通讯作者: 陈斌, bchen63@163.com
  • 1. 

    沈阳化工大学材料科学与工程学院 沈阳 110142

  1. 本站搜索
  2. 百度学术搜索
  3. 万方数据库搜索
  4. CNKI搜索

/

返回文章