Penn ESE680-002 Spring2007 -- DeHon 1 ESE680-002 (ESE534): Computer Organization Day 11: February 14, 2007 Compute 1: LUTs.

Slides:



Advertisements
Similar presentations
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 14: March 19, 2014 Compute 2: Cascades, ALUs, PLAs.
Advertisements

Balancing Interconnect and Computation in a Reconfigurable Array Dr. André DeHon BRASS Project University of California at Berkeley Why you don’t really.
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day17: November 20, 2000 Time Multiplexing.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 21: April 2, 2007 Time Multiplexing.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 15: March 12, 2007 Interconnect 3: Richness.
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day10: October 25, 2000 Computing Elements 2: Cascades, ALUs,
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 23, 2008 Covering.
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day8: October 18, 2000 Computing Elements 1: LUTs.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 9: February 7, 2007 Instruction Space Modeling.
Penn ESE Fall DeHon 1 ESE (ESE534): Computer Organization Day 19: March 26, 2007 Retime 1: Transformations.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 13: February 26, 2007 Interconnect 1: Requirements.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 26: April 18, 2007 Et Cetera…
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 4: January 22, 2007 Memories.
CS294-6 Reconfigurable Computing Day 2 August 27, 1998 FPGA Introduction.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 10: February 12, 2007 Empirical Comparisons.
CS294-6 Reconfigurable Computing Day 14 October 7/8, 1998 Computing with Lookup Tables.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 23: April 9, 2007 Control.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 18: March 21, 2007 Interconnect 6: MoT.
Penn ESE Spring DeHon 1 FUTURE Timing seemed good However, only student to give feedback marked confusing (2 of 5 on clarity) and too fast.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 5: January 24, 2007 ALUs, Virtualization…
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 12: February 21, 2007 Compute 2: Cascades, ALUs, PLAs.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 13: February 4, 2005 Interconnect 1: Requirements.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 15: February 12, 2003 Interconnect 5: Meshes.
ESE Spring DeHon 1 ESE534: Computer Organization Day 19: April 7, 2014 Interconnect 5: Meshes.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 11: March 3, 2014 Instruction Space Modeling 1.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 9: February 24, 2014 Operator Sharing, Virtualization, Programmable Architectures.
CBSSS 2002: DeHon Costs André DeHon Wednesday, June 19, 2002.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 7: February 6, 2012 Memories.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 7: January 24, 2003 Instruction Space.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 18: February 18, 2005 Interconnect 6: MoT.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #4 – FPGA.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 16: February 14, 2003 Interconnect 6: MoT.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 18: April 2, 2014 Interconnect 4: Switching.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 5: February 1, 2010 Memories.
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day7: October 16, 2000 Instruction Space (computing landscape)
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day16: November 15, 2000 Retiming Structures.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 13: February 6, 2003 Interconnect 3: Richness.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 8: January 27, 2003 Empirical Cost Comparisons.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 21: April 4, 2012 Lossless Data Compression.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 10: January 31, 2003 Compute 2:
Penn ESE534 Spring DeHon 1 ESE534 Computer Organization Day 9: February 13, 2012 Interconnect Introduction.
Caltech CS184 Winter DeHon CS184a: Computer Architecture (Structure and Organization) Day 4: January 15, 2003 Memories, ALUs, Virtualization.
Lecture 17: Dynamic Reconfiguration I November 10, 2004 ECE 697F Reconfigurable Computing Lecture 17 Dynamic Reconfiguration I Acknowledgement: Andre DeHon.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 11: January 31, 2005 Compute 1: LUTs.
CBSSS 2002: DeHon Universal Programming Organization André DeHon Tuesday, June 18, 2002.
Penn ESE534 Spring DeHon ESE534: Computer Organization Day 14: March 12, 2012 Empirical Comparisons.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 13, 2013 High Level Synthesis II Dataflow Graph Sharing.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 11: February 20, 2012 Instruction Space Modeling.
ESE Spring DeHon 1 ESE534: Computer Organization Day 20: April 9, 2014 Interconnect 6: Direct Drive, MoT.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 8: February 19, 2014 Memories.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 22: April 16, 2014 Time Multiplexing.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 10: January 28, 2005 Empirical Comparisons.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 25: April 17, 2013 Covering and Retiming.
ESE534: Computer Organization
ESE534: Computer Organization
CS184a: Computer Architecture (Structure and Organization)
ESE534 Computer Organization
ESE532: System-on-a-Chip Architecture
CS184a: Computer Architecture (Structure and Organization)
ESE534: Computer Organization
ESE534: Computer Organization
ESE534: Computer Organization
ESE534: Computer Organization
ESE534: Computer Organization
CS184a: Computer Architecture (Structures and Organization)
ESE534: Computer Organization
ESE534: Computer Organization
CprE / ComS 583 Reconfigurable Computing
Presentation transcript:

Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 11: February 14, 2007 Compute 1: LUTs

Penn ESE Spring DeHon 2 Previously Instruction Space Modeling –huge range of densities –huge range of efficiencies –large architecture space –modeling to understand design space Empirical Comparisons –Ground cost of programmability

Penn ESE Spring DeHon 3 Today Look at Programmable Compute Blocks Specifically LUTs Today Recurring theme: –define parameterized space –identify costs and benefits –look at typical application requirements –compose results, try to find best point

Penn ESE Spring DeHon 4 Compute Function What do we use for “compute” function Any Universal –NANDx –ALU –LUT

Penn ESE Spring DeHon 5 Lookup Table Load bits into table –2 N bits to describe –  2 2 N different functions Table translation –performs logic transform

Penn ESE Spring DeHon 6 Lookup Table

Penn ESE Spring DeHon 7 We could... Just build a large memory = large LUT Put our function in there What’s wrong with that?

Penn ESE Spring DeHon 8 FPGA = Many small LUTs Alternative to one big LUT

Penn ESE Spring DeHon 9 Toronto FPGA Model

Penn ESE Spring DeHon 10 What’s best to use? Small LUTs Large Memories …small LUTs or large LUTs Continuum question: how big should our memory blocks used to perform computation be?

Penn ESE Spring DeHon 11 Start to Sort Out: Big vs. Small Luts Establish equivalence –how many small LUTs equal one big LUT?

Penn ESE Spring DeHon 12 “gates” in 2-LUT ?

Penn ESE Spring DeHon 13 How Much Logic in a LUT? Lower Bound? –Concrete: 4-LUTs to implement M-LUT? Not use all inputs? –0 … maybe 1 Use all inputs? –(M-1)/3 example M-input AND cover 4 ins w/ first 4-LUT, 3 more and cascade input with each additional (M-1)/k for K-lut

Penn ESE Spring DeHon 14 How much logic in a LUT? Upper Upper Bound: –M-LUT implemented w/ 4-LUTs –M-LUT  2 M-4 +(2 M-4 -1)  2 M-3 4-LUTs

Penn ESE Spring DeHon 15 How Much? Lower Upper Bound: –2 2 M functions realizable by M-LUT –Say Need n 4-LUTs to cover; compute n: strategy count functions realizable by each (2 2 4 ) n  2 2 M nlog(2 2 4 )  log(2 2 M ) n2 4 log(2)  2 M log(2) n2 4  2 M n  2 M-4

Penn ESE Spring DeHon 16 How Much? Combine – Lower Upper Bound –Upper Lower Bound –(number of 4-LUTs in M-LUT) 2 M-4  n  2 M-3

Penn ESE Spring DeHon 17 Memories and 4-LUTs For the most complex functions – an M-LUT has ~2 M-4 4-LUTs ◊SRAM 32Kx8 =0.6  m –170M 2 (21ns latency) –8*2 11 =16K 4-LUTs ◊XC3042 =0.6  m –180M 2 (13ns delay per CLB) –288 4-LUTs Memory is 50+x denser than FPGA –…and faster

Penn ESE Spring DeHon 18 Memory and 4-LUTs For “regular” functions? ◊15-bit parity –entire 32Kx8 SRAM –5 4-LUTs (2% of XC3042 ~ 3.2M 2 ~1/50th Memory) ◊7b Add –entire 32Kx8 SRAM –14 4-LUTs (5% of XC3042, 8.8M 2 ~1/20th Memory )

Penn ESE Spring DeHon 19 LUT + Interconnect Interconnect allows us to exploit structure in computation Consider addition: –N-input add takes 2N 3-LUTs one N-output (2N)-LUT –N×2 (2N) >> 2N×2 3 –N=16: 16×2 32 >> 2×16×2 3 –2 36 >> 2 8  factor of 2 28 =256 Million

Penn ESE Spring DeHon 20 LUT + Interconnect Interconnect allows us to exploit structure in computation Even if Interconnect was 99% of the area (100× logic area) –Would still be worth paying! –Add: N×2 (2N) >> 2N×(2 3 ×128) –N=16: 16×2 36 >> 2×16×2 10 =2 15 –  factor of 2 21 =2 Million Structure exploitation to avoid exponential costs is worth it!

Penn ESE Spring DeHon 21 Different Instance, Same Concept The most general functions are huge Applications exhibit structure –Typical functions not so complex Exploit structure to optimize “common” case

Penn ESE Spring DeHon 22 LUT Count vs. base LUT size

Penn ESE Spring DeHon 23 LUT vs. K DES MCNC Benchmark –moderately irregular

Penn ESE Spring DeHon 24 Toronto Experiments Want to determine best K for LUTs Bigger LUTs –handle complicated functions efficiently –less interconnect overhead Smaller LUTs –handle regular functions efficiently –interconnect allows exploitation of compute structure What’s the typical complexity/structure?

Penn ESE Spring DeHon 25 Familiar Systematization 1.Define a design/optimization space –pick key parameters –e.g. K = number of LUT inputs 2.Build a cost model 3.Map designs 4.Look at resource costs at each point 5.Compose: – Logical Resources  Resource Cost 6.Look for best design points

Penn ESE Spring DeHon 26 Toronto LUT Size Map to K-LUT –use Chortle Route to determine wiring tracks –global route –different channel width W for each benchmark Area Model for K and W –A lut exponential in K –Interconnect area based on switch count.

Penn ESE Spring DeHon 27 LUT Area vs. K Routing Area roughly linear in K ?

Penn ESE Spring DeHon 28 Mapped LUT Area Compose Mapped LUTs and Area Model

Penn ESE Spring DeHon 29 Mapped Area vs. LUT K N.B. unusual case minimum area at K=3

Penn ESE Spring DeHon 30 Toronto Result Minimum LUT Area –at K=4 –Important to note minimum on previous slides based on particular cost model –robust for different switch sizes (wire widths) [see graphs in paper]

Penn ESE Spring DeHon 31 Implications

Penn ESE Spring DeHon 32 Implications Custom? / Gate Arrays? More restricted logic functions?

Penn ESE Spring DeHon 33 Relate to Sequential? How does this result relate to sequential execution case? Number of LUTs = Number of Cycles Interconnect Cost? Total Instruction Cost?

Penn ESE Spring DeHon 34 Delay Back to Spatial

Penn ESE Spring DeHon 35 Delay? Circuit Depth in LUTs? “Simple Function”  M-input AND 1 table lookup in M-LUT log k (M) lookups in K-LUT

Penn ESE Spring DeHon 36 Delay? M-input “Complex” function –1 table lookup for M-LUT –Lower bound:  log k (2 (M-k) )  +1 –log k (2 (M-k) )=(M-k)log k (2)

Penn ESE Spring DeHon 37 Some Math Y=log k (2) k Y = 2 Ylog 2 (k) = 1 Y=1/log 2 (k) log k (2)=1/log 2 (k) (M-k)log k (2) (M-k)/log 2 (k)

Penn ESE Spring DeHon 38 Delay? M-input “Complex” function –Lower bound:  log k (2 (M-k) )  +1 –log k (2 (M-k) )=(M-k)log k (2) –Lower Bound:  (M-k)/log 2 (k)  +1

Penn ESE Spring DeHon 39 Delay? M-input “Complex” function –Upper Bound: use each k-lut as a k - log 2 (k) input mux –Upper Bound:  (M-k)/log 2 (k- log 2 (k))  +1

Penn ESE Spring DeHon 40 Delay? M-input “Complex” function –1 table lookup for M-LUT –between:  (M-k)/log 2 (k)  +1 –and  (M-k)/log 2 (k- log 2 (k))  +1

Penn ESE Spring DeHon 41 Delay Simple: log M Complex: linear in M Both scale as 1/log(k)

Penn ESE Spring DeHon 42 Circuit Depth vs. K

Penn ESE Spring DeHon 43 LUT Delay vs. K For small LUTs: –t LUT  c 0 +c 1  K Large LUTs: –add length term –c 2  2 K Plus Wire Delay –~  area

Penn ESE Spring DeHon 44 Delay vs. K Delay = Depth  (t LUT + t Interconnect ) Why not satisfied with this model?

Penn ESE Spring DeHon 45 Observation General interconnect is expensive “Larger” logic blocks é less interconnect crossing é lower interconnect delay ê get larger êless area efficient  don’t match structure in computation êget slower  Happens faster than modeled here due to area

Penn ESE Spring DeHon 46 Admin Reminder: –No class Monday 2/19 –No office hours Tuesday 2/20 –Will have class Wednesday 2/21 Reading –Today’s  if haven’t done so, please do

Penn ESE Spring DeHon 47 Big Ideas [MSB Ideas] Memory most dense programmable structure for the most complex functions Memory inefficient (scales poorly) for structured compute tasks Most tasks have some structure Programmable interconnect allows us to exploit that structure

Penn ESE Spring DeHon 48 Big Ideas [MSB-1 Ideas] Area –LUT count decrease w/ K, but slower than exponential –LUT size increase w/ K exponential LUT function empirically linear routing area –Minimum area around K=4

Penn ESE Spring DeHon 49 Big Ideas [MSB-1 Ideas] Delay –LUT depth decreases with K in practice closer to log(K) –Delay increases with K small K linear + large fixed term minimum around 5-6