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 Outline Background Motivation Cross-layer optimized placement and routing Experimental results Conclusions
3 Background Architecture of SRAM-based FPGAs
4 Background Architecture of SRAM-based FPGAs Segments
5 Background Architecture of SRAM-based FPGAs Segments
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 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 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 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 Key Observation Application level factor (EPPs) varies significantly Gini coefficientInequality degree <0.2Absolutely equal Relatively equal Moderately unequal The gap is relatively large >0.6Quite unequal
11 Key Observation Application level factor (EPPs) varies significantly Gini coefficientInequality degree <0.2Absolutely equal Relatively equal Moderately unequal The gap is relatively large >0.6Quite unequal
12 Cross-layer Optimized Placement and Routing Overview
13 Cross-layer Optimized Placement and Routing Overview
14 Cross-layer Optimized Placement and Routing Overview
15 Cross-layer Optimized Placement and Routing Overview
16 Cross-layer Optimized Placement and Routing Overview
17 Cross-layer Optimized Placement and Routing Overview
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 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 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 Cube-based EPP Analysis Forward traverse: compute the vectors that set the logic of the wire as 0 and 1 respectively
22 Cube-based EPP Analysis Forward traverse: compute the vectors that set the logic of the wire as 0 and 1 respectively
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 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 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 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 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost
28 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost
29 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost
30 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost
31 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost
32 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost
33 Cross-layer Optimized Placement Total cost=a*timing cost + b*congestion cost + c*SER cost SER cost= Phy cost * App cost
34 Cross-layer Optimized Routing Finer granularity estimate of SER
35 Cross-layer Optimized Routing Finer granularity estimate of SER
36 Cross-layer Optimized Routing Finer granularity estimate of SER
37 Cross-layer Optimized Routing Finer granularity estimate of SER
38 Cross-layer Optimized Routing Finer granularity estimate of SER
39 Cross-layer Optimized Routing Finer granularity estimate of SER
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 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 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 Circuit Monte Carlo simulationCube-based analysisGap(10 -4 ) † N sim (10 5 )Time(s)N cube (10 5 )Time(s)G cube G DCOW alu apex N/A /itr apex clma126.79N/A /itr misex pdc s s N/A /itr s N/A /itr seq689.72N/A /itr spla bigkey876.46N/A /itr014 des868.03N/A /itr00 diffeq432.85N/A /itr0379 dsip N/A /itr00 elliptic240.35N/A /itr0192 ex ex5p frisc N/A /itr tseng N/A /itr Geomean Comparison of EPP Accuracy and Run Time
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 alu apex N/A /itr apex clma126.79N/A /itr misex pdc s s N/A /itr s N/A /itr seq689.72N/A /itr spla bigkey876.46N/A /itr014 des868.03N/A /itr00 diffeq432.85N/A /itr0379 dsip N/A /itr00 elliptic240.35N/A /itr0192 ex ex5p frisc N/A /itr tseng N/A /itr Geomean Comparison of EPP Accuracy and Run Time
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 alu apex N/A /itr apex clma126.79N/A /itr misex pdc s s N/A /itr s N/A /itr seq689.72N/A /itr spla bigkey876.46N/A /itr014 des868.03N/A /itr00 diffeq432.85N/A /itr0379 dsip N/A /itr00 elliptic240.35N/A /itr0192 ex ex5p frisc N/A /itr tseng N/A /itr Geomean Comparison of EPP Accuracy and Run Time
46 Comparison of SER Mitigation Circuit VPR(baseline)PPLCOPAR SER(FIT † )SER(FIT)RatioSER(FIT)Ratio alu % % apex % % apex % % clma % % misex % % pdc % % s % % s % % s % % seq % % spla % % bigkey % % des % % diffeq % % dsip % % elliptic % % ex % % ex5p % % frisc % % tseng % % Geomean % %
47 Comparison of SER Mitigation 100% 93.53% 85.61%
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 Thank You for Your Attention Question?