A Lower Bound Estimation on the Number of Micro-Registers in Time-Multiplexed FPGA Synthesis

시분할 FPGA 합성에서 마이크로 레지스터 개수에 대한 하한 추정 기법

  • 엄성용 (서울여자대학교 정보통신공학부)
  • Published : 2003.10.01

Abstract

For a time-multiplexed FPGA, a circuit is partitioned into several subcircuits, so that they temporally share the same physical FPGA device by hardware reconfiguration. In these architectures, all the hardware reconfiguration information called contexts are generated and downloaded into the chip, and then the pre-scheduled context switches occur properly and timely. Typically, the size of the chip required to implement the circuit depends on both the maximum number of the LUT blocks required to implement the function of each subcircuit and the maximum number of micro-registers to store results over context switches in the same time. Therefore, many partitioning or synthesis methods try to minimize these two factors. In this paper, we present a new estimation technique to find the lower bound on the number of micro-registers which can be obtained by any synthesis methods, respectively, without performing any actual synthesis and/or design space exploration. The lower bound estimation is very important in sense that it greatly helps to evaluate the results of the previous work and even the future work. If the estimated lower bound exactly matches the actual number in the actual design result, we can say that the result is guaranteed to be optimal. In contrast, if they do not match, the following two cases are expected: we might estimate a better (more exact) lower bound or we find a new synthesis result better than those of the previous work. Our experimental results show that there are some differences between the numbers of micro-registers and our estimated lower bounds. One reason for these differences seems that our estimation tries to estimate the result with the minimum micro-registers among all the possible candidates, regardless of usage of other resources such as LUTs, while the previous work takes into account both LUTs and micro-registers. In addition, it implies that our method may have some limitation on exact estimation due to the complexity of the problem itself in sense that it is much more complicated than LUT estimation and thus needs more improvement, and/or there may exist some other synthesis results better than those of the previous work.

시분할 FPGA는 회로가 동작하는 중 회로의 기능을 재구성할 수 있는 동적 재구성 기능을 갖춘 FPGA 칩이다. 따라서 이러한 칩을 위한 회로 합성 기법에서는 주어진 논리 회로를 각각 다른 시간대에 수행할 여러 개의 부분회로로 분할한 후, 동일한 하드웨어 회로를 시간차를 두고 공유하도록 해야 한다. 기존의 연구에서는, 칩의 제한된 용량 문제를 해결하기 위해, 동일 시간대에 필요한 자원으로서 각 세부 함수를 수행하는 LUT(Look-Up Table)의 개수와 LUT의 출력 결과를 다른 시간대에 사용하기 위해 그 결과를 임시 저장하는데 필요한 마이크로 레지스터(micro register)의 개수를 최소화하는 데 중점을 두고 있다. 본 논문에서는 시분할 FPGA 합성용 도구 중의 하나로서 회로 구현에 필요한 메모리 원소, 즉 마이크로 레지스터의 개수에 대한 하한(lower bound)을 추정하는 기법에 대해 설명한다. 이 방법에서는 입력되는 논리 회로를 직접 합성하지 않고서도 그 회로가 필요로 하는 전체 마이크로 레지스터 개수에 대한 하한을 각각 추정함으로써 특정한 합성 기법에 관계없이 회로 구현에 필요한 최소한의 마이크로 레지스터의 개수에 대한 정보를 추출한다. 만일, 기존의 합성 결과가 본 연구에서 추정된 하한과 일치할 경우, 그 결과는 최적의 결과를 의미한다. 반면에, 하한과의 차이가 있는 경우에는 기존의 연구 결과에 비해 더 좋은 합성 결과가 존재하거나, 또는 본 연구에서 추정한 하한보다 더 좋은(큰, 정확한) 하한이 실제 존재함을 의미한다. 따라서 이러한 비교 분석을 통해, 기존 연구는 물론, 향후에 개발할 새로운 합성 방법의 결과가 최적인지, 또는 개선의 여지가 있는지를 판단하는 좋은 지표를 얻을 수 있다. 실험 결과, 추정된 하한은 기존 연구의 합성 결과와 다소 차이가 있었다. 이러한 차이는 우선, 기존의 합성 결과는 LUT 개수를 적절히 유지하는 가운데 마이크로 레지스터를 최소화한 결과인 반면, 본 하한 추정에서는 합성 가능한 모든 결과 중, LUT 개수와는 전혀 무관하게, 마이크로 레지스터 개수를 최대한 작게 사용할 합성 예를 추정하기 때문이라고 판단된다. 또 한편으로는 마이크로 레지스터 개수에 대한 하한 추정 문제 자체가 갖는 거대한 변동성과 복잡성으로 인해 제안한 추정 기법이 정밀도에 한계를 가지는 것으로 해석할 수 있으며, 다른 한편으로는 기존 연구 결과보다 더 좋은 합성 결과가 존재할 가능성이 높음을 의미하는 것으로 해석될 수 있다.

Keywords

References

  1. R. Murgai, K. Brayton, and A. Sangiovanni-Vincentelli, 'Logic Synthesis for Field Programmable Gate Arrays,' Kluwer Academic Publisher, 1995
  2. Kang Yi, Seong Y. Ohm, and Chu S. Jhon, 'An Efficient FPGA Technology Mapping Tightly Coupled with Logic Minimization,' IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, Vol. E80-A, pp. 1807-1812, Oct. 1997
  3. S. Timberger, 'A Time-Multiplexed FPGA,' Proceedings of IEEE Symposium on FPGAs for Custom Computing Machines, 1997 https://doi.org/10.1109/FPGA.1997.624601
  4. S. Trimberger, 'Scheduling Designs into a Time-Multiplexed FPGA,' Proceedings of International Symposium on the Field Programming Gate Array, pp. 153-160, 1998 https://doi.org/10.1145/275107.275135
  5. D. Chang and M. Marek-Sadowska, 'Buffer Minimization and Time-Multiplexed I/O on Dynamically Reconfigurable FPGAs,' ACM/SIGDA International Symposium on Field Programmable Gate Arrays, pp. 142-148, 1997 https://doi.org/10.1145/258305.258331
  6. D. Chang and M. Marek-Sadowska, 'Partitioning Sequential Circuits on Dynamically Reconfigurable FPGAs,' ACM/SIGDA International Symposium on Field Programmable Gate Arrays, pp. 161-167, 1998 https://doi.org/10.1145/275107.275136
  7. H. Liu and D.F. Wong, 'Network Flow Based Circuit Partitioning for Time-Multiplexed FPGAs,' Proceedings of International Conference on the Computer Aided Design, pp. 497-504, 1998 https://doi.org/10.1145/288548.289077
  8. H. Liu and D.F. Wong, 'Circuit Partitioning for Dynamically Reconfigurable FPGAs,' ACM/SIGDA International Symposium on Field Programmable Gate Arrays, pp. 187-194, 1999 https://doi.org/10.1145/296399.296456
  9. H. Liu and D. F. Wong, 'A Graph Theoretic Optimal Algorithm for Scheduling Compression in Time-Multiplexed FPGA Partitioning,' Proceedings of International Conference on the Computer Aided Design, pp. 400-405, 1999 https://doi.org/10.1109/ICCAD.1999.810683
  10. Seong Y. Ohm, Fadi J. Kurdahi, Nikil Dutt, 'A Unified Lower Bound Estimation Technique for High-Level Synthesis,' IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 16, No. 5, pp. 458-472, May 1997 https://doi.org/10.1109/43.631209
  11. 엄성용, '시분할 FPGA 합성에서 LUT 개수에 대한 하한 추정 기법', 정보과학회 논문지, 제29권 제7/8호, pp. 422-430, 2002년 8월
  12. Seong Y. Ohm, Chu S. Jhon, and Fadi J. Kurdahi, 'An Optimal Scheduling Approach using Lower Bound in High-Level Synthesis,' IEICE Transactions on Information and Systems, Vol. E78-D, No.3, pp.231-236, March 1995
  13. C. T. Hwang, J. H. Lee, and Y. C. Chu, 'A Formal Approach to Scheduling Problem in High Level Synthesis,' IEEE Transactions on Computer-Aided Design, pp. 464-475, April 1991 https://doi.org/10.1109/43.75629
  14. P. G. Paulin and J. P. Knight, 'Force-directed Scheduling for the Behavioral Synthesis of ASIC's,' IEEE Transactions on Computer-Aided Design, pp. 661-679, June 1989 https://doi.org/10.1109/43.31522
  15. M. C. McFarland, A. C. Parker, and R. Composano, 'Tutorial on High Level Synthesis', Proceedings of the 25th Design Automation Conference, pp. 330-336, June 1988
  16. Hyun-Chul Shin and Chung-Hee Kim, 'A Simple Yet Efficient Techniques for Partitioning,' IEEE Transactions on VLSI Systems, Vol. 1, No. 3, pp. 380-386, 1993 https://doi.org/10.1109/92.238449
  17. M. C. Chao, G-M. Wu, I. U.-R. Jiang, and Y-W. Chang, 'A Clustering- and Probability-based Approach for Time-multiplexed FPGA Partitioning,' Proceedings of International Conference on the Computer Aided Design, pp. 364-368, 1999 https://doi.org/10.1109/ICCAD.1999.810676
  18. Guang-Ming Wu, Jai-Ming Lin, and Yao-Wen Chang, 'Generic ILP-based approaches for time-multiplexed FPGA partitioning,' IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 20 No. 10, pp. 1266-1274, Oct. 2001 https://doi.org/10.1109/43.952745