ROUTING ARCHITECTURE AND LAYOUT SYNTHESIS FOR MULTI-FPGA SYSTEMS

Multi-FPGA systems (MFSs) are used as custom computing machines, logic emula-tors and rapid prototyping vehicles. A key aspect of these systems is their programmable routing architecture, which is the manner in which wires, FPGAs and Field-Programmable Interconnect Devices (FPIDs) are connected. This dissertation provides new insight into the strengths and the weaknesses of two popular existing routing architectures: the Partial Crossbar and the Mesh. New hybrid architectures, that use a mixture of hardwired and programmable connections, are proposed. The new architectures are the Hybrid Torus Partial-Crossbar (HTP), the Hybrid Complete-Graph Partial-Crossbar (HCGP) and the Hardwired Clusters Partial Crossbar (HWCP). We evaluate and compare several MFS routing architectures by using a rigorous experimental approach that employs real benchmark circuits. The circuits are mapped into the architectures using a customized set of partitioning, placement and inter-chip routing tools. The architectures are compared on the basis of cost (the total number of pins required in the system) and speed (determined by the post-inter-chip routing critical path delay). The key parameters associated with the partial crossbar and the hybrid architectures are explored. For the partial crossbar, the effect of varying the number of pins per subset (P t), on the routability, speed, and cost is minor. For the hybrid architectures, a key parameter , the percentage of programmable connections (P p), is explored and we experimentally determined that P p = 60% gives good routability across all the benchmark circuits. iii We show that the Partial Crossbar is superior to the 8-way Mesh architecture. We show that one of the newly proposed hybrid architectures, HCGP, is superior to the Partial Crossbar. The HTP architecture is shown to be inferior to the HCGP and only marginally better than the Partial Crossbar. The HWCP architecture is evaluated compared to the HCGP architecture and gives encouraging routability and speed results.

[1]  Erich Barke,et al.  Hierarchical partitioning , 1996, Proceedings of International Conference on Computer Aided Design.

[2]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

[3]  Ernest S. Kuh,et al.  Performance-driven system partitioning on multi-chip modules , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[4]  Richard W. Conners,et al.  MORRPH: a modular and reprogrammable real-time processing hardware , 1995, 1995 Proceedings of the IEEE International Symposium on Industrial Electronics.

[5]  Jonathan Rose,et al.  Characterization and parameterized random generation of digital circuits , 1996, DAC '96.

[6]  Vaughn Betz,et al.  VPR: A new packing, placement and routing tool for FPGA research , 1997, FPL.

[7]  Pinaki Mazumder,et al.  VLSI cell placement techniques , 1991, CSUR.

[8]  Satoshi Goto,et al.  An efficient algorithm for the two-dimensional placement problem in electrical circuit layout , 1981 .

[9]  S. Casselman Virtual computing and the Virtual Computer , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[10]  C. Y. Lee An Algorithm for Path Connections and Its Applications , 1961, IRE Trans. Electron. Comput..

[11]  Carl Sechen,et al.  Multiple FPGA Partitioning with Performance Optimization , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[12]  Balakrishnan Krishnamurthy,et al.  An Improved Min-Cut Algonthm for Partitioning VLSI Networks , 1984, IEEE Transactions on Computers.

[13]  Gaetano Borriello,et al.  Pin assignment for multi-FPGA systems , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[14]  L. L. Chang Static timing analysis of high-speed boards , 1997 .

[15]  Martine D. F. Schlag,et al.  Architectural tradeoffs in field-programmable-device-based computing systems , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[16]  Avi Ziv,et al.  Placement and Routing for a Field Programmable Multi-Chip Module , 1994, 31st Design Automation Conference.

[17]  Charles Clos,et al.  A study of non-blocking switching networks , 1953 .

[18]  Raul Camposano Behavioral synthesis , 1995, IEEE Design & Test of Computers.

[19]  Abdul Wahab,et al.  Design of RM-nc: a reconfigurable neurocomputer for massively parallel-pipelined computations , 1992, [Proceedings 1992] IJCNN International Joint Conference on Neural Networks.

[20]  Jaeseok Kim,et al.  An Efficient Method of Partitioning Circuits for Multiple-FPGA Implementation. , 1993, 30th ACM/IEEE Design Automation Conference.

[21]  J. Darnauer,et al.  A field programmable multi-chip module (FPMCM) , 1994, Proceedings of IEEE Workshop on FPGA's for Custom Computing Machines.

[22]  Anant Agarwal,et al.  TIERS: Topology IndependEnt Pipelined Routing and Scheduling for VirtualWire™ Compilation , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[23]  David R. Galloway The Transmogrifier C hardware description language and compiler for FPGAs , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[24]  N. Quinn,et al.  A forced directed component placement procedure for printed circuit boards , 1979 .

[25]  Chung-Kuan Cheng,et al.  Local ratio cut and set covering partitioning for huge logic emulation systems , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[26]  Richard J. Carter,et al.  Teramac-configurable custom computing , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[27]  Hyunchul Shin,et al.  A performance-driven logic emulation system: FPGA network design and performance-driven partitioning , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[28]  Majid Sarrafzadeh,et al.  An Introduction To VLSI Physical Design , 1996 .

[29]  Baldomir Zajc,et al.  Multi-way Netlist Partitioning into Heterogeneous FPGAs and Minimization of Total Device Cost and Interconnect , 1994, 31st Design Automation Conference.

[30]  S. Yang,et al.  Logic Synthesis and Optimization Benchmarks User Guide Version 3.0 , 1991 .

[31]  Norman P. Jouppi,et al.  Timing Analysis and Performance Improvement of MOS VLSI Designs , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[32]  R. Guo,et al.  A 1024 Pin Universal Interconnect Array With Routing Architecture , 1992, 1992 Proceedings of the IEEE Custom Integrated Circuits Conference.

[33]  Daniel P. Lopresti,et al.  Building and using a highly parallel programmable logic array , 1991, Computer.

[34]  Martin D. F. Wong,et al.  On Optimal Board-Level Routing for FPGA-based Logic Emulation , 1995, 32nd Design Automation Conference.

[35]  Carl Ebeling,et al.  Mesh routing topologies for multi-FPGA systems , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[36]  James Gateley UltraSPARC™ -I Emulation , 1995, DAC 1995.

[37]  Charles M. Fiduccia,et al.  A linear-time heuristic for improving network partitions , 1988, 25 years of DAC.

[38]  Scott Hauck,et al.  Multi-FPGA systems , 1996 .

[39]  Joseph Varghese,et al.  An efficient logic emulation system , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[40]  B. Kleveland,et al.  Field Programmable MCM Systems Design Of An Interconnection Frame , 1992, 1992 Proceedings of the IEEE Custom Integrated Circuits Conference.

[41]  Wen-Jong Fang,et al.  Performance-driven multi-FPGA partitioning using functional clustering and replication , 1998, DAC.

[42]  Jean Vuillemin,et al.  Programmable Active Memories: A Performance Assessment , 1992, Heinz Nixdorf Symposium.

[43]  Joseph Varghese,et al.  An efficient logic emulation system , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[44]  Scott Hauck,et al.  The roles of FPGAs in reprogrammable systems , 1998, Proc. IEEE.

[45]  Martine D. F. Schlag,et al.  Spectral-Based Multi-Way FPGA Partitioning , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[46]  Ian Kaplan,et al.  A reconfigurable logic machine for fast event-driven simulation , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[47]  Naveed A. Sherwani,et al.  Algorithms for VLSI Physical Design Automation , 1999, Springer US.

[48]  Pierre Marchal,et al.  Field-programmable gate arrays , 1999, CACM.

[49]  Anant Agarwal,et al.  Software Technologies for Reconfigurable Systems , 1996 .

[50]  STEPHEN WALTERS,et al.  Computer-aided prototyping for ASIC-based systems , 1991, IEEE Design & Test of Computers.

[51]  Ming Wang,et al.  Hardware emulation for functional verification of K5 , 1996, DAC '96.

[52]  Martin D. F. Wong,et al.  Board-level multi-terminal net routing for FPGA-based logic emulation , 1995, ICCAD.

[53]  David E. van den Bout,et al.  AnyBoard: an FPGA-based, reconfigurable system , 1992, IEEE Design & Test of Computers.

[54]  M. Butts Future directions of dynamically reprogrammable systems , 1995, Proceedings of the IEEE 1995 Custom Integrated Circuits Conference.

[55]  Carl Ebeling,et al.  PathFinder: A Negotiation-Based Performance-Driven Router for FPGAs , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[56]  David M. Lewis,et al.  A field programmable accelerator for compiled-code applications , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[57]  Mark Shand,et al.  Programmable active memories: reconfigurable systems come of age , 1996, IEEE Trans. Very Large Scale Integr. Syst..

[58]  TingTing Hwang,et al.  Net assignment for the FPGA-based logic emulation system in the folded-Clos network structure , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[59]  R. Terrill A 50,000-gate MCM-based PLD for gate array prototyping , 1995, Proceedings of the IEEE 1995 Custom Integrated Circuits Conference.

[60]  Anant Agarwal,et al.  Logic emulation with virtual wires , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[61]  Anant Agarwal,et al.  Virtual wires: overcoming pin limitations in FPGA-based logic emulators , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[62]  Jonathan Rose,et al.  A hybrid complete-graph partial-crossbar routing architecture for multi-FPGA systems , 1998, FPGA '98.

[63]  Jonathan Rose,et al.  Experimental Ev alua-tion of Mesh and Partial Crossbar Routing Architec-tures for Multi-FPGA Systems , 1997 .

[64]  Jonathan Rose,et al.  The Transmogrifier-2: a 1 million gate rapid prototyping system , 1997, FPGA '97.

[65]  Jonathan Rose,et al.  The Effect of Fixed I/O Pin Positioning on The Routability and Speed of FPGAs , 1995 .