Page 262 - Mechanical Engineers' Handbook (Volume 2)
P. 262

12 Programmable Interconnects  251

            11 PROGRAMMABLE I/O BLOCKS
                           An I/O interface block is peripheral logic built to interface the chip to external devices
                           through its package pins. The term programmable indicates that the pins can be programmed
                           for a wide variety of I/O standards such as an input, output, or bidirectional. In state-of-the-
                           art FPGA devices, these I/O resources are typically grouped into banks. The compatibility
                           of these standards is based on the standard’s supply and reference voltage requirements. In
                           complicated designs that use more than one standard, complications arise that lead to con-
                           strained I/O pad placement issues, such as not being able to place certain I/O pads in the
                           same bank. This is a real problem if there is only one bank in the design. Current FPGAs
                           support several I/O standards. For example, some standards require use of a differential
                           amplifier input. With this standard, the external reference voltage must be applied to the
                           amplifier. This is an advantage in that it reduces the I/O voltages swings, which allows for
                           faster switching. Another standard may require a power supply for the I/O blocks. Figure
                           13 illustrates some standard requirements and an I/O bank layout.
                              Multiple functionality of I/O resources is important because the number of pins avail-
                           able is limited by the size of the device package. Input/output block (IOB) paths will be
                           placed close to the device I/O pins to overcome issues at input and output. At output, long
                           delays from internal logic block outputs to the IOBs make it difficult to connect at very high
                           clock rates to external synchronous systems. External system setup and hold time issues
                           occur if there are long delays from the I/O pins to the logic block inputs if the external
                           inputs are clocked directly into the logic block FFs without being captured initially by a FF
                           at the IOB pin. A simplified I/O block configuration is shown in Fig. 14.


            12   PROGRAMMABLE INTERCONNECTS

                           The logic blocks in an FPGA are arranged in rows and columns. The number of rows and
                           columns must be equal. Communication among the logic blocks and the I/O cells is typically
                           done through a programmable interconnect network consisting of many wires organized into
                           channels in both the horizontal and vertical directions. Connections between the intersections
                           of the wires (horizontal and vertical) are made at programmable interconnect points (PIPs),
                           sometimes referred to as switch blocks. These points are controlled by writing the configu-
                           ration RAM, same as with the logic blocks. Wire segments in the programmable interconnect
                           network are bounded by these PIPs and are considered to be either global or local routing



                                                       V ref     V cco
                             I/O Standard  Direction  Requirement Requirement
                                                                                 Bank 0  Bank 1
                            Peripheral      Input     Not req.    3.3 V
                            component      Output     Not req.    3.3 V
                            interface (PCI)  Bidirectional  Not req.  3.3 V   Bank 7             Bank 2
                            Gunning         Input      0.8 V     Not req.
                            transceiver    Output     Not req.   Not req.
                            logic (GTL)  Bidirectional  0.8 V     Not req.
                            High-speed      Input     0.75 V     Not req.     Bank 6             Bank 3
                            transceiver    Output     Not req.    1.5 V
                            logic class I  Bidirectional  0.75 V  1.5 V         Bank 5  Bank 4
                            (HSTL I)

                           Figure 13 Some I/O standard voltage requirements (left) and organization of Virtex-E FPGA (right). 2
   257   258   259   260   261   262   263   264   265   266   267