Download presentation
Presentation is loading. Please wait.
Published byOsborn Hampton Modified over 9 years ago
1
Technical University Tallinn, ESTONIA Component level dy Defect mapping Hierarchical Test Generation x1x1 x2x2 x3x3 x4x4 x5x5 System level WdWd Logic level Error Defect Hierarchical test (fault propagation) y* & & & 1 & & & Logic level Transistor level RT Level
2
Technical University Tallinn, ESTONIA Binary Decision Diagrams Simulation: 0 1 1 0 1 0 0 Boolean derivative: y x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 0 1 1 0 Functional BDD
3
Research in ATI © Raimund Ubar Generalization of BDDs m y 1 0 lmlm l1l1 l0l0 GyGy m Y 1 0 2 h FkFk FnFn l0l0 l1l1 l2l2 lhlh lklk l k+1 F k+1 lnln lmlm GYGY Binary DD 2 terminal nodes and 2 edges from each node General case of DD n 2 terminal nodes and n 2 edges from each node Novelty: Boolean methods can be generalized in a straightforward way to higher functional levels 3
4
Technical University Tallinn, ESTONIA Faults and High-Level Decision Diagrams RTL-statement: Terminal nodes RTL-statement faults: data storage, data transfer, data manipulation faults Nonterminal nodes RTL-statement faults: label, timing condition, logical condition, register decoding, operation decoding, control faults K: ( If T,C) R D F(R S1,R S2,…R Sm ), N
5
Technical University Tallinn, ESTONIA 5 Fault Modeling on DDs Each path in a DD describes the behavior of the system in a specific mode of operation The faults having effect on the behaviour can be associated with nodes along the path A fault causes incorrect leaving the path activated by a test
6
Technical University Tallinn, ESTONIA 6 Uniform Formal Fault Model on DDs D1: the output edge for x(m) = i of a node m is always activated D2: the output edge for x(m) = i of a node m is broken D3: instead of the given edge, another edge or a set of edges is activated
7
Technical University Tallinn, ESTONIA Fault Collapsing with SSBDDs Each node in SSBDD represents a signal path: Two SSBDD faults x 11 1, x 11 0 represent a set of six faults in the circuit: {x 11 1, x 6 1, y 1; x 11 0, x 6 0, y 0}
8
Research in ATI © Raimund Ubar Each node in SSBDD represents a signal path: The faults at y 3 in HLDD represent the faults in the control circuitry and in the multiplexer M3 of the RTL circuit The faults at R1*R2 in HLDD represent the faults in multiplier, input and output buses, and in the registers Structural HLDDs Fault collapsing – not investigated at high-level
9
Technical University Tallinn, ESTONIA Decision Diagrams for Microprocessors I 1 :MVI A,DA IN I 2 :MOV R,AR A I 3 :MOV M,ROUT R I 4 :MOV M,AOUT IA I 5 :MOV R,MR IN I 6 :MOV A,MA IN I 7 :ADD RA A + R I 8 :ORA RA A R I 9 :ANA RA A R I 10 :CMA A,DA A Instruction set: IA 2 R IN 5 R 1,3,4,6-10 AIIN 1,6 IN 2,3,4,5 A + R 7 A R 8 A R 9 A 10 IR 3 A OUT 4 DD-model of the microprocessor:
10
Technical University Tallinn, ESTONIA Decision Diagrams for Microprocessors High-Level DD-based structure of the microprocessor (example): IR 3 A OUT 4 IA 2 R IN 5 R 1,3,4,6-10 IIN 1,6 A A 2,3,4,5 A + R 7 A R 8 A R 9 A 10 DD-model of the microprocessor: OUT R A IN I
11
Research in ATI © Raimund Ubar 11 OPBSemanticRT level operations 0 0READ memoryR(A1) = M(A)PC = PC + 2 1WRITE memoryM(A) = R(A2)PC = PC + 2 1 0TransferR(A1) = R(A2)PC = PC + 1 1Complement R(A1) = R(A2) PC = PC + 1 2 0AdditionR(A1) = R(A1)+ R(A2)PC = PC + 1 1SubtractionR(A1) = R(A1)- R(A2)PC = PC + 1 3 0JumpPC = A 1Conditional jumpIF C=1, THEN PC = A,ELSE PC = PC + 2 From MP Instruction Set to HLDDs OP B 0 M(A) 1 R(A2) M(A) 0 1-3 OP 0 PC 1, 2 B 3 A 0 PC + 2 PC + 1 C 1 0 1 A1 R0R0 0 R(A1) R1R1 1 R2R2 2 R3R3 3 A2 R0R0 0 R(A2) R1R1 1 R2R2 2 R3R3 3 A1 = 0 R0R0 R0R0 0 1 A1 = 3 R3R3 R3R3 0 1 R 1, R 2 OP B0B0 0 M(A) 1 0 B1B1 1 R(A2) 1 0 B2B2 2 1 0 R(A1) - R(A2) 3 R(A1) R(A1) + R(A2) R(A1) Instruction code: ADD A1 A2 OP=2. B=0. A1=3. A2=2 R 3 = R 3 + R 2 PC = PC+1
12
Research in ATI © Raimund Ubar 12 HLDDs for MP InstrSet A1 = 0 R0R0 R0R0 0 OP B0B0 1 0 M(A) 1 0 B1B1 1 R(A2) 1 0 B2B2 2 1 0 R(A1) - R(A2) 3 A1 = 3 R3R3 R3R3 0 1 R 1, R 2 R(A1) R(A1) + R(A2) R(A1) Registers and ALU A1 R0R0 0 R(A1) R1R1 1 R2R2 2 R3R3 3 A2 R0R0 0 R(A2) R1R1 1 R2R2 2 R3R3 3 Register Decoding OP 0 PC 1, 2 B 3 A 0 PC + 2 PC + 1 C 1 0 1 Program Counter OP B 0 M(A) 1 R(A2) M(A) 0 1-3 Memory Access Instruction code: ADD A1 A2 OP=2. B=0. A1=3. A2=2 R 3 = R 3 + R 2 PC = PC+1
13
Technical University Tallinn, ESTONIA Structural Synthesis of HLDDs Data Path Control Path y x
14
Technical University Tallinn, ESTONIA Data Path: High-Level DD Synthesis Data Path Control Path y x y 4 e R 2 0 1 2 0 R 2
15
Technical University Tallinn, ESTONIA Data Path: HLDD Synthesis Data Path Control Path y x y 4 y 3 c d R 2 0 1 2 0 1 0 R 2 IN R 1 2 3 R2R2 R 2 + e
16
Technical University Tallinn, ESTONIA Data Path: HLDD Synthesis y 1 R 1 + R 2 IN + R 2 R 1 * R 2 IN* R 2 y 2 1 0 1 0 1 IN R 1 2 3 y 4 y 3 R 2 0 1 2 0 0 R 2 R2R2 R 2 + M 3 c (M 1 ) d (M 2 )
17
Technical University Tallinn, ESTONIA High-Level Decision Diagrams Superposition of High-Level DDs: A single DD for a subcircuit Instead of simulating all the components in the circuit, only a single path in the DD should be traced y 4 y 3 y 1 R 1 + R 2 IN + R 2 R 1 * R 2 IN* R 2 y 2 R 2 0 1 2 0 1 0 1 0 1 0 R 2 IN R 1 2 3 R2R2 R 2 + M 3 M1M1 M2M2
18
Technical University Tallinn, ESTONIA BDDs for Flip-Flops – Functional Synthesis D C qc q’ D Elementary BDDs D Flip-Flop S J q R C K JK Flip-Flop c q’ S R q’q’ K J S C q R c S R q’q’ R U RS Flip-Flop U - unknown value BDDs as a method for knowledge presentation
19
Technical University Tallinn, ESTONIA Functional Synthesis of High-Level DDs Data-Flow Diagram High-Level DDs can be synthesized by symbolic execution of the Data-Flow Diagram F2
20
Technical University Tallinn, ESTONIA Synthesis of High-Level DDs High-Level DDs can be synthesized by symbolic execution of the Data-Flow Diagram: F2AXAC AX AC=0 PC PC+1 Decision Diagrams: F0AC AC+1 F2 AC AX F1 1 1 0 0 01
21
Research in ATI © Raimund Ubar Digital System and Data Flow Diagram A B C M ADR MUX 1 2 CC CON D Control Path Data Path / FF y x q q z z 1 z 2 Digital system Data-Flow Diagram
22
Research in ATI © Raimund Ubar Functional HLDDs Data Flow Diagram Decision Diagrams Register variables State variable
23
Research in ATI © Raimund Ubar Synthesis of Functional HLDDs Data Flow Diagram/FSMD Begin A = B + C x A A = A + 1 B = B + C x A B = BC = C x B C x C A = A + B + C x C C = A + B A = C + B END 0 0 0 0 0 1 1 1 1 1 Constraints Assignment statements qxAxA xBxB xCxC 0 A = B + C; q = 1 10 A = A + 1; q = 4 11 B = B + C; q = 2 20 C = A + B; q = 5 21 C = C; q = 3 30 C = A + B; q = 5 31 A = C + B; q = 5 40 B = B 400 A = A + B + C; q = 5 401 q = 5 41 C = C; q = 5 Results of cycle based symbolic simulation: q = 0 q = 1 q = 2 q = 3 q = 4 q = 5
24
Research in ATI © Raimund Ubar Synthesis of HLDDs Constraints Assignment statements qxAxA xBxB xCxC 0 A = B + C; q = 1 10 A = A + 1; q = 4 11 B = B + C; q = 2 20 C = A + B; q = 5 21 C = C; q = 3 30 C = A + B; q = 5 31 A = C + B; q = 5 40 B = B 400 A = A + B + C; q = 5 401 q = 5 41 C = C; q = 5 Results of symbolic simulation: qxAxA xBxB xCxC A 0B + C 10 A + 1 31 C + B 400 A + B + C Extraction of the behaviour for A: A = f (q, A, B, C, x A, x C ) = = (q=0)(B+C) (q=1)(x A =0) ( A + 1) (q=3)(x C =1)( C+B) (q=4)(x A =0)(x C =0)(A+ B + C + 1) Predicate equation for A:
25
Research in ATI © Raimund Ubar Synthesis of HLDDs qxAxA xBxB xCxC A 0B + C 10 A + 1 31 C + B 400 A + B + C Extraction of the behaviour for A: A = (q=0)(B+C) (q=1)(x A =0) ( A + 1) (q=3)(x C =1)( C+B) (q=4)(x A =0)(x C =0)(A+ B + C + 1) Predicate equation for A: Decision diagram for A: Synthesis method: similar to Shannon’s expansion theorem:
26
Research in ATI © Raimund Ubar Functional HLDDs Data Flow Diagram Decision Diagrams Register variables State variable
27
Research in ATI © Raimund Ubar High-Level Vector Decision Diagrams 3,4 0 2 q 1 0 1 0 q 1 4 x A 2 1 5 x B 3 A 0 1 0 q x A B + C A + 1 1 3 x C C + B 0 4 x A A + C B 0 4 1 q x A B + C B C 14 2 q x A 1 0 x B A + B C 0 x C x A 1 x C 3 0 M=A.B.C.q 1 1 q x A 0 q A i B’ + C’ #1 q B i B’ + C’ #2 0 q A i A’ + 1 #4 2 1 x B q C i C’ #3 0 q C i A’ + B’ #5 3 1 x C q A i B’ + C’ #5 0 q C i A’ + B’ #5 4 1 x C q C i C’ #5 0 B A i A’ + B’+C’ x A 0 q #5 B’ q B i #5 A system of 4 DDsVector DD
28
Technical University Tallinn, ESTONIA DD Synthesis from VHDL Descriptions VHDL description of 4 processes which represent a simple control unit
29
Technical University Tallinn, ESTONIA DD Synthesis from VHDL Descriptions nstate rst clk #1 state’ state 1 0 0 1 clk enable’ enable 1 enable_in 0 DDs for state, enable_in and nstate state’ rb0 enable_in #2 #1 1 1 1 2 0 0 nstate Superposition of DDs
30
Technical University Tallinn, ESTONIA DD Synthesis from VHDL Descriptions rst #1 state1 0 state’ rb0 enable' #2 #1 1 1 12 0 0 enable #0011 #0001 1 0 enable #0100 #1100 1 0 state rb0 1 2 0 #0010 1 outreg fin reg_cp reg DDs for the total VHDL model
31
Technical University Tallinn, ESTONIA DD Synthesis from VHDL Descriptions rst #1 state1 0 state’ rb0 enable' #2 #1 1 1 12 0 0 enable #0011 #0001 1 0 enable #0100 #1100 1 0 state rb0 1 2 0 #0010 1 outreg fin reg_cp reg Simulation and Fault Backtracing on the DDs Simulated vector
32
Technical University Tallinn, ESTONIA 32 Hierarchical Modelling on DDs M=A.B.C.q 1 1 q x A 0 q A i B’ + C’ #1 q B i #2 0 q A i A’ + 1 #4 2 1 x B q C i C’ #3 0 q C i A’ + B’ #5 3 1 x C q A i B’ + C’ #5 0 q C i A’ + B’ #5 4 1 x C q C i C’ #5 0 B A i A’ + B’+C’ x A 0 q #5 B’ q B i #5 x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 0 1 1 0 C Component: Binary Decision Diagram System: High-level decision diagram A small part is simulated at the higher level: to increase the speed of analysis A small part is simulated at the lower level Cause-effect analysis well formalized B’ + C’
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.