testing arbiter: fuzzy logic controller

14
Testing Arbiter: FUZZY LOGIC CONTROLLER Testing Arbiter: FUZZY LOGIC CONTROLLER Elec 423 Group A: Kevin Duh Vernon Evans Chris Flesher David Suksumrit

Upload: others

Post on 18-Dec-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Testing Arbiter: FUZZY LOGIC CONTROLLER

Testing Arbiter: FUZZY LOGIC CONTROLLER

Testing Arbiter: FUZZY LOGIC CONTROLLER

Elec 423 Group A:Kevin Duh

Vernon Evans Chris Flesher

David Suksumrit

Page 2: Testing Arbiter: FUZZY LOGIC CONTROLLER

Functional DescriptionFunctional Description

• Purpose: To Approximate Human Reasoning• Basic Block Diagram:

Page 3: Testing Arbiter: FUZZY LOGIC CONTROLLER

Importance of Design-For-TestImportance of Design-For-Test

• Computationally Intensive • Loads 9 functions, 2 inputs -> Outputs 1 answer

• Observability & Controllability are VERY IMPORTANT!• Although we already had 15,000 transistors on 40 pin

pad, we made it a point to include extensive testing structures

Page 4: Testing Arbiter: FUZZY LOGIC CONTROLLER

Testing StructureTesting Structure

• 4 to 16 Decoder • Controls transmission gates that inputs to bus• Watch 8 internal signals at a time

• Observe a total of 120 internal signals!• Signals observed include:

• PLA state bits, intermediate answers, loaded register values

Page 5: Testing Arbiter: FUZZY LOGIC CONTROLLER

Initial Full Chip TestInitial Full Chip Test

• Used 3 full-length test vectors• IT WORKS!!!

• Kinda…• Answer consistently off by 1

Page 6: Testing Arbiter: FUZZY LOGIC CONTROLLER

Testing StrategyTesting Strategy

• 1) Test PLA:• Observed state transitions of each PLA• All 5 PLA’s are correct!

• 2) Test major components:• Interpolation• Division• Memory

Page 7: Testing Arbiter: FUZZY LOGIC CONTROLLER

Unit Test 1: INTERPOLATIONUnit Test 1: INTERPOLATION

• Interpolation values converge to prediction

Page 8: Testing Arbiter: FUZZY LOGIC CONTROLLER

Unit Test 2: DIVISIONUnit Test 2: DIVISION

• 11 bit non-restoring division• Final stage of chip

• Need to verify final stage works by itself, independent of upstream pipeline’s correctness.

• Controllability needed.

Page 9: Testing Arbiter: FUZZY LOGIC CONTROLLER

Division: ControllabilityDivision: Controllability

• Control inputs to division so output is predictable irrespective of upstream pipeline’s results

Page 10: Testing Arbiter: FUZZY LOGIC CONTROLLER

Unit Test 3: MemoryUnit Test 3: Memory

• Hypothesis: • It makes sense that complex structures like division are

correct, or else the answer will be messed-up. If the answer is only off by 1, maybe loading memory is off

• 16 bit Ring Shift-Register

Page 11: Testing Arbiter: FUZZY LOGIC CONTROLLER

Problem Discovered!!Problem Discovered!!

• Shift-register corrupts a few values• Test sequence example:

• Input: 0 0 1 2 3 4 5 6 7 7 4 5 2 1 0 0• Observed: 0 0 1 2 3 4 5 6 7 4 4 5 2 0 0 0

• At two points, register loads in a neighboring value

Page 12: Testing Arbiter: FUZZY LOGIC CONTROLLER

Possible ReasonsPossible Reasons

• Back-flow between registers • Prevented by inverters between latches

• Strength of latch content signals differ• Logic 0 corrupts adjacent logic 1

• Control signal skew• May cause extra shift in certain registers

Page 13: Testing Arbiter: FUZZY LOGIC CONTROLLER

Final AnalysisFinal Analysis

• Speed: 27 MHz. Predicted: 63 MHz.

• Yield: 100%• Recognizing error is constant across chips

• Error is small and easy to fix.

Page 14: Testing Arbiter: FUZZY LOGIC CONTROLLER

In Conclusion…In Conclusion…

• We have: • Demonstrated that a programmable fuzzy logic

architecture is possible on small chip-size.• Experienced first-hand the importance of Design-for-

Test

• Special thanks to: • Dr. Cavallaro• AMD• MOSIS