49
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

Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

  • Upload
    fuller

  • View
    59

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

Keheng Huang1,2, Yu Hu1, and Xiaowei Li1

1Key Laboratory of Computer System and ArchitectureInstitute of Computing Technology

Chinese Academy of Sciences2Graduate University of Chinese Academy of Sciences

Page 2: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

2

Outline• Background

• Motivation

• Cross-layer optimized placement and routing

• Experimental results

• Conclusions

Page 3: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

3

Background• Architecture of SRAM-based FPGAs

Page 4: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

4

Background• Architecture of SRAM-based FPGAs

Segments

(a) An overview of FPGA structure

Page 5: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

5

Background• Architecture of SRAM-based FPGAs

Segments

(a) An overview of FPGA structure

W1

Wi

E1

Ei

S1 Sj

N1 Nj

(b) Switching block

.

.

.

CBCB

CB

CB

CB

CB

CB

CB

CB

CB

.

.

.

CB

CB

. . .

. . .

S

S Switching block

Page 6: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

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)

CLB CLB

CLB CLB

(a) An overview of FPGA structure

W1

Wi

E1

Ei

S1 Sj

N1 Nj

(b) Switching block

.

.

.

MUXsANDFFs Output

(c) Configurable logic block

.

.

.

CBCB

CB

CB

CB

CB

CB

CB

CB

CB

.

.

.

CB

CB

. . .

. . .LUTentry0: CB

entry1: CB

entry14: CBentry15: CB

S

S Switching block

CLB Configurable logic blockThe reliability of routing resources needs to be seriously considered during placement and routing

Segments

Page 7: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

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

Page 8: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

8

Soft Error Rate (SER)

Input Output

CBCBCBCB

CB

OutputInput

Propagation probability

Occurrence probability

SER evaluation criterion

Application level factor(EPP)

Physical level factor(Node error rate)

+

Page 9: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

9

Key Observation

Application level factor(EPP)

Physical level factor(Node error rate)

Prior P & R guidance criterion

All EPPs are equal?

Physical level factor(Bounding boxes,

Configuration bits)

Estimated SER+

SER evaluation criterion

Page 10: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

10

Key Observation• Application level factor (EPPs) varies significantly

Gini coefficient Inequality degree<0.2 Absolutely equal0.2-0.3 Relatively equal0.3-0.4 Moderately unequal0.4-0.5 The gap is relatively large>0.6 Quite unequal

0.0

0.2

0.4

0.6

0.8

1.0

avera

getse

ngseq

s3858

4.1

s3841

7fri

scell

iptic

diffeqdesdsi

pclm

abig

key

apex

2ex

5p

ex10

10spla

s298pd

c

misex3

apex

4

Gin

i coe

ffic

ient

of E

PPs Gini coefficient of EPPs

alu4

avg.=0.646

Circuit name

Page 11: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

11

Key Observation• Application level factor (EPPs) varies significantly

Gini coefficient Inequality degree<0.2 Absolutely equal0.2-0.3 Relatively equal0.3-0.4 Moderately unequal0.4-0.5 The gap is relatively large>0.6 Quite unequal

0.0

0.2

0.4

0.6

0.8

1.0

avera

getse

ngseq

s3858

4.1

s3841

7fri

scell

iptic

diffeqdesdsi

pclm

abig

key

apex

2ex

5p

ex10

10spla

s298pd

c

misex3

apex

4

Gin

i coe

ffic

ient

of E

PPs Gini coefficient of EPPs

alu4

avg.=0.646

Circuit name

Page 12: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

12

Cross-layer Optimized Placement and Routing

• Overview

Cross-layer optimized placement

Placer

Physicallevel factor

Cross-layer optimized routing

Router

Physical level

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis Application level

Cross-layer optimization

Physicallevel factor

SER

High Low

SER

Page 13: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

13

Cross-layer Optimized Placement and Routing

• Overview

Cross-layer optimized placement

Placer

Physicallevel factor

Cross-layer optimized routing

Router

Physical level

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis Application level

Cross-layer optimization

Physicallevel factor

SER

High Low

SER

Page 14: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

14

Cross-layer Optimized Placement and Routing

• Overview

Cross-layer optimized routingCross-layer optimized placement

Placer

Physicallevel factor

Router

Physical level

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis Application level

Cross-layer optimization

Physicallevel factor

SER

High Low

SER

Page 15: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

15

Cross-layer Optimized Placement and Routing

• Overview

Cross-layer optimized routingCross-layer optimized placement

Placer

Physicallevel factor

Router

Physical level

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis Application level

Cross-layer optimization

Physicallevel factor

SER

High Low

SER

Page 16: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

16

Cross-layer Optimized Placement and Routing

• Overview

Cross-layer optimized routingCross-layer optimized placement

Placer

Physicallevel factor

Router

Physical level

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis Application level

Cross-layer optimization

Physicallevel factor

SER

High Low

SER

Page 17: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

17

Cross-layer Optimized Placement and Routing

• Overview

Cross-layer optimized routingCross-layer optimized placement

Placer

Physicallevel factor

Router

Physical level

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis Application level

Cross-layer optimization

Physicallevel factor

SER

High Low

SER

Page 18: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

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)

Page 19: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

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?

Page 20: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

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}

Page 21: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

21

Cube-based EPP Analysis• Forward traverse: compute the vectors that set

the logic of the wire as 0 and 1 respectively

0

0

0

1

Input0

Input1

control-cover 0 {X0}control-cover 1 {X1}

control-cover 0 {0X}control-cover 1 {1X} Output

LUTi

control-cover 0 {0X,10}control-cover 1 {11}

Page 22: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

22

Cube-based EPP Analysis• Forward traverse: compute the vectors that set

the logic of the wire as 0 and 1 respectively

0

0

0

1

Input0

Input1

control-cover 0 {X0}control-cover 1 {X1}

control-cover 0 {0X}control-cover 1 {1X} Output

LUTi

control-cover 0 {0X,10}control-cover 1 {11}

Page 23: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

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 outputsOutput

LUTi

care-cover 0 {01,10}care-cover 1 {11}

care-cover 0 {0X}care-cover 1 {11}

0

0

0

1care-cover 0 {0X,10}care-cover 1 {11}

Fanout0

Fanout1

0

0

0

1

Input0

Input1

control-cover 0 {X0}control-cover 1 {X1}

control-cover 0 {0X}control-cover 1 {1X} Output

LUTi

control-cover 0 {0X,10}control-cover 1 {11}

Page 24: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

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 outputsOutput

LUTi

care-cover 0 {01,10}care-cover 1 {11}

care-cover 0 {0X}care-cover 1 {11}

0

0

0

1care-cover 0 {0X,10}care-cover 1 {11}

Fanout0

Fanout1

0

0

0

1

Input0

Input1

control-cover 0 {X0}control-cover 1 {X1}

control-cover 0 {0X}control-cover 1 {1X} Output

LUTi

control-cover 0 {0X,10}control-cover 1 {11}

Page 25: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

25

Application level factor• Error propagation probability (EPP)

• Compare with traditional Monte Carlo simulation• For each fault, traverse the design N times

care-cover

inputs

NEPPN

0

0

0

1 Logic 0: 0

0

0

1

1

0

1

1

Input vectorsV0V1V2V3

Logic 1: 00

0110

11

LUTi

11

00 01 10

Ncare-cover: number of vectors stored in care-coverNinputs: total number of input vectors

Page 26: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

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• Cavg: average compression ratio of all covers

Algorithm Computational complexity

Monte Carlo Simulation O(N*V*g*(V+E))

Static Analysis O(V2*(V +E))

Cube-based EPP Analysis O((N/Cavg)2*(V+E))

Page 27: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

27

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

placer

bby

bbx

SER costCube-based EPP Analysis

EPPi

NETi

bbx+bby

cbby

cbbx

cbbx+cbby

Cross-layer optimizationEPPi+EPPj

NETj

Cross-layer optimized placement

Placer

Physicallevel factor

Cross-layer optimized routing

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

Page 28: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

28

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

placer

bby

bbx

SER costCube-based EPP Analysis

EPPi

NETi

bbx+bby

cbby

cbbx

cbbx+cbby

Cross-layer optimizationEPPi+EPPj

NETj

open0

[ ( ) ( )]*netsi N

x y ii

SER cost bb i bb i EPP

Cross-layer optimized placement

Placer

Physicallevel factor

Cross-layer optimized routing

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

Page 29: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

29

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

bby

placerbbx

SER costCube-based EPP Analysis

EPPi

NETi

bbx+bby

cbby

cbbx

cbbx+cbby

Cross-layer optimizationEPPi+EPPj

NETj

Cross-layer optimized placement

Placer

Physicallevel factor

Cross-layer optimized routing

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

open0

[ ( ( ]) *)netsi N

ii

x ybb i bbSER cost Pi E P

Page 30: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

30

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

bby

placerbbx

SER costCube-based EPP Analysis

EPPi

NETi

bbx+bby

cbby

cbbx

cbbx+cbby

Cross-layer optimizationEPPi+EPPj

NETj

open0

[ ( ( ]) *)netsi

x y i

N

i

bb i bbSER cost i EPP

Cross-layer optimized placement

Placer

Physicallevel factor

Cross-layer optimized routing

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

Page 31: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

31

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

placer

bby

bbx

SER costCube-based EPP Analysis

EPPi

NETi

bbx+bby

cbby

cbbx

cbbx+cbby

Cross-layer optimizationEPPi+EPPj

NETj

open0

[ ( ) ( )]*netsi N

x y ii

SER cost bb i bb i EPP

short0 0,

{[ ( ) ( )]*( )}nets netsi N j N

x y i ji j j i

SER cost cbb i cbb i EPP EPP

Cross-layer optimized placement

Placer

Physicallevel factor

Cross-layer optimized routing

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

Page 32: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

32

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

cbby

placer

bby

bbx

SER costCube-based EPP Analysis

EPPi

NETi

bbx+bby

cbbx

cbbx+cbby

Cross-layer optimizationEPPi+EPPj

NETj

open0

[ ( ) ( )]*netsi N

x y ii

SER cost bb i bb i EPP

short0 0,

( {[ ]*() )}( )nets netsi N j N

i ji j

x yj i

cbb i cbSER cost EPP EPi Pb

Cross-layer optimized placement

Placer

Physicallevel factor

Cross-layer optimized routing

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

Page 33: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

33

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

cbby

placer

bby

bbx

SER costCube-based EPP Analysis

EPPi

NETi

bbx+bby

cbbx

cbbx+cbby

Cross-layer optimizationEPPi+EPPj

NETj

open0

[ ( ) ( )]*netsi N

x y ii

SER cost bb i bb i EPP

short0 0,

( {[ ]*() )}( )nets netsi N j N

ix y i

j j ijcbb i cbSER cost b i EPP EPP

Cross-layer optimized placement

Placer

Physicallevel factor

Cross-layer optimized routing

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

Page 34: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

34

Cross-layer Optimized Routing• Finer granularity estimate of SER

router

SER costCube-based EPP Analysis

NCBk

EPPi+EPPk_net Cross-layer optimizationEPPi

CB

CBCB

CB

CLB

CLB

CLB

CLB

CLB

CLB

Bridgek

SEGjNETi

NETk_net

open0 0

( * )segsnets j Ni N

j ji j

SER cost NCB EPP

Cross-layer optimized routingCross-layer optimized placement

Placer

Physicallevel factor

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

Page 35: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

35

Cross-layer Optimized Routing• Finer granularity estimate of SER

router

SER costCube-based EPP Analysis

NCBk

EPPi+EPPk_net Cross-layer optimizationEPPi

CB

CBCB

CB

CLB

CLB

CLB

CLB

CLB

CLB

Bridgek

SEGjNETi

NETk_net

open0 0

( * )segsnets ji

ij

NN

jj

SER cost NCB EPP

Cross-layer optimized routingCross-layer optimized placement

Placer

Physicallevel factor

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

Page 36: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

36

Cross-layer Optimized Routing• Finer granularity estimate of SER

router

SER costCube-based EPP Analysis

NCBk

EPPi+EPPk_net Cross-layer optimizationEPPi

CB

CBCB

CB

CLB

CLB

CLB

CLB

CLB

CLB

Bridgek

SEGjNETi

NETk_net

open0 0

( * )segsnets ji

ij j

NN

j

SER cost NCB EPP

Cross-layer optimized routingCross-layer optimized placement

Placer

Physicallevel factor

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

Page 37: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

37

Cross-layer Optimized Routing• Finer granularity estimate of SER

router

SER costCube-based EPP Analysis

NCBk

EPPi+EPPk_net Cross-layer optimizationEPPi

CB

CBCB

CB

CLB

CLB

CLB

CLB

CLB

CLB

Bridgek

SEGjNETi

NETk_net

open0 0

( * )segsnets j Ni N

j ji j

SER cost NCB EPP

short _0 0 0

[ *( )]segs bridgenets j N k Ni N

k i k neti j k

SER cost NCB EPP EPP

Cross-layer optimized routingCross-layer optimized placement

Placer

Physicallevel factor

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

Page 38: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

38

Cross-layer Optimized Routing• Finer granularity estimate of SER

router

SER costCube-based EPP Analysis

NCBk

EPPi+EPPk_net Cross-layer optimizationEPPi

CB

CBCB

CB

CLB

CLB

CLB

CLB

CLB

CLB

Bridgek

SEGjNETi

NETk_net

open0 0

( * )segsnets j Ni N

j ji j

SER cost NCB EPP

short _0 0 0

[ *( )]segs bridgenets j N k Ni N

i k neti

kj k

SER cost EP EN B P PPC

Cross-layer optimized routingCross-layer optimized placement

Placer

Physicallevel factor

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

Page 39: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

39

Cross-layer Optimized Routing• Finer granularity estimate of SER

router

SER costCube-based EPP Analysis

NCBk

EPPi+EPPk_net Cross-layer optimizationEPPi

CB

CBCB

CB

CLB

CLB

CLB

CLB

CLB

CLB

Bridgek

SEGjNETi

NETk_net

open0 0

( * )segsnets j Ni N

j ji j

SER cost NCB EPP

short0 0 0

_ [ *( )]segs bridgenets j N k Ni N

i j kk i k netSER co NCB EP Est P PP

Cross-layer optimized routingCross-layer optimized placement

Placer

Physicallevel factor

Router

Cube-basedEPP analysis

SER

Application level factor

Applicationlevel factor

Logic synthesis

Physicallevel factor

SER

SER

Page 40: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

40

Experimental SetupMCNC

benchmark setBerkeley ABC mapper

Gate-level netlist

Bit Stream

VPR: Academic FPGA placement and routing tool

Logic resources: 4 6-input LUTs per CLBRouting channel width: 30% increase

Page 41: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

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)

Page 42: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

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)

faultscube sim

0 inputs

( )N

i

N NGapN

Ncube: number of test vectors computed by cube-based analysisNsim: number of test vectors computed by Monte Carlo simulationNinputs: total number of input vectors

Page 43: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

43

CircuitMonte Carlo simulation Cube-based analysis Gap(10-4)†

Nsim(105) Time(s) Ncube(105) Time(s) Gcube GDCOW

alu4 20.46 3314 20.45 186 0.212 0apex2 122.85 N/A 122.69 42/itr 0.257 1052apex4 2.89 461 2.89 54 0 0clma 126.79 N/A 126.89 35/itr 0.0529 1336

misex3 31.27 98528 31.23 78 0.604 0pdc 533.11 647142 533.27 4230 0.195 0s298 36.70 1055 36.70 1 0 0

s38417 2724.22 N/A 2725.37 395/itr 0.533 344s38584.1 2385.31 N/A 2385.50 252/itr 0.095 122

seq 689.72 N/A 689.41 13/itr 0.236 516spla 698.48 569302 698.48 1440 0.00013 0

bigkey 876.46 N/A 876.46 14/itr 0 14des 868.03 N/A 868.03 12/itr 0 0

diffeq 432.85 N/A 432.85 9/itr 0 379dsip 1158.63 N/A 1158.63 24/itr 0 0

elliptic 240.35 N/A 240.35 3/itr 0 192ex1010 2.50 109325 2.50 69 0 0

ex5p 0.47 305 0.47 16 0.024 0frisc 1706.43 N/A 1706.44 107/itr 0.00585 472tseng 1436.15 N/A 1436.24 13/itr 0.0786 247

Geomean 704.68 178679 704.74 759 0.115 234

Comparison of EPP Accuracy and Run Time

Page 44: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

44

CircuitMonte Carlo simulation Cube-based analysis Gap(10-4)†

Nsim(105) Time(s) Ncube(105) Time(s) Gcube GDCOW

alu4 20.46 3314 20.45 186 0.212 0apex2 122.85 N/A 122.69 42/itr 0.257 1052apex4 2.89 461 2.89 54 0 0clma 126.79 N/A 126.89 35/itr 0.0529 1336

misex3 31.27 98528 31.23 78 0.604 0pdc 533.11 647142 533.27 4230 0.195 0s298 36.70 1055 36.70 1 0 0

s38417 2724.22 N/A 2725.37 395/itr 0.533 344s38584.1 2385.31 N/A 2385.50 252/itr 0.095 122

seq 689.72 N/A 689.41 13/itr 0.236 516spla 698.48 569302 698.48 1440 0.00013 0

bigkey 876.46 N/A 876.46 14/itr 0 14des 868.03 N/A 868.03 12/itr 0 0

diffeq 432.85 N/A 432.85 9/itr 0 379dsip 1158.63 N/A 1158.63 24/itr 0 0

elliptic 240.35 N/A 240.35 3/itr 0 192ex1010 2.50 109325 2.50 69 0 0

ex5p 0.47 305 0.47 16 0.024 0frisc 1706.43 N/A 1706.44 107/itr 0.00585 472tseng 1436.15 N/A 1436.24 13/itr 0.0786 247

Geomean 704.68 178679 704.74 759 0.115 234

Comparison of EPP Accuracy and Run Time

Page 45: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

45

CircuitMonte Carlo simulation Cube-based analysis Gap(10-4)†

Nsim(105) Time(s) Ncube(105) Time(s) Gcube GDCOW

alu4 20.46 3314 20.45 186 0.212 0apex2 122.85 N/A 122.69 42/itr 0.257 1052apex4 2.89 461 2.89 54 0 0clma 126.79 N/A 126.89 35/itr 0.0529 1336

misex3 31.27 98528 31.23 78 0.604 0pdc 533.11 647142 533.27 4230 0.195 0s298 36.70 1055 36.70 1 0 0

s38417 2724.22 N/A 2725.37 395/itr 0.533 344s38584.1 2385.31 N/A 2385.50 252/itr 0.095 122

seq 689.72 N/A 689.41 13/itr 0.236 516spla 698.48 569302 698.48 1440 0.00013 0

bigkey 876.46 N/A 876.46 14/itr 0 14des 868.03 N/A 868.03 12/itr 0 0

diffeq 432.85 N/A 432.85 9/itr 0 379dsip 1158.63 N/A 1158.63 24/itr 0 0

elliptic 240.35 N/A 240.35 3/itr 0 192ex1010 2.50 109325 2.50 69 0 0

ex5p 0.47 305 0.47 16 0.024 0frisc 1706.43 N/A 1706.44 107/itr 0.00585 472tseng 1436.15 N/A 1436.24 13/itr 0.0786 247

Geomean 704.68 178679 704.74 759 0.115 234

Comparison of EPP Accuracy and Run Time

Page 46: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

46

Comparison of SER Mitigation Circuit

VPR(baseline) PPL COPAR

SER(FIT†) SER(FIT) Ratio SER(FIT) Ratio

alu4 17.05 17.08 100.17% 14.25 83.58%apex2 18.40 18.07 98.21% 14.04 76.30%apex4 118.40 105.98 89.52% 98.08 82.84%clma 23.31 20.12 86.33% 19.78 84.85%

misex3 24.76 30.05 121.33% 21.56 87.05%pdc 175.04 212.12 121.18% 141.09 80.60%s298 2.68 1.92 71.52% 1.69 63.11%

s38417 547.02 503.30 92.01% 524.95 95.96%s38584.1 620.70 586.47 94.49% 567.22 91.38%

seq 49.23 46.07 93.56% 38.64 78.48%spla 269.48 247.18 91.72% 200.03 74.23%

bigkey 159.87 151.56 94.80% 130.09 81.38%des 130.70 118.60 90.75% 123.79 94.72%

diffeq 91.08 82.81 90.92% 81.81 89.83%dsip 208.98 168.53 80.65% 207.93 99.50%

elliptic 42.66 39.51 92.63% 39.90 93.55%ex1010 122.41 117.97 96.37% 96.01 78.44%

ex5p 32.02 29.23 91.29% 28.76 89.84%frisc 488.89 431.86 88.33% 455.16 93.10%tseng 125.74 106.53 84.72% 117.58 93.51%

Geomean 163.42 151.75 93.53% 146.12 85.61%

Page 47: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

47

Comparison of SER Mitigation

0%

20%

40%

60%

80%

100%

120%

140% VPR (baseline)PPLCOPAR

100% 93.53% 85.61%

Page 48: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

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

Page 49: Cross-layer Optimized Placement and Routing for FPGA Soft Error Mitigation

49

• Thank You for Your Attention

• Question?