Presentation is loading. Please wait.

Presentation is loading. Please wait.

Digital Design Copyright © 2006 Frank Vahid 1 FPGA Internals: Lookup Tables (LUTs) Basic idea: Memory can implement combinational logic –e.g., 2-address.

Similar presentations


Presentation on theme: "Digital Design Copyright © 2006 Frank Vahid 1 FPGA Internals: Lookup Tables (LUTs) Basic idea: Memory can implement combinational logic –e.g., 2-address."— Presentation transcript:

1 Digital Design Copyright © 2006 Frank Vahid 1 FPGA Internals: Lookup Tables (LUTs) Basic idea: Memory can implement combinational logic –e.g., 2-address memory can implement 2-input logic –1-bit wide memory – 1 function; 2-bits wide – 2 functions Such memory in FPGA known as Lookup Table (LUT) ( b )( a ) ( d ) F = x'y' + xy G = xy' x 0 0 1 1 y 0 1 0 1 F 1 0 0 1 G 0 0 1 0 F = x'y' + xy x 0 0 1 1 y 0 1 0 1 F 1 0 0 1 4x1 Mem. 0 1 2 3 rd a1 a0 y x D F 4x1 Mem. 1 0 0 1 0 1 2 3 rd a1 a0 1 D ( c ) 1 0 0 1 y=0 x=0 F=1 4x2 Mem. 10 00 01 10 0 1 2 3 rd a1 a0 1 x y D1D0 FG ( e ) a a a a

2 Digital Design Copyright © 2006 Frank Vahid 2 FPGA Internals: Lookup Tables (LUTs) Example: Seat-belt warning light (again) k p s w BeltWarn ( a ) ( b ) k 0 0 0 0 1 1 1 1 p 0 0 1 1 0 0 1 1 s 0 1 0 1 0 1 0 1 w 0 0 0 0 0 0 1 0 Programming (seconds) Fab 1-3 months a a ( c ) 8x1 Mem. D w I C 0 1 2 3 4 5 6 7 a2 a1 a0 k p s

3 Digital Design Copyright © 2006 Frank Vahid 3 8x2Mem. D0D1 0 3 4 5 6 7 a2 a1 a0 a b c ( c ) ( a ) ( b ) 8x2Mem. D0D1 0 1 2 3 4 5 a2 a1 a0 a c b a c b d d e e F F t 3 3 1 1 2 2 FPGA Internals: Lookup Tables (LUTs) LUT typically has 2 (or more) outputs, not just one Example: Partitioning a circuit among 3-input 2-output lookup tables 00 00 00 00 00 00 00 01 First column unused; second column implements AND F e d 00 10 00 10 00 10 10 10 t Second column unused; first column implements AND/OR sub-circuit (Note: decomposed one 4- input AND input two smaller ANDs to enable partitioning into 3-input sub-circuits) a a 1 2 6 7

4 Digital Design Copyright © 2006 Frank Vahid 4 8x2Mem. 00 D0D1 0 1 2 3 4 5 6 7 a2 a1 a0 P1 P0 P6 P7 P8 P9 P2 P3 P5 P4 ( a ) 8x2Mem. 00 D0D1 0 1 2 3 4 5 6 7 a2 a1 a0 m0 m1 o0 o1 m2 m3 Switch matrix FPGA (partial) FPGA Internals: Switch Matrices Previous slides had hardwired connections between LUTs Instead, want to program the connections too Use switch matrices (also known as programmable interconnect) –Simple mux-based version – each output can be set to any of the four inputs just by programming its 2-bit configuration memory ( b ) m0 o0 o1 i0 s0 d s1 i1 i2 i3 m1 m2 m3 2-bit memory 2-bit memory Switch matrix 4x1 mux i0 s0 d s1 i1 i2 i3 4x1 mux a a

5 Digital Design Copyright © 2006 Frank Vahid 5 8x2Mem. 10 01 00 D0D1 0 1 2 3 4 5 6 7 a2 a1 a0 0 0 d3 d2 d1 d0 i1 i0 i1 ( a ) 8x2Mem. 00 10 01 00 D0D1 0 1 2 3 4 5 6 7 a2 a1 a0 m0 m1 o0 o1 m2 m3 Switch matrix FPGA (partial) 10 11 10 11 FPGA Internals: Switch Matrices Mapping a 2x4 decoder onto an FPGA with a switch matrix ( b ) m0 o0 o1 i0 s0 d s1 i1 i2 i3 m1 m2 m3 Switch matrix 4x1 mux i0 s0 d s1 i1 i2 i3 4x1 mux These bits establish the desired connections a

6 Digital Design Copyright © 2006 Frank Vahid 6 FPGA Internals: Switch Matrices Mapping the extended seatbelt warning light onto an FPGA with a switch matrix –Recall earlier example (let's ignore d input for simplicity) 8x2Mem. 00 00 00 00 00 00 01 00 D0D1 0 1 2 3 4 5 6 7 a2 a1 a0 k 0 w p s 0 t ( a )( b ) 8x2Mem. 00 01 01 01 00 D0D1 0 1 2 3 4 5 6 7 a2 a1 a0 m0 m1 o0 o1 m2 m0 o0 o1 i0 s0 d s1 i1 i2 i3 m1 m2 m3 Switch matrix FPGA (partial) 00 10 Switch matrix 4x1 mux i0 s0 d s1 i1 i2 i3 4x1 mux 00 10 k p s t d x w BeltWarn a x

7 Digital Design Copyright © 2006 Frank Vahid 7 FPGA Internals: Overall Architecture Consists of hundreds or thousands of CLBs and switch matrices (SMs) arranged in regular pattern on a chip CLB SM CLB Represents channel with tens of wires Connections for just one CLB shown, but all CLBs are obviously connected to channels

8 8


Download ppt "Digital Design Copyright © 2006 Frank Vahid 1 FPGA Internals: Lookup Tables (LUTs) Basic idea: Memory can implement combinational logic –e.g., 2-address."

Similar presentations


Ads by Google