Area optimizations in fpga architecture and cad

Field programmable gate arrays (FPGAs) are an increasingly popular implementation medium for digital circuits. An FPGA is a prefabricated piece of silicon that can be configured by the user to implement any digital circuit. This ability enables them to offer two key advantages over other implementation technologies: low cost and fast time-to-market. However, the flexibility they offer comes at a steep price. Circuits implemented in FPGAs are three times slower and ten times larger than an equivalent circuit implemented using standard cells or mask programmed gate arrays. This dissertation presents area optimizations in FPGA architecture and CAD. The primary focus is on a new area efficient adaptive FPGA (AFPGA) architecture. An AFPGA is obtained from an FPGA by replacing a fraction of the configuration SRAM with adaptive SRAM whose functionality changes in response to changes in a control signal. Adaptive programmable structures (logic elements, multiplexers, and routing switches) are produced wherever adaptive SRAM is used, and the resulting structures can be shared by two subcircuits that are not required to "exist" simultaneously. To support the new architecture, a new CAD flow is proposed and a set of CAD tools are developed. A step called adaptation is introduced after technology mapping, but before packing, and helps identify subcircuits that can share a set of adaptive resources. Adaptation is shown to reduce circuit size by 28%. The packing problem for AFPGAs is shown to be quite different from FPGAs, and a new packing algorithm is developed. Finally, a tool that estimates the effects of clustering, placement, and routing on an AFPGA circuit is developed, and is used in conjunction with an area model to determine the area benefits of AFPGAs. Using the tool, AFPGAs are shown to reduce area by 8--14% compared to a similar FPGA architecture for cluster sizes with between 4 and 10 BLEs per cluster. A secondary focus is on the area efficiency of the technology mapping step in a traditional FPGA CAD flow. An iterative technology mapping algorithm is presented, and is shown to produce depth optimal solutions that are 12--18% smaller than those produced by two leading academic technology mappers. Furthermore, the algorithm is shown to produce solutions that are 8--14% smaller than those produced by optimal duplication free mapping.

[1]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[2]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[3]  Taewhan Kim,et al.  Arithmetic optimization using carry-save-adders , 1998, DAC.

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

[5]  D. Jones,et al.  A time-multiplexed FPGA architecture for logic emulation , 1995, Proceedings of the IEEE 1995 Custom Integrated Circuits Conference.

[6]  Jonathan Rose,et al.  Technology mapping of lookup table-based FPGAs for performance , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[7]  Malgorzata Marek-Sadowska,et al.  Partitioning Sequential Circuits on Dynamically Reconfigurable FPGAs , 1999, IEEE Trans. Computers.

[8]  Yahiko Kambayashi,et al.  The Transduction Method-Design of Logic Networks Based on Permissible Functions , 1989, IEEE Trans. Computers.

[9]  Elizabeth M. Rudnick,et al.  Static logic implication with application to redundancy identification , 1997, Proceedings. 15th IEEE VLSI Test Symposium (Cat. No.97TB100125).

[10]  Michael H. Schulz,et al.  SOCRATES: a highly efficient automatic test pattern generation system , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  André DeHon,et al.  DPGA Utilization and Application , 1996, Fourth International ACM Symposium on Field-Programmable Gate Arrays.

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

[13]  Louise Trevillyan,et al.  Global flow optimization in automatic logic design , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[14]  Michael Bolotski Andr,et al.  Unifying FPGAs and SIMD Arrays , 1994 .

[15]  Philip R. Moorby,et al.  The Verilog Hardware Description Language, 5th Edition , 2002 .

[16]  Chih-Liang Eric Cheng RISA: accurate and efficient placement routability modeling , 1994, ICCAD.

[17]  Jason Cong,et al.  DAG-Map: graph-based FPGA technology mapping for delay optimization , 1992, IEEE Design & Test of Computers.

[18]  André DeHon,et al.  Dynamically Programmable Gate Arrays: A Step Toward Increased Computational Density , 1996 .

[19]  Vaughn Betz,et al.  A fast routability-driven router for FPGAs , 1998, FPGA '98.

[20]  Jason Cong,et al.  Structural gate decomposition for depth-optimal technology mapping in LUT-based FPGA designs , 2000, TODE.

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

[22]  Richard M. Karp,et al.  Minimization Over Boolean Graphs , 1962, IBM J. Res. Dev..

[23]  Alberto Sangiovanni-Vincentelli,et al.  Logic synthesis for vlsi design , 1989 .

[24]  Malgorzata Marek-Sadowska,et al.  Perturb and simplify: multi-level boolean network optimizer , 1994, ICCAD.

[25]  Clifford Stein,et al.  Introduction to Algorithms, 2nd edition. , 2001 .

[26]  Vaughn Betz,et al.  Architecture and CAD for Deep-Submicron FPGAS , 1999, The Springer International Series in Engineering and Computer Science.

[27]  Robert K. Brayton,et al.  Timing optimization of combinational logic , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.

[28]  Jason Cong,et al.  Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[29]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000, Softw. Pract. Exp..

[30]  Kamal Chaudhary,et al.  Performance-oriented fully routable dynamic architecture for a field programmable logic dervice , 1993 .

[31]  Malgorzata Marek-Sadowska,et al.  Efficient circuit clustering for area and power reduction in FPGAs , 2002, FPGA '02.

[32]  Yao-Wen Chang,et al.  A clustering- and probability-based approach for time-multiplexed FPGA partitioning , 1998, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[33]  Jonathan Rose,et al.  Architecture of field-programmable gate arrays: the effect of logic block functionality on area efficiency , 1990 .

[34]  Vaughn Betz,et al.  Cluster-based logic blocks for FPGAs: area-efficiency vs. input sharing and size , 1997, Proceedings of CICC 97 - Custom Integrated Circuits Conference.

[35]  Hideo Fujiwara,et al.  On the Acceleration of Test Generation Algorithms , 1983, IEEE Transactions on Computers.

[36]  Kwang-Ting Cheng,et al.  Multi-level logic optimization by redundancy addition and removal , 1993, 1993 European Conference on Design Automation with the European Event in ASIC Design.

[37]  Robert K. Brayton,et al.  Extracting local don't cares for network optimization , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[38]  Majid Sarrafzadeh,et al.  RPack: routability-driven packing for cluster-based FPGAs , 2001, ASP-DAC '01.

[39]  Jonathan Rose,et al.  Chortle-crf: fast technology mapping for lookup table-based FPGAs , 1991, 28th ACM/IEEE Design Automation Conference.

[40]  Jason Cong,et al.  Structural gate decomposition for depth-optimal technology mapping in LUT-based FPGA design , 1996, DAC '96.

[41]  Don MacMillen,et al.  ISIS: a system for performance driven resource sharing , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[42]  Jonathan Rose,et al.  Mixing buffers and pass transistors in FPGA routing architectures , 2001, FPGA '01.

[43]  Jason Cong,et al.  On Area/Depth Trade-off in LUT-Based FPGA Technology Mapping , 1993, 30th ACM/IEEE Design Automation Conference.

[44]  Chak-Kuen Wong,et al.  Universal switch modules for FPGA design , 1996, TODE.

[45]  Donald L. Dietmeyer,et al.  Logic Design Automation of Fan-In Limited NAND Networks , 1969, IEEE Transactions on Computers.

[46]  Vaughn Betz,et al.  Timing-driven placement for FPGAs , 2000, FPGA '00.

[47]  Jason Cong,et al.  On area/depth trade-off in LUT-based FPGA technology mapping , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[48]  Steven Trimberger,et al.  A time-multiplexed FPGA , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[49]  Robert K. Brayton,et al.  Topologically constrained logic synthesis , 2002, IWLS.

[50]  Vaughn Betz,et al.  Using cluster-based logic blocks and timing-driven packing to improve FPGA speed and density , 1999, FPGA '99.

[51]  Sharad Malik,et al.  Guarded evaluation: pushing power management to logic synthesis/design , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[52]  Jason Cong,et al.  Combinational logic synthesis for LUT based field programmable gate arrays , 1996, TODE.

[53]  Martin D. F. Wong,et al.  Circuit partitioning for dynamically reconfigurable FPGAs , 1999, FPGA '99.

[54]  Steven J. E. Wilton,et al.  Architectures and algorithms for field-programmable gate arrays with embedded memory , 1997 .

[55]  Vaughn Betz,et al.  The stratixπ routing and logic architecture , 2003, FPGA '03.

[56]  Majid Sarrafzadeh,et al.  Complexity of the lookup-table minimization problem for FPGA technology mapping , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[57]  Jason Cong,et al.  Placement-driven technology mapping for LUT-based FPGAs , 2003, FPGA '03.

[58]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[59]  Vaughn Betz,et al.  FPGA routing architecture: segmentation and buffering to optimize speed and density , 1999, FPGA '99.

[60]  Ernest S. Kuh,et al.  Performance-Oriented Fully Routable Dynamic Architecture for a Field , 1993 .

[61]  Michael Chan,et al.  CycloneTM: A Low-Cost, High-Performance FPGA , 2005 .

[62]  Deshanand Singh,et al.  Techniques for timing closure on high-speed field programmable gate arrays , 2003 .

[63]  Martine D. F. Schlag,et al.  Routability-driven technology mapping for lookup table-based FPGAs , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[64]  Martine D. F. Schlag,et al.  Empirical evaluation of multilevel logic minimization tools for a lookup-table-based field-programmable gate array technology , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[65]  Stephen D. Brown,et al.  Flexibility of interconnection structures for field-programmable gate arrays , 1991 .

[66]  Vishwani D. Agrawal,et al.  A transitive closure algorithm for test generation , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[67]  Jason Cong,et al.  RASP: A General Logic Synthesis System for SRAM-Based FPGAs , 1996, Fourth International ACM Symposium on Field-Programmable Gate Arrays.

[68]  Jason Cong,et al.  An optimal technology mapping algorithm for delay optimization in lookup-table based FPGA designs , 1992, ICCAD.

[69]  Jason Cong,et al.  Cut ranking and pruning: enabling a general and efficient FPGA mapping solution , 1999, FPGA '99.

[70]  J. Rose,et al.  The effect of LUT and cluster size on deep-submicron FPGA performance and density , 2000, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[71]  Donald E. Thomas,et al.  The Verilog® Hardware Description Language , 1990 .

[72]  M. F.,et al.  Bibliography , 1985, Experimental Gerontology.

[73]  Sze-Tsen Hu ON THE DECOMPOSITION OF SWITCHING FUNCTIONS , 1961 .

[74]  Steven Trimberger,et al.  Scheduling designs into a time-multiplexed FPGA , 1998, FPGA '98.

[75]  Janusz Rajski,et al.  A method to calculate necessary assignments in algorithmic test pattern generation , 1990, Proceedings. International Test Conference 1990.

[76]  Martin D. F. Wong,et al.  Edge-map: Optimal Performance Driven Technology Mapping for Iterative Lut Based Fpga Designs , 1994, IEEE/ACM International Conference on Computer-Aided Design.

[77]  Dave Allen Automatic One-Hot Re-Encoding for FPLs , 1992, FPL.

[78]  Ron Y. Pinter,et al.  Realizing expression graphs using table-lookup FPGAs , 1993, Proceedings of EURO-DAC 93 and EURO-VHDL 93- European Design Automation Conference.