timing and fault instrumenta0on with shadow registers
play

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


  1. Timing ¡and ¡fault ¡instrumenta0on ¡ with ¡shadow ¡registers ¡ Edward ¡Sto6, ¡Josh ¡Levine, ¡Peter ¡Y.K. ¡Cheung ¡

  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 ¡

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

  4. Instrumenta0on ¡cell ¡ • A6ached ¡to ¡certain ¡registers ¡in ¡the ¡applica0on ¡circuit ¡ • Based ¡around ¡a ¡shadow ¡register ¡ • Driven ¡by ¡variable ¡phase ¡clock ¡

  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 ¡

  6. Design ¡Flow ¡– ¡Register ¡Selec0on ¡ Applica0on ¡ HDL ¡ Ini0al ¡ Timing ¡ Select ¡Inst. ¡ Compile ¡ Report ¡ Cells ¡

  7. Instrumenta0on ¡cell ¡selec0on ¡ • ¡ ¡ Register ¡ selec0on ¡for ¡ 20% ¡CDM ¡ Timing ¡model ¡ Cri0cal ¡Path ¡ 1.5ns ¡

  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 ¡

  9. Instrumenta0on ¡Overhead ¡ • Overhead ¡depends ¡on ¡0ming ¡distribu0on ¡

  10. Design ¡Flow ¡– ¡Design ¡Modifica0on ¡ Applica0on ¡ Bitstream ¡ HDL ¡ Ini0al ¡ Timing ¡ Iden0fy ¡ Final ¡ Compile ¡ Report ¡ Inst. ¡Cells ¡ Compile ¡ Placement ¡ Modify ¡ Constraints ¡ netlist ¡

  11. Timing ¡for ¡fault ¡detec0on ¡ • Timing ¡error ¡detec0on ¡requires ¡addi0onal ¡constraints ¡ • Shadow ¡register ¡must ¡not ¡sample ¡fast ¡edges ¡from ¡next ¡clock ¡ cycle ¡

  12. Design ¡Flow ¡– ¡Timing ¡Constraints ¡ Create ¡ Applica0on ¡ Timing ¡ Bitstream ¡ HDL ¡ Constraints ¡ Ini0al ¡ Timing ¡ Iden0fy ¡ Final ¡ Compile ¡ Report ¡ Inst. ¡Cells ¡ Compile ¡ Placement ¡ Modify ¡ Constraints ¡ netlist ¡

  13. Calibra0on ¡ • Timing ¡models ¡are ¡not ¡accurate ¡enough ¡to ¡determine ¡ opera0ng ¡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 ¡

  14. Design ¡Flow ¡-­‑ ¡Calibra0on ¡ Create ¡ Applica0on ¡ Timing ¡ Bitstream ¡ HDL ¡ Constraints ¡ Ini0al ¡ Timing ¡ Iden0fy ¡ Final ¡ Calibrate ¡ Compile ¡ Report ¡ Inst. ¡Cells ¡ Compile ¡ Placement ¡ Modify ¡ Opera0ng ¡ Constraints ¡ netlist ¡ Parameters ¡

  15. Calibra0on ¡ Shadow ¡register ¡ setup ¡slack ¡ ¡ t su,shad ¡ (nega0ve!) ¡ Shadow ¡register ¡ hold ¡slack ¡ t h,shad ¡

  16. Calibra0on ¡ Applica0on ¡circuit ¡ 0ming ¡faults ¡at ¡ this ¡frequency! ¡ f max ¡= ¡204MHz ¡ t crit ¡= ¡4.9ns ¡

  17. Opera0ng ¡parameters ¡ • ¡ ¡

  18. Overhead ¡ ICs ¡ IC ¡= ¡Instrumenta0on ¡cell ¡ Cri0cal ¡Delay ¡Margin ¡= ¡10% ¡

  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 ¡

  20. Power (mW) 180 P set 140 P 100 60 800 600 t sC (ps) t G +t H =350ps 400 200 t G =150ps 0 1.2 V DD (V) 1.1 1 0.9 180 f clk (MHz) 160 140 120 100 0 200 400 600 800 Time(s) 20 ¡ J.M. ¡Levine, ¡E. ¡Sto6, ¡P.Y.K. ¡Cheung ¡

  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 ¡

  22. Applica0on ¡– ¡fault ¡correc0on ¡

  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) ¡

  24. The ¡End ¡ • Ques0ons? ¡

  25. Dynamic ¡Voltage ¡Scaling ¡Results ¡ 250 -­‑25% ¡ -­‑34% ¡ nominal DVS (85 ° C) 200 DVS (27 ° C) Power (mW) 150 100 50 0 fpadd64 fpexp64 dct1d fplog32 fpmult32 fpexp32 filter 25 ¡ J.M. ¡Levine, ¡E. ¡Sto6, ¡P.Y.K. ¡Cheung ¡

  26. Dynamic ¡Frequency ¡Scaling ¡Results ¡ 250 +31% ¡ STA +39% ¡ DFS (85 ° C) 200 Throughput (s − 1 ! 10 6 ) DFS (27 ° C) 150 100 50 0 dct1d fpadd64 fpmult32 filter fplog32 fpexp64 fpexp32 26 ¡ J.M. ¡Levine, ¡E. ¡Sto6, ¡P.Y.K. ¡Cheung ¡

  27. Fault ¡correc0on ¡throughput ¡

  28. Fault ¡correc0on ¡energy ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend