The design of a SRAM-based field-programmable gate array—part II: circuit design and layout

  • Authors:
  • Paul Chow;Soon Ong Seo;Jonathan Rose;Kevin Chung;Gerard Páez-Monzón;Immanuel Rahardja

  • Affiliations:
  • Univ. of Toronto, Toronto, Ont., Canada;ATI Technologies, Thornhill, Ont., Canada;Univ. of Toronto, Toronto, Ont., Canada;Xilinx Toronto Development Centre, Toronto, Ont., Canada;Univ. de Los Andes-Venezuela, Mérida-Mérida;Aristo Technology, Inc., Cuppertino, CA

  • Venue:
  • IEEE Transactions on Very Large Scale Integration (VLSI) Systems
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

For Pt.I see ibid., vol.7, pp.191-7 (1999). Field-programmable gate arrays (FPGA's) are now widely used for the implementation of digital systems, and many commercial architectures are available. Although the literature and data books contain detailed descriptions of these architectures, there is very little information on how the high-level architecture was chosen and no information on the circuit-level or physical design of the devices. In Part I of this paper, we described the high-level architectural design of a static random-access memory programmable FPGA. This paper will address the circuit-design issues through to the physical layout. We address area-speed tradeoffs in the design of the logic block circuits and in the connections between the logic and the routing structure. All commercial FPGA designs are done using full-custom hand layout to obtain absolute minimum die sizes. This is both labor and time intensive. We propose a design style with a minitile that contains a portion of all the components in the logic tile, resulting in less full-custom effort. The minitile is replicated in a 4/spl times/4 array to create a macro tile. The minitile is optimized for layout density and speed, and is customized in the array by adding appropriate vias. This technique also permits easy changing of the hard-wired connections in the logic block architecture and the segmentation length distribution in the routing architecture.