18
A Fast Sequential A Fast Sequential Learning Technique for Learning Technique for Real Circuits With Real Circuits With Application to Enhancing Application to Enhancing ATPG Performance ATPG Performance Aiman H. El-Maleh Aiman H. El-Maleh Department of Computer Engineering Department of Computer Engineering King Fahd University of Petroleum & King Fahd University of Petroleum & Minerals Minerals

Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

  • Upload
    leo-fox

  • View
    24

  • Download
    1

Embed Size (px)

DESCRIPTION

A Fast Sequential Learning Technique for Real Circuits With Application to Enhancing ATPG Performance. Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals. Outline. Motivation Sequential learning technique Implication learning - PowerPoint PPT Presentation

Citation preview

Page 1: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

A Fast Sequential Learning A Fast Sequential Learning Technique for Real Circuits Technique for Real Circuits

With Application to Enhancing With Application to Enhancing ATPG Performance ATPG Performance

A Fast Sequential Learning A Fast Sequential Learning Technique for Real Circuits Technique for Real Circuits

With Application to Enhancing With Application to Enhancing ATPG Performance ATPG Performance

Aiman H. El-MalehAiman H. El-Maleh

Department of Computer EngineeringDepartment of Computer Engineering

King Fahd University of Petroleum & MineralsKing Fahd University of Petroleum & Minerals

Aiman H. El-MalehAiman H. El-Maleh

Department of Computer EngineeringDepartment of Computer Engineering

King Fahd University of Petroleum & MineralsKing Fahd University of Petroleum & Minerals

Page 2: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

2

OutlineOutlineOutlineOutline

MotivationMotivation Sequential learning technique Sequential learning technique Implication learningImplication learning Tie gate learningTie gate learning Enhancing ATPG performanceEnhancing ATPG performance Experimental resultsExperimental results ConclusionsConclusions

MotivationMotivation Sequential learning technique Sequential learning technique Implication learningImplication learning Tie gate learningTie gate learning Enhancing ATPG performanceEnhancing ATPG performance Experimental resultsExperimental results ConclusionsConclusions

Page 3: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

3

MotivationMotivationMotivationMotivation

Learning can significantly enhance a search processLearning can significantly enhance a search process• Reduce the number of decision nodesReduce the number of decision nodes

• Identify conflicts sooner and reduce number of backtracksIdentify conflicts sooner and reduce number of backtracks

Learning used in CAD, most notably in ATPGLearning used in CAD, most notably in ATPG Learning typically performed in combinational logicLearning typically performed in combinational logic Sequential ATPG more complex than combinational Sequential ATPG more complex than combinational

ATPG due to signal dependencies across framesATPG due to signal dependencies across frames Density of encoding is a key factor of complexity of Density of encoding is a key factor of complexity of

sequential ATPG sequential ATPG

Learning can significantly enhance a search processLearning can significantly enhance a search process• Reduce the number of decision nodesReduce the number of decision nodes

• Identify conflicts sooner and reduce number of backtracksIdentify conflicts sooner and reduce number of backtracks

Learning used in CAD, most notably in ATPGLearning used in CAD, most notably in ATPG Learning typically performed in combinational logicLearning typically performed in combinational logic Sequential ATPG more complex than combinational Sequential ATPG more complex than combinational

ATPG due to signal dependencies across framesATPG due to signal dependencies across frames Density of encoding is a key factor of complexity of Density of encoding is a key factor of complexity of

sequential ATPG sequential ATPG

Page 4: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

4

T0T0 T1T1 T2T2 T3T3

SSG2G2 G4G4 G6G6

G1G1 G3G3 G5G5

00 11 11

Sequential learning techniqueSequential learning techniqueSequential learning techniqueSequential learning technique

Identify fanout stemsIdentify fanout stems For each stemFor each stem

• Inject a logic 0 and propagate forward across framesInject a logic 0 and propagate forward across frames

• Inject a logic 1 and propagate forward across framesInject a logic 1 and propagate forward across frames

Identify fanout stemsIdentify fanout stems For each stemFor each stem

• Inject a logic 0 and propagate forward across framesInject a logic 0 and propagate forward across frames

• Inject a logic 1 and propagate forward across framesInject a logic 1 and propagate forward across frames

G1=1 G1=1 G2=0 G2=0 G3=0 G3=0 G4=1 G4=1 G5=1 G5=1 G6=1 G6=1

G3=0 at T=i G3=0 at T=i G2=0 at T=i-1 G2=0 at T=i-1

G5=1 at T=i G5=1 at T=i G2=0 at T=i-2 G2=0 at T=i-2

00

11

11 00 1111

00 11 00

Page 5: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

5

Single-node learning: ExampleSingle-node learning: ExampleSingle-node learning: ExampleSingle-node learning: Example

l1l1

G8G8

G1G1

G2G2

F1F1

G3G3

G4G4

G5G5

G6G6

G7G7 F3F3

F4F4

G9G9

F2F2

F1=1 F1=1 F2=1 F2=1 F3=1 F3=1 F4=1 F4=1

00

11

11 11

11

11

11 11

00 00

00

00

00 00

00

G7=1 G7=1 F2=1 F2=1 G8=0 G8=0 F1=0F1=0

11 1111

00

11

Page 6: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

6

S1S1 S2S2S1S1

T0T0 T1T1 T2T2 T3T3

G2G2 G5G5

G1G1

G4G4

G3G3S3S3

0000

00

Multiple-node learningMultiple-node learningMultiple-node learningMultiple-node learning

For each gate with multiple stems implying the same For each gate with multiple stems implying the same value on the gatevalue on the gate• Inject corresponding contrapositive values on the stemsInject corresponding contrapositive values on the stems

• Propagate values concurrently forward across time framesPropagate values concurrently forward across time frames

For each gate with multiple stems implying the same For each gate with multiple stems implying the same value on the gatevalue on the gate• Inject corresponding contrapositive values on the stemsInject corresponding contrapositive values on the stems

• Propagate values concurrently forward across time framesPropagate values concurrently forward across time frames

0000

G1=1 G1=1

G5=1 G5=1

1111 11 11 11

11

11 1111

Page 7: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

7

Multiple-node learning: Example 1Multiple-node learning: Example 1Multiple-node learning: Example 1Multiple-node learning: Example 1

I1I1 F1F1

G1G1

G2G2

G3G3

G4G4

G5G5

G7G7

G6G6 F2F2

F3F3

G8G8

G9G9

YY

F2=1 F2=1 F3=1 F3=1

00

00

00

00

11

11

11

1111

11

11

11

00

I1=0I1=0 F2=0 at T=1 F2=0 at T=1 I1=0I1=0 F2=0 at T=2 F2=0 at T=2

00

00

00

00 00

00

00

I1=0I1=0 F2=0 at T=1 F2=0 at T=1

11

Page 8: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

8

I1=0I1=0 G9=1 at T=1 G9=1 at T=1 I2=0I2=0 G9=1 at T=1 G9=1 at T=1

Multiple-node learning: Example 2Multiple-node learning: Example 2Multiple-node learning: Example 2Multiple-node learning: Example 2

G3G3

G2G2

G4G4

G5G5

F1F1

F3F3

F2F2

F4F4

F5F5

G6G6

G7G7

G8G8

G9G9

I1I1

I2I2

G1G1

G9=0 G9=0 F2=0 F2=0

00 11

11

11

11

11

11

11

1100 11

11 11 11

11 11

11 11

11

11

00

00 00

00

00

00

00

00

00

00

Page 9: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

9

G7=1 G7=1 F3=1 F3=1

Use of gate equivalence in learningUse of gate equivalence in learningUse of gate equivalence in learningUse of gate equivalence in learning

I1I1

I3I3

G2G2

G3G3

G4G4

F1F1

F2F2

F3F3

G5G5

G6G6G8G8G1G1

G7G7

G2 is equivalent to G3G2 is equivalent to G3

00

00

00 00 0000

00

00 00

00

11

11 11

Gate equivalence enables value propagationGate equivalence enables value propagation Gate equivalence enables value propagationGate equivalence enables value propagation

11

Page 10: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

10

Learning of tied gatesLearning of tied gatesLearning of tied gatesLearning of tied gates

Case 2: BasedCase 2: Based onon multiple-node learningmultiple-node learning Case 2: BasedCase 2: Based onon multiple-node learningmultiple-node learning

Case 1: Based on single-node learningCase 1: Based on single-node learning Case 1: Based on single-node learningCase 1: Based on single-node learning

II GG G is tied to 0G is tied to 0

G2 and G3 areG2 and G3 are tied to 0tied to 0

00 00

1100

00

11

11

00 00

00

00 00

00I1I1I2I2

G1G1

G2G2

G3G300

00

0011

Page 11: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

11

Practical issuesPractical issuesPractical issuesPractical issues

Multiple clock domainsMultiple clock domains• Classify sequential elements based on driving clockClassify sequential elements based on driving clock

• Latches and FFs treated separatelyLatches and FFs treated separately

• Perform learning for each classPerform learning for each class

Set/Reset handlingSet/Reset handling• Set/Reset in a sequential element can invalidate the Set/Reset in a sequential element can invalidate the

propagated valuepropagated value

• Rules for value propagation across a sequential element:Rules for value propagation across a sequential element:• Propagate a 0 if there is no set linePropagate a 0 if there is no set line• Propagate a 1 if there is no reset linePropagate a 1 if there is no reset line

Multiple clock domainsMultiple clock domains• Classify sequential elements based on driving clockClassify sequential elements based on driving clock

• Latches and FFs treated separatelyLatches and FFs treated separately

• Perform learning for each classPerform learning for each class

Set/Reset handlingSet/Reset handling• Set/Reset in a sequential element can invalidate the Set/Reset in a sequential element can invalidate the

propagated valuepropagated value

• Rules for value propagation across a sequential element:Rules for value propagation across a sequential element:• Propagate a 0 if there is no set linePropagate a 0 if there is no set line• Propagate a 1 if there is no reset linePropagate a 1 if there is no reset line

Page 12: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

12

G9=0 G9=0 F2=0 F2=0

G1G1

G3G3

G2G2

G4G4

G5G5

F1F1

F3F3

F2F2

F4F4

F5F5

G6G6

G7G7

G8G8

G9G9

I1I1I2I2

I3I3

I4I4

I5I5

I6I6

00

11__00

00

00

00

00

00

Known- vs. forbidden-value relationsKnown- vs. forbidden-value relationsKnown- vs. forbidden-value relationsKnown- vs. forbidden-value relations

Known-value implications eliminate decisionsKnown-value implications eliminate decisions Known-value implications eliminate decisionsKnown-value implications eliminate decisions

G9=0 G9=0 F2=F2= 11__

Page 13: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

13

G1G1

G2G2

F1F1

F3F3

F2F2

F4F4

G5G5

G6G6

G4G4

I1I1I2I2

I4I4I3I3

I6I6

G3G3

I5I5

F4=1 F4=1 G4=1 G4=1

XXS0S0

11

0011

Extra requirements by implicationsExtra requirements by implicationsExtra requirements by implicationsExtra requirements by implications

Known-value implications can cause additional Known-value implications can cause additional unnecessary requirements unnecessary requirements

Known-value implications can cause additional Known-value implications can cause additional unnecessary requirements unnecessary requirements

00

1100__

00

F4=1 F4=1 G4=G4=00__

Page 14: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

14

G1G1

G3G3

G2G2

G4G4

G5G5

F1F1

F3F3

F2F2

F4F4

F5F5

G6G6

G7G7

G8G8

G9G9

I1I1I2I2

I3I3

I4I4

I5I5

I6I6

00

11__

00

00

00

00

00

Suggested use of implicationsSuggested use of implicationsSuggested use of implicationsSuggested use of implications

Guide decision to inputs with forbidden non-Guide decision to inputs with forbidden non-controlling valuecontrolling value

Guide decision to inputs with forbidden non-Guide decision to inputs with forbidden non-controlling valuecontrolling value

G9=0 G9=0 F2=F2= 11__

Page 15: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

15

Experimental resultsExperimental resultsExperimental resultsExperimental results

Benchmark circuitsBenchmark circuits• ISCAS 89 and 93 circuitsISCAS 89 and 93 circuits

• Four retimed circuits (high sequential ATPG complexity)Four retimed circuits (high sequential ATPG complexity)

• Three industrial circuitsThree industrial circuits

Sequential learning performed up to 50 time framesSequential learning performed up to 50 time frames Sequential ATPGSequential ATPG

• Without sequential learningWithout sequential learning

• With learned relations used as known-value implicationsWith learned relations used as known-value implications

• With learned relations used as forbidden-value implicationsWith learned relations used as forbidden-value implications

Test Coverage = Detected/(Total - Untestable)Test Coverage = Detected/(Total - Untestable)

Benchmark circuitsBenchmark circuits• ISCAS 89 and 93 circuitsISCAS 89 and 93 circuits

• Four retimed circuits (high sequential ATPG complexity)Four retimed circuits (high sequential ATPG complexity)

• Three industrial circuitsThree industrial circuits

Sequential learning performed up to 50 time framesSequential learning performed up to 50 time frames Sequential ATPGSequential ATPG

• Without sequential learningWithout sequential learning

• With learned relations used as known-value implicationsWith learned relations used as known-value implications

• With learned relations used as forbidden-value implicationsWith learned relations used as forbidden-value implications

Test Coverage = Detected/(Total - Untestable)Test Coverage = Detected/(Total - Untestable)

Page 16: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

16

Sequential learning resultsSequential learning resultsSequential learning resultsSequential learning results

CircuitCircuits5378s5378s6669s6669

s13207s13207s15850s15850s38417s38417

s510jcsrres510jcsrres510josrres510josrres832jcsrres832jcsrrescfjisdrescfjisdre

Industrial 1Industrial 1Industrial 2Industrial 2Industrial 3Industrial 3

FFsFFs GatesGates FF-FFFF-FF Gate-FFGate-FF CPU(s)CPU(s)179179239239638638597597

163616362626282827272020

46046070687068

1568915689

27792779308030807951795197729772

2217922179243243243243195195764764

869386936315663156

681595681595

2502502424

1566156615161516155415541271275050

1251252222

1181182069206980168016

2233223316031603

350933509329378293784698146981

891891484484743743

1980198067746774

3639736397186930186930

6.426.420.390.39

23.0823.0842.0442.0430.2430.240.100.100.070.070.110.110.560.562.742.74

24.3124.31403.30403.30

Learned RelationsLearned Relations

Page 17: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

17

ATPG resultsATPG resultsATPG resultsATPG results

50

60

70

80

90

100

Test

cov

erag

e (%

)

s1423 s3330 s4863 s5378 s6669 s510jcsrre s832jcsrre

No seq. learning Forbidden-value implications Known-value implications

0

20

40

60

80

100

Rela

tive

CPU

(%)

s1423 s3330 s4863 s5378 s6669 s510jcsrre s832jcsrre

Page 18: Aiman H. El-Maleh Department of Computer Engineering King Fahd University of Petroleum & Minerals

18

ConclusionsConclusionsConclusionsConclusions

A novel and efficient method for sequential learningA novel and efficient method for sequential learning Identifies implications, invalid states and tied gatesIdentifies implications, invalid states and tied gates Handles industrial circuits with multiple clock Handles industrial circuits with multiple clock

domains and partial or no set/resetdomains and partial or no set/reset Increases number of detected and untestable faultsIncreases number of detected and untestable faults Significantly reduces sequential ATPG timeSignificantly reduces sequential ATPG time Applicable to redundancy identification, logic Applicable to redundancy identification, logic

optimization, and logic verificationoptimization, and logic verification

A novel and efficient method for sequential learningA novel and efficient method for sequential learning Identifies implications, invalid states and tied gatesIdentifies implications, invalid states and tied gates Handles industrial circuits with multiple clock Handles industrial circuits with multiple clock

domains and partial or no set/resetdomains and partial or no set/reset Increases number of detected and untestable faultsIncreases number of detected and untestable faults Significantly reduces sequential ATPG timeSignificantly reduces sequential ATPG time Applicable to redundancy identification, logic Applicable to redundancy identification, logic

optimization, and logic verificationoptimization, and logic verification