Reconfigurable SoC Design with Hierarchical FSM and Synchronous Dataflow Model

Hierarchical FSM과 Synchronous Dataflow Model을 이용한 재구성 가능한 SoC의 설계

  • 이성현 (서울대학교 전기컴퓨터공학부) ;
  • 유승주 (서울대학교 전기컴퓨터공학부) ;
  • 최기영 (서울대학교 전기컴퓨터공학부)
  • Published : 2003.08.01

Abstract

We present a method of runtime configuration scheduling in reconfigurable SoC design. As a model of computation, we use a popular formal model of computation, hierarchical FSM (HFSM) with synchronous dataflow (SDF) model, in short, HFSM-SDF model. In reconfigurable SoC design with HFSM-SDF model, the problem of configuration scheduling becomes challenging due to the dynamic behavior of the system such as concurrent execution of state transitions (by AND relation), complex control flow (HFSM), and complex schedules of SDF actor firing. This makes it hard to hide configuration latency efficiently with compile-time static configuration scheduling. To resolve the problem, it is necessary to know the exact order of required configurations during runtime and to perform runtime configuration scheduling. To obtain the exact order of configurations, we exploit the inherent property of HFSM-SDF that the execution order of SDF actors can be determined before executing the state transition of top FSM. After obtaining the order information and storing it in the ready configuration queue (ready CQ), we execute the state transition. During the execution, whenever there is FPGA resource available, a new configuration is selected from the ready CQ and fetched by the runtime configuration scheduler. We applied the method to an MPEG4 decoder and IS95 design and obtained up to 21.8% improvement in system runtime with a negligible overhead of memory usage.

본 논문은 최근에 많이 사용되는 정형 계산 모델 중 하나인 hierarchical FSM (HFSM)과 synchronous dataflow (SDF) 모델(줄여서 HFSM-SDF)을 이용한 재구성 가능한 SoC 설계에서 실시간 구성 스케줄링(configuration scheduling) 방법을 제시한다. HFSM-SDF 모델을 이용한 재구성 가능한 SoC 설계에서는 HFSM이 갖는 동적인 특성들(예를 들면, AND 관계에 의해 동시에 일어나는 state transition, HFSM이 갖는 복잡한 control flow, 그리고 그에 따른 SDF actor firing의 복잡한 스케줄등)로 인해 구성 스케줄링이 어려운 일이 된다. 그리고 이러한 동적인 특성들로 인해 정적인 구성 스케줄링 방법을 이용해서는 구성에 의한 지연(configuration latency)을 적절히 감추는 것이 어렵다. 본 논문에서는, 이 문제를 해결하기 위해, 실시간에 정확한 구성 순서를 찾은 후, 이를 이용한 동적인 구성 스케줄링 방법을 제안한다. 우선, 실시간에 필요한 구성 순서를 찾기 위해서는, HFSM-SDF 모델이 갖는 특징, 즉, SDF actor들의 실행 순서(firing schedule)는 최상위 FSM state transition 직전에 알 수 있다는 점을 이용할 수 있다. 이렇게 최상위 FSM의 매 transition마다 SDF actor들의 구성 순서를 찾아, ready configuration queue(ready CQ)에 저장한 후에, 전체 시스템의 state transition을 수행하며, 이 과정에서 FPGA에 (기존에 FPGA를 점유하고 있던 SDF actor의 종료 등으로 인해) 공간이 남으면, 실시간 구성스케줄러는 ready CQ를 살펴보고, 필요한 구성을 다운로드한다. 본 논문에서 제시한 실시간 구성 방법을 MPEG4의 natural video decoder와 IS95의 modem 예제에 적용해 본 결과, 수행 시간이 최대 21.8%까지 향상되었으며 메모리 사용의 부담은 무시할 수 있을 정도였다.

Keywords

References

  1. J. Hauser and J. Wawrzynek, 'Garp : A MIPS Processor with a Reconfigurable Coprocessor,' IEEE Symposium on FPGAs for Custom Computing Machines, pp 24-33, 1997 https://doi.org/10.1109/FPGA.1997.624600
  2. Maestre et al., 'Kernel Scheduling in Reconfigurable Computing,' Proc. Design Automation and Test in Europe, pp. 90-96, 1999 https://doi.org/10.1109/DATE.1999.761102
  3. 'Chameleon systems, inc,' available at http://www.charneleonsysterns.com/
  4. 'Adaptive memory reconfiguration and management (amrm) homepage,' available at http://www.ics.uci.edu/amrm/
  5. S. Hauck, 'Configuration Prefetch for Single Context Reconfigurable Coprocessors,' ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pp. 65-74, 1998 https://doi.org/10.1145/275107.275121
  6. Z. Li and S. Hauck, 'Configuration Prefetch Techniques for Partially Reconfigurable Coprocessors with Relocation and Defragmentation,' ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, 2002 https://doi.org/10.1145/503048.503076
  7. X. Tang, M. Aalsma, and R. Jou, 'A Compiler Directed Approach to Hiding Configuration Latency in Chameleon Processors,' 10th Int'l Conference on Field Programmable Logic and Applications, pp. 29 -38, 2000
  8. R. P. Dick and N. Jha, 'CORDS: Hardware-Software Co-Synthesis of Reconfigurable Real-Time Distributed Embedded Systems,' Proc. Int'l Conf. on Computer Aided Design, pp. 62-68, Nov. 1998
  9. M. Kaul et al., 'An Automated Temporal Partitioning and Loop Fission approach for FPGA based Reconfigurable Synthesis of DSP Applications,' Proc. Design Automation Conf., pp. 616-622, June 1999 https://doi.org/10.1109/DAC.1999.782017
  10. Z. Li and S. Hauck, 'Configuration Compression for Virtex FPGAs,' ACM/SIGDA Symposium on Field-Programmable Gate Arrays, 2001
  11. J. Rabaey, 'Reconfigurable Computing: the Solution to Low Power Programmable DSP,' ICASSP Conference, 1997 https://doi.org/10.1109/ICASSP.1997.599622
  12. Cadence Design Systems, Inc., 'Virtual Companent Co-design (VCC),' avaiable at http://www.cadence.com/productslvcc.html
  13. Synopsys, Inc., 'CoCentric System Studio,' available at http://www.synopsys.com/products/cocentricstudio/cocentricstudio.html
  14. J. Buck and R. Vaidyanathan, 'Heterogeneous Modeling and Simualation of Embedded Systems in El Greco,' Proc. Int'l Workshop on Hardware-Software Codesign, pp. 142-146, May 2000
  15. E. Caspi et al., 'Stream Communication Organized for Reconfigurable Execution(SCORE),' Int'l Conf. on Field Programmable Logic and Applications, Aug. 2000
  16. K. M. Gajjala Puma and D. Bhadia, 'Temporal Partitioning and Scheduling Data Flow 그래프s for Reconfigurable Computers,' IEEE Transactions on Computers, vol. 48, no. 6, pp. 579-590, June 1999 https://doi.org/10.1109/12.773795
  17. G.J. M Smit et al., 'Future Mobile Terminals: Efficiency by Adaptivity,' Int'l Workshop on Mobile Communications in Perspective, Feb. 2001
  18. J. Noguera and R. M. Badia, 'A HW/SW Partitioning Algorithm for Dynamically Reconfigurable Architectures,' Proc. Design Automation and Test in Europe, pp. 729-734, 2001 https://doi.org/10.1109/DATE.2001.915109
  19. 'The Ptolemy Project,' available at http://ptolemy.eees.berkeley.edu/
  20. B. Lee, 'Specification and Design of Reactive Systems,' Ph.D thesis, Memorandum UCB/ERL M00/29, Electronics Research Laboratory, Univ. of California, Berkely, May 2000
  21. B. Salefski and L. Caglar, 'Re-Configurable Computing in Wireless,' Proc. Design Automation Conference, pp. 18-22, June 2001 https://doi.org/10.1145/378239.378459
  22. 'MPEG4 Industry Forum' available at http://www.m4if.org/
  23. TIA/ELA-95A, 'Mobile Station-Based Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular Systems,' 1995
  24. Qualcomm, Inc., 'CDMA System Engineering Training Book,' 1993
  25. S. Lee, S. Yoo, and K. Choi, 'Reconfigurable SOC Design with hierarchical FSM and synchronous dataflow model,' Proc. Int'l Symp. on Hardware/Software Codesign, pp. 199-204, May 2002 https://doi.org/10.1145/774789.774830
  26. ARM Ltd., 'ARM7TDMI Technical Reference Manual,' available at http://www.arm.com/arm/TRMs?OpenDocument
  27. ARM Ltd., 'ARM Software Development Toolkit v. 2.51,' available at http://www.arm.com/devtools/SDT
  28. Xilinx, Inc., 'Virtex-ETM 1.8V Field Programmable Gate Arrays,' available at http://direct.xilinx.com/bvdocs/publications/ds022.pdf
  29. Xilinx, Inc., 'ISE Foundation,' available at http://www.xilinx.com/xlnx/xil_prodcat_landingpage.jsp?title=ISE+Foundation
  30. Xilinx, Inc, 'Virtex Series Configuration Architecture User Guide,' available at http://www.xilinx.com/xapp/xapplfil.pdf