1 / 29


Video-BIST. A look into the world of video and self-testing MPEG chips. Orijit Dhar and Darryl Prudich. Outline. Video, Video, and Video. Compression 101 The MPEG Decoder What is BIST? Our Analysis Implementation Results. Awesome Video.

Download Presentation


An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

  1. Video-BIST A look into the world of video and self-testing MPEG chips Orijit Dhar and Darryl Prudich

  2. Outline Video, Video, and Video. Compression 101 The MPEG Decoder What is BIST? Our Analysis Implementation Results

  3. Awesome Video • A quick succession of images to produce the ‘illusion’ of movement. • Persistence of vision • Nanosecond impulse > millisecond response • But can we tell a defective image from a good one?

  4. Why Compression? One frame: 24 X 3840 X 2196 = 193 MB @30FPS: = 5.8 Gbps Each pixel takes 24 bits 3840 2196 TIME TO UPGRADE YOUR BROADBAND!!

  5. Colors and Brightness 2 Bit Video - Monochrome http://hyperphysics.phy-astr.gsu.edu 8 Bit Video – 256 colors 7 Million Cones: 64%R-32%G-4%B 120 Million Rods: Brightness

  6. Spatial Redundancy

  7. Temporal Redundancy Difference Image Sum—Final Image First frame Compensated Image

  8. BIST at Work Device Under Test Compile Outputs into Signature ‘Fake’ Inputs • BIST—Built In Self Test • Random inputs generated, expected results hard-wired • At runtime, same test is run, compare results

  9. BIST-Kills Bug Dead!

  10. Our Solution Since we’re dealing with numbers (pixel values), let’s just keep accumulating the sum of outputs, and use this as a signature Allows for many small errors Allows for a few big ones

  11. Basic Decoder System Prediction Engine Previous Frame Bit-stream Generator Checker Motion Compensator Bitstream System Controller To Rasterizer Frame Buffer VLD Inverse Quantizer IDCT Difference Engine

  12. What can go wrong? VLD Inverse Quantizer IDCT

  13. Bug in Inverse-Quantizer VLD Inverse Quantizer IDCT

  14. Bug in IDCT VLD Inverse Quantizer IDCT

  15. Fault injection • Into signals in VLD, IQ and IDCT • Across various bit significance • Injection in control logic and datapath

  16. Fault classes • System Failure • Control corruption • DE – MC synchronization failure • Catastrophic • Frequency information corruption • High significance bit failure • Insignificant • Logical masking • Optical masking • Locality • Bit significance

  17. The Math of failure - VLC

  18. The Math of failure - IQ

  19. The Math of failure - IDCT

  20. Choosing Thresholds • Diffuse random errors generate low accumulated pixel difference • Local highly deterministic error generate high accumulated errors. Eg. A s-a-1 fault on the 5th bit of the result MAC will always add 32 to the pixel. • To avoid the false negatives from the IDCT, we need individual checkers at each pixel row. • We feel a pixel error rate of 0.2/pixel/cycle is sufficient to catch the errors we want.

  21. Implementation Details Bit-stream Generation—MPEG is confusing! Q: How can I make a legitimate bit-stream and not blow up in area? A: Look for patterns, and get a little help from the decoder itself!

  22. Bitstream Isn’t Random—Look for Patterns Series of ones Series of zeros Series of random bits Split bit-stream generation into many modes… -Allows us to share the LFSR (random number generator) Keep a few internal bits for the current state Make use of system flags to help guide us

  23. Feedback I need a !!! 0 0 Bit-stream Generator X VLD Inverse Quantizer IDCT 0011010011010 1001101001101 0100110100110 0010011010011

  24. Implementation Details Bit-stream Generator VLD Inverse Quantizer IDCT Checker For the checker, keep a running sum of the system outputs, and compare when BIST MODE is over

  25. Experimental Results Normalizing results to area, our system correctly bins an estimated 97.6% of errors Imperfections come from feedback loops

  26. Area Overhead Area overhead for the core—2.9% Checks 71.1% of core area Area overhead compared to whole chip—0.1%

  27. Lessons Learned It helps to start with a stable baseline Be prepared for iterations

  28. Group Dynamic It was AWESOME!! Orijit moral guidance, animated slides, fault analysis Darryl everything else, texty slides, RTL

  29. Q & A

More Related