Abstract
Recently, multi-FPGA platforms have become a popular choice to prototype complex digital systems. This is because of unique advantages such as high frequency and real world testing experience that are offered when compared to other pre-silicon testing techniques. However, one of several challenges faced by multi-FPGA prototyping is the requirement of an efficient back end flow. Partitioning is a key part of the back end flow of multi-FPGA systems and it directly affects the quality of final prototyped design. In this work, we explore two different partitioning approaches: one is multilevel; while the other is hierarchical partitioning approach. For experimentation, we use a suite of fourteen large benchmarks. Experimental results reveal that the multilevel approach gives 12.5% better frequency results for mono-cluster benchmarks while the hierarchical approach gives 13% better results for multi-cluster benchmarks. Furthermore, the hierarchical approach requires, on average, 60% less execution time when compared to the multilevel partitioning approach.
Similar content being viewed by others
References
Santarini M (2005) Asic prototyping: make versus buy. EDN 11
Sigenics: Custom Asic calculator (2017). http://www.sigenics.com/page/custom-asic-cost-calculator
AMD (2007). http://techreport.com/news/13721/chip-problem-limits-supply-of-quad-core-opterons
Pentium (1994). https://en.wikipedia.org/wiki/pentium_fdiv_bug
Graphics M (2017). https://www.mentor.com/products/fv/modelsim/
Ian Kuon JR (2010) Quantifying and exploring the gap between FPGAs and ASICs. Springer, Berlin
Krupnova H (2004) Mapping multi-million gate SOCS on FPGAS: industrial methodology and experience. In: Proceedings of design, automation and test in Europe conference and exhibition, vol 2, pp 1236–1241 2
Asaad S, Bellofatto R, Brezzo B, Haymes C, Kapur M, Parker B, Roewer T, Saha P, Takken T, Tierno J (2012) A cycle-accurate, cycle-reproducible multi-FPGA system for accelerating multi-core processor simulation. In: Proceedings of the ACM/SIGDA international symposium on field programmable gate arrays, ser. FPGA ’12. New York, NY, USA: ACM, pp 153–162. https://doi.org/10.1145/2145694.2145720
Garey MR, Johnson DS (1990) Computers and intractability: a guide to the theory of NPCompleteness. W. H. Freeman & Co., New York
VERIFIC (2019). https://www.verific.com/
Sigl G, Doll K, Johannes F (1991) Analytical placement: a linear or a quadratic objective function? In: Design automation conference, pp 427–432
Alpert CJ, Chan T, Huang D, Kahng A, MarkovI, Mulet P, Yan K (1997) Faster minimization of linear wirelength for global placement. In: ACM symposium on physical design, pp 4–11
Kirkpatrick S, Gelatt CD, Vecchi MP (1983) Optimization by simulated annealing. Science 220:671–680
Sechen C, Sangiovanni-Vincentelli A (1985) The timberwolf placement and routing package. JSSC, pp 510–522
Dunlop A, Kernighan B (1985) A procedure for placement of standard-cell VLSI circuits. In: IEEE transactions on CAD, pp 92–98
Huang D, Kahng A (1997) Partitioning-based standard-cell global placement with an exact objective. In: ACM symposium on physical design, pp 18–25
Kernighan B, Lin S (1970) An efficient heuristic procedure for partitioning graphs. Bell Syst Tech J 49:291–307
Fiduccia CM, Mattheyeses RM (1982) A linear-time heuristic for improving network partitions. In: Design automation conference, pp 175–181
Bui T, Chaudhuri S, Leighton T, Sipser M (1987) Graph bisection algorithms with good average behavior. Combinatorica 7(2):171–191
Alpert CJ, Hagen LW, Kahng AB (1997) Multilevel circuit partitioning. In: Design automation conference, pp 530–533
Karypis G, Aggarwal R, Kumar V, Shekhar S (1997) Multilevel hypergraph partitioning: application in VLSI design. In: Design automation conference, pp 526–529
Karypis G, Kumar V (1999) Multilevel k-way hypergraph partitioning. In: Design automation conference
Haps protocompiler by synopsys (2017). http://www.synopsys.com/Prototyping/FPGA BasedPrototyping/Pages /protocompiler.aspx
Haps multi-fpga board by synopsys (2017). http://www.synopsys.com/Prototyping/FPGA BasedPrototyping/Pages /HAPS.aspx
Auspy (2017). https://www.mentor.com/products/fv/aupsy
Certify partitioning tool by synopsys (2017). http://www.synopsys.com/Prototyping/FPGA BasedPrototyping/ Pages/Certify.aspx
Series CP (2017). http://www.cadence.com/products/sd/palladium_xp_series/ pages / default.aspx
Veloce MG (2017). https://www.mentor.com/products/fv/emulation-systems/
Zebu-server asic emulator by synopsys (2017). http://www.synopsys.com/tools/verification /hardware-verification/emulation/Pages/default.aspx
Marrakchi Z, Mrabet H, Mehrez H (2005) Hierarchical FPGA clustering to improve routability. In: Conference on Ph.D research in microelectronics and electronics, PRIME
Marrakchi Z, Mrabet H, Mehrez H (2006) A new multilevel hierarchical MFPGA and its suitable configuration tools. In: Proceedings of ISVLSI, Karlsruhe, Germany
Turki M, Mehrez H, Marrakchi Z, Abid M (2013) Partitioning constraints and signal routing approach for multi-fpga prototyping platform. In: 2013 International symposium on system on chip (SoC), pp 1–4
Tang Q, Mehrez H, Tuna M (2013) Routing algorithm for multi-fpga based systems using multi-point physical tracks. In: 2013 International symposium on rapid system prototyping (RSP), pp 2–8
Farooq U, Baig I, Alzahrani BA (2018) An efficient inter-fpga routing exploration environment for multi-fpga systems. IEEE Access 6:56 301–56 310
Inagi M, Takashima Y, Nakamura Y (2009) Globally optimal time-multiplexing in inter-fpga connections for accelerating multi-fpga systems. In: International conference on field programmable logic and applications, pp 212–217
Hauck S, DeHon A (2007) Reconfigurable computing: the theory and practice of FPGA-based computation. Morgan Kaufmann Publishers Inc., San Francisco
Stroobandt D, Verplaetse P, Van Campenhout J (2000) Generating synthetic benchmark circuits for evaluating cad tools. IEEE Trans Comput Aided Des Integr Circuits Syst 19(9):1011–1022
Farooq U, Parvez H, Mehrez H, Marrakchi Z (2012) A new heterogeneous tree-based application specific fpga and its comparison with mesh-based application specific fpga. Microprocess Microsyst 36(8):588–605. https://doi.org/10.1016/j.micpro.2012.06.012
Yang S (1991) Logic synthesis and optimization benchmarks user guide, version 3.0
Pouillon N, Greiner A (2010) Soc lib project. https://www.asim.lip6.fr/trac/dsx/
Miro Panades I, Greiner A, Sheibanyrad A (2006) A low cost network-on-chip with guaranteed service well suited to the gals approach. In: 1st International conference on nano-networks and workshops, NanoNet ’06, pp 1–5
McMurchie L, Ebeling C (1995) Pathfinder: a negotiation-based performance-driven router for fpgas. In: ACM international symposium on field-programmable gate arrays, ACM Press, New York, pp 111–117
Karypis G, Kumar V (1999) Multilevel k-way hypergraph partitioning. In: Proceedings of the 36th annual ACM/IEEE design automation conference, ser. DAC ’99, ACM, New York, NY, pp 343–348. https://doi.org/10.1145/309847.309954
Synopsys (2017). http://www.synopsys.com/prototyping/fpgabasedprototyping/. http://www.synopsys.com/Prototyping/FPGA BasedPrototyping/FPMM/ Pages/default.aspx
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Farooq, U., Alzahrani, B.A. Exploring and optimizing partitioning of large designs for multi-FPGA based prototyping platforms. Computing 102, 2361–2383 (2020). https://doi.org/10.1007/s00607-020-00834-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-020-00834-5