Timing and fault instrumenta0on with shadow registers - - PowerPoint PPT Presentation

timing and fault instrumenta0on with shadow registers
SMART_READER_LITE
LIVE PREVIEW

Timing and fault instrumenta0on with shadow registers - - PowerPoint PPT Presentation

Timing and fault instrumenta0on with shadow registers Edward Sto6, Josh Levine, Peter Y.K. Cheung Why circuit instrumenta0on? Timing models are conserva0ve


slide-1
SLIDE 1

Timing ¡and ¡fault ¡instrumenta0on ¡ with ¡shadow ¡registers ¡

Edward ¡Sto6, ¡Josh ¡Levine, ¡Peter ¡Y.K. ¡Cheung ¡

slide-2
SLIDE 2

Why ¡circuit ¡instrumenta0on? ¡

  • Timing ¡models ¡are ¡conserva0ve ¡
  • Uncertainty ¡means ¡every ¡device ¡is ¡operated ¡at ¡worst-­‑case ¡

performance ¡

  • But ¡true ¡performance ¡can ¡vary: ¡

– between ¡devices ¡ – spa0ally ¡across ¡a ¡single ¡device ¡ – over ¡0me ¡

  • We ¡measure ¡performance ¡characteris0cs ¡at ¡run-­‑0me ¡to ¡adapt ¡

to ¡uncertainty ¡

  • We ¡have ¡developed ¡an ¡automated, ¡low ¡overhead ¡flow ¡for ¡

instrumen0ng ¡FPGA ¡designs ¡

slide-3
SLIDE 3

Types ¡of ¡opera0ng ¡margin ¡

Increasing ¡Delay ¡ Ini0al ¡ Characterisa0on ¡ Process ¡ Varia0on ¡ Degrada0on ¡ Temperature ¡ Noise ¡etc. ¡ Timing ¡model ¡ (worst-­‑case ¡performance) ¡ Data ¡ Average-­‑case ¡ performance ¡

slide-4
SLIDE 4

Instrumenta0on ¡cell ¡

  • A6ached ¡to ¡certain ¡registers ¡in ¡the ¡applica0on ¡circuit ¡
  • Based ¡around ¡a ¡shadow ¡register ¡
  • Driven ¡by ¡variable ¡phase ¡clock ¡
slide-5
SLIDE 5

Instrumenta0on ¡modes ¡

  • Timing ¡slack ¡measurement ¡

– Sweep ¡shadow ¡clock ¡phase ¡offset ¡ – Look ¡for ¡maximum ¡phase ¡lead ¡with ¡no ¡discrepancies ¡ – No ¡faults ¡(or ¡metastability) ¡introduced ¡into ¡applica0on ¡circuit ¡

  • Timing ¡fault ¡detec0on ¡

– Like ¡Razor ¡ – Fixed ¡shadow ¡clock ¡phase ¡lag ¡ – Shadow ¡clock ¡always ¡samples ¡correct ¡data ¡ – Discrepancies ¡indicate ¡0ming ¡faults ¡in ¡applica0on ¡circuit ¡

slide-6
SLIDE 6

Design ¡Flow ¡– ¡Register ¡Selec0on ¡

Ini0al ¡ Compile ¡ Applica0on ¡ HDL ¡ Timing ¡ Report ¡ Select ¡Inst. ¡ Cells ¡

slide-7
SLIDE 7

Instrumenta0on ¡cell ¡selec0on ¡

  • ¡ ¡

Timing ¡model ¡ Cri0cal ¡Path ¡ 1.5ns ¡ Register ¡ selec0on ¡for ¡ 20% ¡CDM ¡

slide-8
SLIDE 8

How ¡Much ¡Cri0cal ¡Delay ¡Margin? ¡

  • Must ¡capture ¡true ¡cri0cal ¡path ¡to ¡measure ¡0ming ¡slack ¡
  • Cover ¡sources ¡of ¡variability ¡

– Process ¡varia0on ¡ – Temperature ¡and ¡voltage ¡differen0als ¡ – Noise ¡ – Uneven ¡degrada0on ¡

  • For ¡0ming ¡fault ¡detec0on ¡– ¡must ¡monitor ¡any ¡poten0al ¡failure ¡

– Desired ¡overclocking ¡factor ¡

slide-9
SLIDE 9

Instrumenta0on ¡Overhead ¡

  • Overhead ¡depends ¡on ¡0ming ¡distribu0on ¡
slide-10
SLIDE 10

Design ¡Flow ¡– ¡Design ¡Modifica0on ¡

Ini0al ¡ Compile ¡ Applica0on ¡ HDL ¡ Timing ¡ Report ¡ Placement ¡ Constraints ¡ Iden0fy ¡

  • Inst. ¡Cells ¡

Modify ¡ netlist ¡ Final ¡ Compile ¡ Bitstream ¡

slide-11
SLIDE 11

Timing ¡for ¡fault ¡detec0on ¡

  • Timing ¡error ¡detec0on ¡requires ¡addi0onal ¡constraints ¡
  • Shadow ¡register ¡must ¡not ¡sample ¡fast ¡edges ¡from ¡next ¡clock ¡

cycle ¡

slide-12
SLIDE 12

Design ¡Flow ¡– ¡Timing ¡Constraints ¡

Ini0al ¡ Compile ¡ Applica0on ¡ HDL ¡ Timing ¡ Report ¡ Placement ¡ Constraints ¡ Iden0fy ¡

  • Inst. ¡Cells ¡

Modify ¡ netlist ¡ Create ¡ Timing ¡ Constraints ¡ Final ¡ Compile ¡ Bitstream ¡

slide-13
SLIDE 13

Calibra0on ¡

  • Timing ¡models ¡are ¡not ¡accurate ¡enough ¡to ¡determine ¡
  • pera0ng ¡parameters ¡

– Approx. ¡2× ¡difference ¡between ¡‘fast’ ¡and ¡‘slow’ ¡models ¡in ¡FPGA ¡

  • Measure ¡key ¡parameters ¡in ¡silicon: ¡

– Shadow ¡path ¡delay ¡offset ¡(correc0on ¡factor ¡for ¡slack ¡measurement) ¡ – Shadow ¡register ¡hold ¡slack ¡(limits ¡range ¡of ¡fault ¡detec0on) ¡

  • Offline ¡test ¡
  • Uses ¡no ¡addi0onal ¡hardware ¡
slide-14
SLIDE 14

Design ¡Flow ¡-­‑ ¡Calibra0on ¡

Ini0al ¡ Compile ¡ Applica0on ¡ HDL ¡ Timing ¡ Report ¡ Placement ¡ Constraints ¡ Iden0fy ¡

  • Inst. ¡Cells ¡

Modify ¡ netlist ¡ Create ¡ Timing ¡ Constraints ¡ Final ¡ Compile ¡ Bitstream ¡ Calibrate ¡ Opera0ng ¡ Parameters ¡

slide-15
SLIDE 15

Calibra0on ¡

Shadow ¡register ¡ setup ¡slack ¡ ¡ tsu,shad ¡ (nega0ve!) ¡ Shadow ¡register ¡ hold ¡slack ¡ th,shad ¡

slide-16
SLIDE 16

Calibra0on ¡

Applica0on ¡circuit ¡ 0ming ¡faults ¡at ¡ this ¡frequency! ¡ fmax ¡= ¡204MHz ¡ tcrit ¡= ¡4.9ns ¡

slide-17
SLIDE 17

Opera0ng ¡parameters ¡

  • ¡ ¡
slide-18
SLIDE 18

Overhead ¡

ICs ¡ IC ¡= ¡Instrumenta0on ¡cell ¡ Cri0cal ¡Delay ¡Margin ¡= ¡10% ¡

slide-19
SLIDE 19

Applica0on ¡– ¡DVFS ¡

  • Closed ¡loop ¡dynamic ¡voltage ¡and ¡frequency ¡scaling ¡
  • Measure ¡and ¡adapt ¡to: ¡temperature, ¡varia0on, ¡degrada0on ¡
  • S0ll ¡maintain ¡guardband ¡for: ¡noise, ¡data ¡
  • Setpoint: ¡ ¡power ¡limit ¡
  • Objec0ve: ¡ ¡maximise ¡throughput ¡
  • State: ¡ ¡

¡0ming ¡slack ¡

  • Feedback: ¡supply ¡voltage ¡and ¡clock ¡frequency ¡
slide-20
SLIDE 20

J.M. ¡Levine, ¡E. ¡Sto6, ¡P.Y.K. ¡Cheung ¡ 20 ¡

60 100 140 180 Power (mW) Pset P 200 400 600 800 tsC (ps) tG=150ps tG+tH=350ps 0.9 1 1.1 1.2 VDD (V) 200 400 600 800 100 120 140 160 180 fclk (MHz) Time(s)

slide-21
SLIDE 21

Applica0on ¡– ¡fault ¡correc0on ¡

  • Detect ¡and ¡correct ¡0ming ¡faults ¡

– Correc0on ¡s0ll ¡to ¡implement! ¡

  • Measure ¡and ¡adapt ¡to: ¡temperature, ¡varia0on, ¡degrada0on ¡
  • Margin ¡for ¡most ¡of: ¡noise, ¡data ¡
  • Experiment: ¡Sweep ¡frequency ¡and ¡measure ¡0ming ¡fault ¡rates ¡
  • Model ¡performance ¡overhead ¡of ¡fault ¡correc0on ¡

– Assuming ¡pipeline ¡stall ¡(Razor) ¡or ¡rollback ¡

slide-22
SLIDE 22

Applica0on ¡– ¡fault ¡correc0on ¡

slide-23
SLIDE 23

Conclusion ¡

  • Tool ¡flow ¡for ¡automated ¡design ¡instrumenta0on ¡in ¡FPGAs ¡

– Register ¡selec0on ¡ – Netlist ¡modifica0on ¡ – Placement ¡and ¡rou0ng ¡lock ¡ – Timing ¡constraints ¡ – Calibra0on ¡

  • Measure ¡0ming ¡slack ¡or ¡detects ¡0ming ¡faults ¡
  • Used ¡for ¡opera0on ¡beyond ¡worst-­‑case ¡

– Closed ¡loop ¡DVFS ¡with ¡slack ¡measurement ¡ – Poten0al ¡use ¡for ¡0ming ¡fault ¡correc0on ¡(work ¡in ¡progress) ¡

slide-24
SLIDE 24

The ¡End ¡

  • Ques0ons? ¡
slide-25
SLIDE 25

Dynamic ¡Voltage ¡Scaling ¡Results ¡

J.M. ¡Levine, ¡E. ¡Sto6, ¡P.Y.K. ¡Cheung ¡ 25 ¡

fpadd64 fpexp64 dct1d fplog32 fpmult32 fpexp32 filter 50 100 150 200 250 Power (mW) nominal DVS (85°C) DVS (27°C)

  • ­‑25% ¡
  • ­‑34% ¡
slide-26
SLIDE 26

Dynamic ¡Frequency ¡Scaling ¡Results ¡

J.M. ¡Levine, ¡E. ¡Sto6, ¡P.Y.K. ¡Cheung ¡ 26 ¡

dct1d fpadd64 fpmult32 filter fplog32 fpexp64 fpexp32 50 100 150 200 250 Throughput (s−1!106) STA DFS (85°C) DFS (27°C)

+31% ¡ +39% ¡

slide-27
SLIDE 27

Fault ¡correc0on ¡throughput ¡

slide-28
SLIDE 28

Fault ¡correc0on ¡energy ¡