Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation Keheng Huang 1,2, Yu Hu 1, and Xiaowei Li 1 1 Key Laboratory of Computer System.

Similar presentations


Presentation on theme: "Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation Keheng Huang 1,2, Yu Hu 1, and Xiaowei Li 1 1 Key Laboratory of Computer System."— Presentation transcript:

1 Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation Keheng Huang 1,2, Yu Hu 1, and Xiaowei Li 1 1 Key Laboratory of Computer System and Architecture Institute of Computing Technology Chinese Academy of Sciences 2 Graduate University of Chinese Academy of Sciences

2 2 Outline Background Motivation Cross-layer optimized placement and routing Experimental results Conclusions

3 3 Background Architecture of SRAM-based FPGAs

4 4 Background Architecture of SRAM-based FPGAs Segments

5 5 Background Architecture of SRAM-based FPGAs Segments

6 6 Background Architecture of SRAM-based FPGAs Configuration bits (>98% of all SRAM bits) –Routing resources (80% of configuration bits) User bits (<2% of all SRAM bits) The reliability of routing resources needs to be seriously considered during placement and routing Segments

7 7 Reliability Oriented EDA Flow Synthesis and mapping Design specification Gate-level netlist Bit Stream Placement and routing Application design level Physical design level RoRA [TC’06] TMR designs only SEU-Aware P & R [ISQED’07] Dimensions of bounding box Reliability-aware P & R [ITC’10] Dimensions of bounding box SEU-Aware Router [DAC’07] Number of configuration bits

8 8 Soft Error Rate (SER) Propagation probability Occurrence probability SER evaluation criterion Application level factor (EPP) Application level factor (EPP) Physical level factor (Node error rate) Physical level factor (Node error rate) +

9 9 Key Observation Application level factor (EPP) Application level factor (EPP) Physical level factor (Node error rate) Physical level factor (Node error rate) Prior P & R guidance criterion All EPPs are equal? Physical level factor (Bounding boxes, Configuration bits) Physical level factor (Bounding boxes, Configuration bits) Estimated SER + SER evaluation criterion

10 10 Key Observation Application level factor (EPPs) varies significantly Gini coefficientInequality degree <0.2Absolutely equal 0.2-0.3Relatively equal 0.3-0.4Moderately unequal 0.4-0.5The gap is relatively large >0.6Quite unequal

11 11 Key Observation Application level factor (EPPs) varies significantly Gini coefficientInequality degree <0.2Absolutely equal 0.2-0.3Relatively equal 0.3-0.4Moderately unequal 0.4-0.5The gap is relatively large >0.6Quite unequal

12 12 Cross-layer Optimized Placement and Routing Overview

13 13 Cross-layer Optimized Placement and Routing Overview

14 14 Cross-layer Optimized Placement and Routing Overview

15 15 Cross-layer Optimized Placement and Routing Overview

16 16 Cross-layer Optimized Placement and Routing Overview

17 17 Cross-layer Optimized Placement and Routing Overview

18 18 Cube-based EPP Analysis Error propagation probability (EPP) Monte Carlo simulation –Test vectors (high accuracy) –Traverse the design N times (high complexity) Static analysis –Signal probability and error propagation rules (lower accuracy) –Traverse the design twice per fault (lower complexity)

19 19 Cube-based EPP Analysis Error propagation probability (EPP) Monte Carlo simulation –Test vectors (high accuracy) –Traverse the design N times (high complexity) Static analysis –Signal probability and error propagation rules (lower accuracy) –Traverse the design twice per fault (lower complexity) A method with high accuracy and low complexity?

20 20 Cube-based EPP Analysis Besides 0 and 1, “X” bit is introduced Introduce the cube and cover in logic synthesis Covers adjoin V :(set union: ∪ ) Covers interface I :(set intersection: ∩ ) 0XX = {000,001,010,011} cover ={0XX, 1XX} cube adjoin :{00X} V {01X} = {0XX} interface: {00X} I {001} = {001}

21 21 Cube-based EPP Analysis Forward traverse: compute the vectors that set the logic of the wire as 0 and 1 respectively

22 22 Cube-based EPP Analysis Forward traverse: compute the vectors that set the logic of the wire as 0 and 1 respectively

23 23 Cube-based EPP Analysis Forward traverse: compute the vectors that set the logic of the wire as 0 and 1 respectively Backward traverse: compute the vectors that can propagate the fault to outputs

24 24 Cube-based EPP Analysis Forward traverse: compute the vectors that set the logic of the wire as 0 and 1 respectively Backward traverse: compute the vectors that can propagate the fault to outputs

25 25 Application level factor Error propagation probability (EPP) Compare with traditional Monte Carlo simulation For each fault, traverse the design N times N care-cover : number of vectors stored in care-cover N inputs : total number of input vectors

26 26 Application level factor Comparison of computational complexity N: number of input vectors V: number of LUTs E: number of interconnecting wires g: number of configuration bits per LUT or wire C avg : average compression ratio of all covers AlgorithmComputational complexity Monte Carlo SimulationO(N*V*g*(V+E)) Static AnalysisO(V 2 *(V +E)) Cube-based EPP AnalysisO((N/C avg ) 2 *(V+E))

27 27 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost

28 28 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost

29 29 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost

30 30 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost

31 31 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost

32 32 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost

33 33 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost

34 34 Cross-layer Optimized Routing Finer granularity estimate of SER

35 35 Cross-layer Optimized Routing Finer granularity estimate of SER

36 36 Cross-layer Optimized Routing Finer granularity estimate of SER

37 37 Cross-layer Optimized Routing Finer granularity estimate of SER

38 38 Cross-layer Optimized Routing Finer granularity estimate of SER

39 39 Cross-layer Optimized Routing Finer granularity estimate of SER

40 40 Experimental Setup MCNC benchmark set Berkeley ABC mapper Gate-level netlist Bit Stream VPR: Academic FPGA placement and routing tool Logic resources: 4 6-input LUTs per CLB Routing channel width: 30% increase

41 41 Experimental results Comparison of EPP accuracy and run time Monte Carlo simulation DCOW: partial Monte Carlo simulation Cube-based EPP analysis Comparison of SER mitigation Original VPR Guided by physical level factor only (PPL) Cross-layer optimized placement and routing algorithm (COPAR)

42 42 Comparison of EPP Accuracy and Run Time Monte Carlo simulation (golden model) DCOW: partial Monte Carlo simulation (DAC’10) Cube-based analysis (our method) N cube : number of test vectors computed by cube-based analysis N sim : number of test vectors computed by Monte Carlo simulation N inputs : total number of input vectors

43 43 Circuit Monte Carlo simulationCube-based analysisGap(10 -4 ) † N sim (10 5 )Time(s)N cube (10 5 )Time(s)G cube G DCOW alu420.46331420.451860.2120 apex2122.85N/A122.6942/itr0.2571052 apex42.894612.895400 clma126.79N/A126.8935/itr0.05291336 misex331.279852831.23780.6040 pdc533.11647142533.2742300.1950 s29836.70105536.70100 s384172724.22N/A2725.37395/itr0.533344 s38584.12385.31N/A2385.50252/itr0.095122 seq689.72N/A689.4113/itr0.236516 spla698.48569302698.4814400.000130 bigkey876.46N/A876.4614/itr014 des868.03N/A868.0312/itr00 diffeq432.85N/A432.859/itr0379 dsip1158.63N/A1158.6324/itr00 elliptic240.35N/A240.353/itr0192 ex10102.501093252.506900 ex5p0.473050.47160.0240 frisc1706.43N/A1706.44107/itr0.00585472 tseng1436.15N/A1436.2413/itr0.0786247 Geomean704.68178679704.747590.115234 Comparison of EPP Accuracy and Run Time

44 44 Circuit Monte Carlo simulationCube-based analysisGap(10 -4 ) † N sim (10 5 )Time(s)N cube (10 5 )Time(s)G cube G DCOW alu420.46331420.451860.2120 apex2122.85N/A122.6942/itr0.2571052 apex42.894612.895400 clma126.79N/A126.8935/itr0.05291336 misex331.279852831.23780.6040 pdc533.11647142533.2742300.1950 s29836.70105536.70100 s384172724.22N/A2725.37395/itr0.533344 s38584.12385.31N/A2385.50252/itr0.095122 seq689.72N/A689.4113/itr0.236516 spla698.48569302698.4814400.000130 bigkey876.46N/A876.4614/itr014 des868.03N/A868.0312/itr00 diffeq432.85N/A432.859/itr0379 dsip1158.63N/A1158.6324/itr00 elliptic240.35N/A240.353/itr0192 ex10102.501093252.506900 ex5p0.473050.47160.0240 frisc1706.43N/A1706.44107/itr0.00585472 tseng1436.15N/A1436.2413/itr0.0786247 Geomean704.68178679704.747590.115234 Comparison of EPP Accuracy and Run Time

45 45 Circuit Monte Carlo simulationCube-based analysisGap(10 -4 ) † N sim (10 5 )Time(s)N cube (10 5 )Time(s)G cube G DCOW alu420.46331420.451860.2120 apex2122.85N/A122.6942/itr0.2571052 apex42.894612.895400 clma126.79N/A126.8935/itr0.05291336 misex331.279852831.23780.6040 pdc533.11647142533.2742300.1950 s29836.70105536.70100 s384172724.22N/A2725.37395/itr0.533344 s38584.12385.31N/A2385.50252/itr0.095122 seq689.72N/A689.4113/itr0.236516 spla698.48569302698.4814400.000130 bigkey876.46N/A876.4614/itr014 des868.03N/A868.0312/itr00 diffeq432.85N/A432.859/itr0379 dsip1158.63N/A1158.6324/itr00 elliptic240.35N/A240.353/itr0192 ex10102.501093252.506900 ex5p0.473050.47160.0240 frisc1706.43N/A1706.44107/itr0.00585472 tseng1436.15N/A1436.2413/itr0.0786247 Geomean704.68178679704.747590.115234 Comparison of EPP Accuracy and Run Time

46 46 Comparison of SER Mitigation Circuit VPR(baseline)PPLCOPAR SER(FIT † )SER(FIT)RatioSER(FIT)Ratio alu417.0517.08100.17%14.2583.58% apex218.4018.0798.21%14.0476.30% apex4118.40105.9889.52%98.0882.84% clma23.3120.1286.33%19.7884.85% misex324.7630.05121.33%21.5687.05% pdc175.04212.12121.18%141.0980.60% s2982.681.9271.52%1.6963.11% s38417547.02503.3092.01%524.9595.96% s38584.1620.70586.4794.49%567.2291.38% seq49.2346.0793.56%38.6478.48% spla269.48247.1891.72%200.0374.23% bigkey159.87151.5694.80%130.0981.38% des130.70118.6090.75%123.7994.72% diffeq91.0882.8190.92%81.8189.83% dsip208.98168.5380.65%207.9399.50% elliptic42.6639.5192.63%39.9093.55% ex1010122.41117.9796.37%96.0178.44% ex5p32.0229.2391.29%28.7689.84% frisc488.89431.8688.33%455.1693.10% tseng125.74106.5384.72%117.5893.51% Geomean163.42151.7593.53%146.1285.61%

47 47 Comparison of SER Mitigation 100% 93.53% 85.61%

48 48 Conclusions Observe the gap between the SER evaluation criterion and guidance criterion for soft error mitigation (gini coefficient=0.646) Introduce cube-based EPP analysis to compute the application level factor (gap<1%) Propose a cross-layer optimized placement and routing algorithm (SER mitigation>14%)

49 49 Thank You for Your Attention Question?


Download ppt "Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation Keheng Huang 1,2, Yu Hu 1, and Xiaowei Li 1 1 Key Laboratory of Computer System."

Similar presentations


Ads by Google