Computer Science 294-7 Lecture #13
Interconnect


Notes by Varghese George

1.0 FPGA Model

Fig 1.1 shows the Toronto Symmetric FPGA model used.

Fig. 1.1 Symmetric FPGA Model

The logic blocks (L block) connect to the horizontal and vertical channels using a connection block (C block). Connections are switched at the intersection of horizontal and vertical channels by a switch block (S block).

1.1 Parameterization

The different parameters of this model are

Fig. 1.2 Connections

1.2 Formulation

The steps followed are
  1. Pack the logic blocks into minimal sized array
  2. Global routing is done to obtain the channel width (W) which can provide full routing for this array
  3. Fs and Fc are varied to obtain good routability

1.3 Channel width


The result from Donath gives the average routing length. This is substituted into the equation from El Gamal to obtain

1.4 Connection sides

T = 2 was found to be better as far as the number of tracks is concerned. For T > 2 the improvement was negligible.
Some points to be noted in this aspect are

Fig 1.3 L block connections for T=2

1.5 What switches do we need ?

Assume Fc = W , each input needs to connect to one of wires on each of the three adjacent channels.

Types of switches

1.5.1 Universal switch box

The universal switch box can connect any set of inputs to their target output channels simulataneusly. It provides adequate switching to make any routes which do not exceed the channel capacity, assuming Fc = W.

Fig. 1.4 Universal switch box

This can be built with Fs = 3 (6W switches)

1.5.2 Xilinx switch box

It is 6W switches, but is not universal.

Fig. 1.5 Xilinx switch box

1.5.3 Brown and Rose

Brown and Rose use an antisymmetric switch box, which is close, but not exactly a Universal switch box.

1.5.4 Comparison

Asymptotically, the Universal switch box routes 25% more connections as compared the Xilinx switch box. Fig. 1.5.3 illustrates a routing example which is not possible with the Xilinx switch box.

Fig. 1.6 Routing possible with Universal, but not Xilinx

1.6 Depopulating input connections

By exploiting the functional equivalence of the LUT inputs, it can be shown that for a k-LUT, and channel width of W, only W-k+1 connections are needed per input.

Fig. 1.7

Eg. W = 10, k = 4, gives Fc = 7 (Fc = 8 on average when include fully populated output).
This gives us the guaranteed routing values of
Fs = 3
Fc = W - k + 1 (inputs)
Fc = W (outputs)

2.0 Experimental Results

The details of the benchmark circuits used are given,

Fig. 2.1 and Fig. 2.2 gives the results.

Fig. 2.1 Percent completion versus Fs for the circuit BNRE


Fig. 2.2 Average Fc/W for 100% completion versus Fs

2.1 Reccomendations

Based on the results the following conclusions are derived Note the following

3.0 Segmented Routing

The previous model is revised to include segments

Fig. 3.1 Segmented Routing

3.1 Results


Fig. 3.2 Average path length versus segmentation

According to this result there does not seem to be any benefit to using wires longer than 4. A point to note is that the above result is in terms of the average interconnect length, not the critical path length.

4.0 The Xilinx routing

If you look at the Xilinx 4K routing, you will notice

Fig. 4.1 Xilinx 4K routing

Fig. 4.2 gives the number of switches/LUT ofr the XC4000 series

Fig. 4.2 Xilinx 4K switches

For the XC4000E it is approximately 300, and for the XC4000EX, 550.

5.0 Hierarchical FPGA

A model similar to that used in the previous class is used here.

Fig. 5.1 Hierarchical FPGA


Fig. 5.2

Calculating the flexibility required to guarantee routing

5.1 Experimental Result

Aggarwal and Lewis did a study to determine the switch depopulation possible with hierarchical FPGAs (HFPGA), while mantaining 100% routability. The results from their empirical experiments suggests Note

6.0 Summary

We looked at

References

  1. Aditya A. Agarwal and David Lewis. Routing Architectures for Hierarchical Field Programmable Gate Arrays. In Proceedings 1994 IEEE International Conference on Computer Design, pages 475--478. IEEE, October 1994.
  2. Jonathan Rose and Stephen Brown. Flexibility of Interconnection Structures for Field-Programmable Gate Arrays. IEEE Journal of Solid-State Circuits, 26(3):277--282, March 1991.
  3. XC4000 Series Field Programmable Gate Arrays, pages 4-{5-6} and 4-{31-40}.
  4. FLEX10K Embedded Programmable Logic Family Data Sheet, ver. 2, pages 31, 40, 51-54, 63-65, 69-70, 72, and 75.
  5. Vi Cuong Chan and David M. Lewis. Area-Speed Tradeoffs for Hierarchical Field-Programmable Gate Arrays. In Proceedings of the 1996 International Symposium on Field-Programmable Gate Arrays, pages 51--57. ACM/SIGDA, February, 1996.
  6. Yao-Wen Chang and D. F. Wong and C. K. Wong. Universal Switch-Module Design for Symmetric-Array-Based FPGAs. In Proceedings of the 1996 International Symposium on Field-Programmable Gate Arrays, pages 80--86. ACM/SIGDA, February, 1996.
  7. Muhammad Khellah, Stephen Brown, and Zvonko Vranesic, "Minimizing Interconnection Delays in Array-based FPGAs," In Proceedings of the 1994 Custom Integrated Circuits Conference, pages 181-184, San Diego CA, May 1994. [PS]
  8. Stephen D. Brown, Robert J. Francis, Jonathan Rose, and Zvonko G. Vranesic. Field-Programmable Gate Arrays. Kluwer Academic Publishers, 101 Philip Drive, Assinippi Park, Norwell, Massachusetts, 02061 USA, 1992.
  9. André DeHon. Entropy, Counting, and Programmable Interconnect. (Shorter version in FPGA'96). [HTML] [TR PS] n.b. The switching requirements for the m choose k switching block (which seemed to confuse people in lecture) is detailed in the appendix in this TR.

Back to main page