A Detailed Routing Algorithm for Allocating Wire Segments in Field-Programmable Gate Arrays

This paper describes a new detailed routing algorithm that has been designed specifically for the types of routing architectures that are found in the most recent generation of Field-Programmable Gate Arrays (FPGAs). The router is intended for FPGAs that fit within the symmetrical category, which means that the architecture consists of rows and columns of logic cells with both vertical and horizontal routing channels. The routing algorithm, called SEGA, is unique in that it focuses on not only the issue of achieving successful routing of 100 percent of the required connections for a circuit, but also addresses the allocation of wire segments to connections in a way that matches the lengths of the segments to the lengths of the connections. The implementation of the SEGA program is designed in a way that supports a wide range of routing architectures, making the algorithm useful as a research vehicle for exploring new architectures for future FPGAs. SEGA has been used to obtain excellent routing results over a set of several benchmark circuits. The results show that the algorithm can route all of the circuits tested in very close to the theoretical minimum number of routing tracks per channel. In addition, SEGA has been shown to adeptly allocate the wire segments in a segmented FPGA according to the lengths of connections. More specifically, the router does a good job of limiting the number of segments used for long connections and the length of segments assigned to short connections.

[1]  P. Alfke,et al.  Third-Generation Architecture Boosts Speed And Density Of Field-Programmable Gate Arrays , 1991, Electro International, 1991.

[2]  Jonathan Rose,et al.  A detailed router for field-programmable gate arrays , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[3]  J. Soukup Circuit layout , 1981, Proceedings of the IEEE.

[4]  A. Hashimoto,et al.  Wire routing by optimizing channel assignment within large apertures , 1971, DAC '71.

[5]  Mikael Palczewski Plane parallel A* maze router and its application to FPGAs , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[6]  Stephen D. Brown,et al.  The effect of switch box flexibility on routability of field programmable gate arrays , 1990, IEEE Proceedings of the Custom Integrated Circuits Conference.

[7]  Jonathan Rose,et al.  A Detailed Router for Field-Programmable Gate , 1992 .

[8]  Bryan D. Ackland,et al.  Physical Design Automation of Vlsi Systems , 1988 .

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

[10]  A. El Gamal,et al.  An FPGA family optimized for high densities and reduced routing delay , 1990, IEEE Proceedings of the Custom Integrated Circuits Conference.

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

[12]  Jon Frankle,et al.  Iterative and adaptive slack allocation for performance-driven layout and FPGA routing , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

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

[14]  A. El Gamal,et al.  An architecture for electrically configurable gate arrays , 1988, Proceedings of the IEEE 1988 Custom Integrated Circuits Conference.

[15]  M. Mehendale,et al.  Optimization Of Channel Segmentation For Channelled Architecture FPGAs , 1992, 1992 Proceedings of the IEEE Custom Integrated Circuits Conference.

[16]  Jonathan Rose Parallel global routing for standard cells , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  V. Roychowdhury,et al.  Segmented channel routing , 1990, 27th ACM/IEEE Design Automation Conference.