14.08.2013 Views

Programmable Logic and Application Specific Integrated Circuits

Programmable Logic and Application Specific Integrated Circuits

Programmable Logic and Application Specific Integrated Circuits

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

up table capable of generating any Boolean function of four variables, or two functions of three<br />

variables. The routing architecture uses three resource types: direct connection, general purpose<br />

interconnect, <strong>and</strong> longlines. Direct connection lines are used to interconnect a CLB with adjacent<br />

CLBs or I/O blocks either above, below, or to the right. General purpose interconnects are used<br />

for connections which span more than one CLB. There are four horizontal <strong>and</strong> five vertical<br />

general purpose interconnect lines between the array rows <strong>and</strong> columns, respectively. Each<br />

segment runs only the length of a CLB, then enters a switch matrix which provides programmable<br />

connections to adjoining row or column general purpose interconnects. Finally, each horizontal<br />

wiring channel has one longline <strong>and</strong> each vertical wiring channel has two long lines which span<br />

the entire array. These longlines bypass the switch matrices <strong>and</strong> are intended for global signals<br />

(e.g. clocks), or other signals which must have minimum skew at multiple fan-out points.<br />

In the second generation XC3000 family the logic block (CLB) is exp<strong>and</strong>ed <strong>and</strong> additional<br />

routing resources are provided. The CLB can implement any Boolean function of five variables or<br />

two functions of four variables. Two D-type flip-flops are now provided to latch both cell outputs<br />

if required. The routing architecture is similar to the XC2000 family except that each resource<br />

type has been enhanced: direct connections are now permitted to all nearest neighbors, an extra<br />

wiring segment is added to the horizontal general purpose interconnect, <strong>and</strong> an additional longline<br />

is added to both the horizontal <strong>and</strong> vertical channels.<br />

Compared to its predecessors, the XC4000 family adds another level of evolutionary<br />

improvements to the basic Xilinx architecture. Greater logic capacity per CLB is achieved using a<br />

two-level look-up table as illustrated in Figure 12. The 13 input <strong>and</strong> four output CLB can generate<br />

any of the following combinatorial logic functions: two independent functions of up to four<br />

variables, any single function of five variables, any function of four variables together with some<br />

functions of five variables, or some functions of up to 9 variables. Compared to earlier families,<br />

the routing resources of the XC4000 family have been more than doubled. The number of globally<br />

distributed signals has increased from two to eight, <strong>and</strong> there are twice as many horizontal <strong>and</strong><br />

vertical long lines. The number of wiring segments has also more than doubled, <strong>and</strong> CLB<br />

connectivity is improved by allowing most CLB pins to connect to a high percentage of the wiring<br />

segments. However, the switch matrix connectivity was reduced to 50% of that of the XC3000<br />

family. Justification for these changes in routing resources is supported by the research of Rose<br />

<strong>and</strong> Brown. 15 They concluded from place <strong>and</strong> route experiments with multiple designs that FPGA<br />

connection blocks need high flexibility to achieve a high percentage of routing completion, <strong>and</strong> that<br />

relatively low flexibility is needed in the switch blocks.<br />

Figure 13, page 2-21, 1994 Xilinx Data Book<br />

24

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!