Evaluation Toolkit for K-FPGA Fabric Architectures

K-FPGA 패브릭 구조의 평가 툴킷

  • Kim, Kyo-Sun (Electronic Engineering, University of Incheon)
  • 김교선 (인천대학교 전자공학과)
  • Received : 2012.02.08
  • Accepted : 2012.03.28
  • Published : 2012.04.25

Abstract

The research on the FPGA CAD tools in academia has been lacking practicality due to the underlying FPGA fabric architecture which is too simple and inefficient to be applied for commercial FPGAs. Recently, the database of placement positions and routing graphs on commercial FPGA architectures has been built, and provided for enabling the academic development of placement and routing tools. To extend the limit of academic CAD tools even further, we have developed the evaluation toolkit for the K-FPGA architecture which is under development. By providing interface for exchanging data with a commercial FPGA toolkit at every step of mapping, packing, placement and routing in the tool chain, the toolkit enables individual tools to be developed without waiting for the results of the preceding step, and with no dependency on the quality of the results, and compared in detail with commercial tools at any step. Also, the fabric primitive library is developed by extracting the prototype from a reporting file of a commercial FPGA, restructuring it, and modeling the behavior of basic gates. This library can be used as the benchmarking target, and a reference design for new FPGA architectures. Since the architecture is described in a standard HDL which is familiar with hardware designers, and read in the tools rather than hard coded, the tools are "data-driven", and tolerable with the architectural changes due to the design space exploration. The experiments confirm that the developed library is correct, and the functional correctness of applications implemented on the FPGA fabric can be validated by simulation. The placement and routing tools are under development. The completion of the toolkit will enable the development of practical FPGA architectures which, in return, will synergically animate the research on optimization CAD tools.

FPGA용 CAD툴에 대한 학계의 연구는 상용 FPGA에 적용하기에는 단순하고 비효율적인 아키텍처를 가정하고 있기 때문에 실용성 측면에서 뒤처져 왔다. 최근 상용 FPGA 아키텍처의 배치 위치 및 배선 그래프 데이터베이스를 구축하고 인터페이스를 제공함으로써 상용 FPGA에 적용할 수 있는 배치 배선 툴의 개발을 가능하게 하려는 시도가 있었다. 본 논문은 신규 FPGA 아키텍처로 개발되고 있는 K-FPGA의 경쟁력을 벤치마킹 할 수 있는 툴킷 개발에 대해 기술한다. 이는 학계 CAD 툴의 실용성 한계를 한층 더 확장하고 있다. 기존 상용 툴과 매핑, 패킹, 배치, 배선 각 단계 별로 데이터를 교환할 수 있어 세부 툴별 비교 평가가 가능하며 이전 단계의 결과물을 기다리거나 결과의 질에 영향을 받지 않으면서 각 단계를 독립적으로 개발할 수 있는 체계를 구축하였다. 또한, 상용 FPGA의 아키텍처를 추출하여 단위 셀 라이브러리를 구축함으로써 FPGA 아키텍처의 신규 개발 시 참조 설계 역할을 할 뿐만 아니라 상시 벤치마킹 환경을 제공하도록 하였다. 특히, 아키텍처 정보를 툴 내에 하드 코딩하지 않고 하드웨어 설계자에게 익숙한 표준 HDL 형식으로 기술하여 읽어 들일 수 있도록 함으로써 아키텍처에 수시로 다양한 변경을 시도하면서 최적화해도 툴이 유연하게 수용할 수 있는 데이터 구동 방식의 툴 개발을 추구하였다. 실험을 통해 단위 셀 라이브러리 및 툴 기능을 검증하였으며 개발 중에 변경되고 있는 FPGA 아키텍처 상에서 임의의 설계를 매핑해 보고 정상 동작할 지 시뮬레이션으로 검증할 수 있음을 확인하였다. 배치 및 배선 툴이 개발 중이며 이들이 완성되면 실용적이고 다양한 신규 FPGA 아키텍처들을 개발하고 그 경쟁력을 평가할 수 있게 될 뿐만 아니라 신규 아키텍처를 위한 최적화 CAD 툴 개발 연구가 활발해지는 시너지 효과도 기대할 수 있다.

Keywords

References

  1. ABC: A System for Sequential Synthesis and Verification. Berkeley Logic Synthesis and Verification Group, http://www.eecs.berkeley.edu/alanmi/abc/abc.html, October, 2007.
  2. V. Betz and J. Rose, "VPR: A New Packing, Placement And Routing Tool For FPGA Research," in Proceedings of the 7th International Workshop on Field-Programmable Logic and Applications. pp.213-222, 1997.
  3. T.B. Breuber and P.G. Spallek, "Enhancing FPGA Device Capabilities by the Automatic Logic Mapping to Additive Carry Chains," in Proceedings of the 20th International Workshop on Field-Programmable Logic and Applications, pp.318-325, September, 2010.
  4. N. Steiner, A. Wood, H. Shojaei, J. Couch, P. Athanas, M. French, "Torc: Towards Open- Source Tool Flow," in Procee0dings of the 19th ACM/SIGDA International Symposium on Field Programmable Gate Arrays, pp.41-44, February, 2010.
  5. C. Lavin, M. Padilla, J. Lamprecht, P. Lundrigan, B. Nelson, and B. Hutchings, "RapidSmith: Do-It-Yourself CAD Tools for Xilinx FPGAs" in Proceedings of the 21st International Workshop on Field-Programmable Logic and Applications, pp.349-355, September, 2011.
  6. Xilinx Design Language Version 1.6, Xilinx, Inc., Xilinx ISE 6.1i Documentation in ise6.1i/help/data /xdl, July 2000.
  7. C. Lavin, M. Padilla, J. Lamprecht, P. Lundrigan, B. Nelson, and B. Hutchings, "HMFlow: Accelerating FPGA Compilation with Hard Macros for Rapid Prototyping" in Proceedings of the 2011 IEEE 19th Annual International Symposium on Field- Programmable Custom Computing Machines, pp.117-124, May, 2011.
  8. "HqFpga: Unified Platform Solution for FPGA Development Software," User Manual for HqFpga 1.5, Uptops Design Technologies, http://www. uptops-dt.com, Beijing, China, January, 2012.
  9. Spartan-3 Generation FPGA User Guide, UG331, v1.6, Xilinx Inc., December 3, 2009.
  10. M. Guiney, E. Leavitt, "An Introduction to OpenAccess: an Open Source Data Model and API for IC Design," in Proceedings of Asia and South Pacific Conference on Design Automation, pp. 434-436, January, 2006.
  11. Liberty User Guides and Reference Manual Suite Version 2011.09, Open Source Liberty, http://www. opensourceliberty.org, September, 2011.