FPGA SDK For Nanoscale Architectures

23
FPGA SDK for Nanoscale Architectures Ciprian.Teodorov Loic.Lagadec @ univbrest.fr ReCoSoC’11 – Montpellier, 2123 June 2011

Transcript of FPGA SDK For Nanoscale Architectures

Page 1: FPGA SDK For Nanoscale Architectures

FPGA  SDK  for  Nanoscale  Architectures  

Ciprian.Teodorov  Loic.Lagadec  @  univ-­‐brest.fr  ReCoSoC’11  –  Montpellier,  21-­‐23  June  2011  

Page 2: FPGA SDK For Nanoscale Architectures

Overview  

• Emerging  Technologies  • Nanoscale  Architecture  Template  • FPGA  Tools  for  Nano  • Results  

FPGA  SDK  for  Nanoscale  Architectures   2  

Page 3: FPGA SDK For Nanoscale Architectures

Context  

•  CMOS  reaching  its  limits  – Physical  – Material  – Power-­‐Termal  – Technological  – Economical  

?  Emerging  Technologies  

FPGA  SDK  for  Nanoscale  Architectures   3  

Page 4: FPGA SDK For Nanoscale Architectures

FPGA  SDK  for  Nanoscale  Architectures   4  

!"#!$%&'()*+,%"--. /012#1)3%"--.4%56),789):)67; <<

!"#$%"&'$(&

=+')9>7?@,8*6+%6)?7' '+66 3AB#C=DB

! boolean data inputs A and B (logic levels at Vss=0V and Vdd=1V) + circuit output Y

! four-phase non-overlapping clock signals

– two pre-charge inputs PC1, PC2

– two evaluation inputs EV1, EV2

! control inputs VbgA, VbgB, VbgC to configure circuit to 1 of 14 functions (back-gate bias -1V / p-type and +1V / n-type)

EV2

PC2

EV1

PC1

t

C

Y

f(A,B,VbA,VbB)

f(C,VbC)

! !"#$%&'

()** !"#+,#-.

()&/()**!#+%

VbAA VbB B

EV1

PC1 EV2

PC2

VbC

Vdd

Y

C

J. Liu, I. O'Connor, D. Navarro, F. Gaffiot,

El. Lett., 43(9), April 2007

!"#$ !"#% !"#& '

!"

!"

#"

#"

!"

!"

#"

#"

!"

!"

#"

#"

!"

!"

#"

#"

!"

#"

!"

#"

!"

#"

!"

#"

$!%

$!%

$&%

$&%

$&%

$!%

$&%

$!%

$

$

%

%

'

(

!" ( !"

!" ( #"

( !" !"

( !" #"

( ( (

( ( #"

QCA,  Notre  Dame  

NanoCell,  J.  M.  Tour  

I.  O’Connor  (INL)  Nanofabric,  S.C.  Golstein  

NanoPLA,  A.  DeHon  

CMOL,  K.  Likharev  

FPNI,  HP,  G.S.  Snider  

Nasic,  C.A.  Moritz  

Page 5: FPGA SDK For Nanoscale Architectures

NASIC  Fabric  Principles  

FPGA  SDK  for  Nanoscale  Architectures   5  

Page 6: FPGA SDK For Nanoscale Architectures

Rou\ng  Problem  

FPGA  SDK  for  Nanoscale  Architectures   6  

Page 7: FPGA SDK For Nanoscale Architectures

FPGA  SDK  for  Nanoscale  Architectures   7  

Routing Block

Logic

Conn

ectio

n

CMOS I/O

VDD

GNDpre

eva

CMOS-gated NWFET

MultiNW-gated FET

OutputInput

Hei

ght Ce

ll

WidthCell

Page 8: FPGA SDK For Nanoscale Architectures

FPGA  SDK  for  Nanoscale  Architectures   8  

Page 9: FPGA SDK For Nanoscale Architectures

R2D  NASIC  

•  Compa\bility  with  the  NASIC    •  Adaptability  to  a  variety  of  technological  and  applica\ve  constraints  

•  Compa\bility  with  NASIC  fault-­‐tolerance  techniques  •  Regularity  =>  custom  placement  and  rou\ng  •  Max-­‐rate  pipeline  designs  based  on  its  pipelined  rou\ng  architecture  

•  Simplified  delay  es\ma\on,  due  to  the  dynamic  logic  evalua\on  and  pipelined  rou\ng  architecture  

FPGA  SDK  for  Nanoscale  Architectures   9  

Page 10: FPGA SDK For Nanoscale Architectures

Tools  for  nano  

PLAMap  –  PLA  extrac\on  

VFLib  –  tech.  mapping  

Proprietary  tools  &  algos  

VPR  NanoPLA  &  

CMOL  

Madeo  @  nanoscale  

FPGA  SDK  for  Nanoscale  Architectures   10  

Page 11: FPGA SDK For Nanoscale Architectures

Madeo  FPGA  Toolkit  

•  Reconfigurable  architecture  &  generic  tools  – P&R,  alloca\on,  circuit  edi\on  

•  High-­‐level  logic  compiler  – HLS  &  op\mized  arithme\cs  

•  System  and  architecture  modeling  (SoC)  –  logic  primi\ves,  processes  – hardware-­‐plagorm  management  – system  ac\vity.  

FPGA  SDK  for  Nanoscale  Architectures   11  

Page 12: FPGA SDK For Nanoscale Architectures

Madeo  at  Nanoscale  

•  Model  extensions:  – nanogrid,  nanowire  (crossbar  fabric  level)  – Turn  connec\ons,  and  PLAs  (R2D  Nasic)  

•  HDL  evolu\on  for  nano  model  instan\a\on  •  Algorithmic  extensions:  – Espresso  PLA  op\miza\on  – Netlist  par\\oning  for  PLAs  – PLA  placement  – New  rou\ng  algorithms  

FPGA  SDK  for  Nanoscale  Architectures   12  

Page 13: FPGA SDK For Nanoscale Architectures

R2D  NASIC  Design  Flow  

Placement  

Rou\ng  

PLAMap  

PLA  Family  Explora\on   Architecture  

SIS  

Metrics  

Layout  

PLAMap  

SIS  

MADEO  

FPGA  SDK  for  Nanoscale  Architectures   13  

Page 14: FPGA SDK For Nanoscale Architectures

Results  –  Area    

alu4

17.35X

apex2

1.32X

apex4

48.43X

des

2.18X

ex5p

24.06X

misex3

12.05X

seq

8.76X

100

10

1

FPGA  SDK  for  Nanoscale  Architectures   14  

Page 15: FPGA SDK For Nanoscale Architectures

Speed  

43MHz  67MHz  

40MHz  

9MHz  

167MHz  

29MHz   27MHz  

1  

10  

100  

1000  

alu4   apex2   apex4   des   ex5p   misex3   seq  

Freq

uency  

Opera\ng  frequency  of  the  slowest  logic  stage  /  throughput  

Results  assume  1GHz  for  the  slowest  logic  stage  

Too  slow  

FPGA  SDK  for  Nanoscale  Architectures   15  

Page 16: FPGA SDK For Nanoscale Architectures

Max-­‐Rate  Pipeline  System  

Add  REs  

FPGA  SDK  for  Nanoscale  Architectures   16  

Page 17: FPGA SDK For Nanoscale Architectures

ab

c d

FPGA  SDK  for  Nanoscale  Architectures   17  

Page 18: FPGA SDK For Nanoscale Architectures

Results  –  Speed  

alu4

24.21X

apex2

10.56X

apex4

23.78X

des

77.15X

ex5p

4.8X

misex3

32.58X

seq

31X

Net Performance Improvement

FPGA  SDK  for  Nanoscale  Architectures   18  

Page 19: FPGA SDK For Nanoscale Architectures

Results  –  Area    

seqmisex3ex5pdesapex4apex2alu4

17.35X

1.32X

48.43X

2.18X

24.06X

12.05X8.76X

2.72X

0.03X

11.52X

0.06X

12.76X

1.24X

0.46X

100

10

1

0.1

0.01

Normalized density advantageover 45nm standard cell design

FPGA  SDK  for  Nanoscale  Architectures   19  

Page 20: FPGA SDK For Nanoscale Architectures

Performance*Area  

66X  

0,32X  

274X  

5X  

61X  40X  

14X  

0,1  

1  

10  

100  

1000  

alu4   apex2   apex4   des   ex5p   misex3   seq  

FPGA  SDK  for  Nanoscale  Architectures   20  

Page 21: FPGA SDK For Nanoscale Architectures

Room  for  Improvement  

AVG

255

seq

334

misex3

243

ex5p32

des

740

apex465

apex2

301

alu4

149

misex3 switch-use mapStd. dev. ofswitch ressource use

FPGA  SDK  for  Nanoscale  Architectures   21  

Page 22: FPGA SDK For Nanoscale Architectures

Conclusion  

•  Regular  nano  architecture  template  –  Custom  placement  &  rou\ng    

•  Incremental  DSE  with  MADEO  toolkit  

•  Future work: –  R2D  NASIC  wrt.  fault  tolerance  and  \ming  issues  under  variability  assump\ons.  

–  Improve  toolkit’s  extensibility  by  further  decoupling  the  tools  from  the  target  architecture    

FPGA  SDK  for  Nanoscale  Architectures   22  

Page 23: FPGA SDK For Nanoscale Architectures

Thanks  for  your  alen\on!  

FPGA  SDK  for  Nanoscale  Architectures   23  

Q&A