Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus 1 Hierarchical Test Technology for Systems on a Chip (SoCs) Heinrich Theodor Vierhaus Brandenburg University of Technology Cottbus Computer Engineering Group
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Outline 1. Multi-Processor System on a Chip (SoC) 3. A Hierarchical Self Test Scheme 2. Test Requirements for SoCs 4. The Test Processor 5. Functional Self Test 6. Testing Local and Global Bus Structures 7. Supporting On-line-Test 8. Lots of Unsolved Problems
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Multi-Processor System on a Chip (MP-SoC) State-of-the-art SoCs are heterogeneous multi-processor systems with asynchronous communication. Traditional IC test technology works on synchronous systems only.
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Multi-Processor System on a Chip
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Structure of an MP-SoC Multiple processor devices Multiple local and global interconnects Embedded memories Locally synchronous, globally asynchronous Limited external test access Building blocks not designed for test
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Test Technology for SoCs Not everything is new, but almost everything is bigger....
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Test Requirements for SoCs SoCs are increasingly used in safety- critical application SoCs need to be designed for self test in the field SoC test technology should be useful for production test and self test in the field
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Status of Test Technology Wrappers around functional blocks for improved (functional) test access (IEEE P 1500) Scan-based logic test using multiple scan paths and test pattern compaction / de-compaction (e.g. EDT, Mentor Graphics) Logic BIST with deterministic patterns, BIST for embedded memories (e. g. U. Stuttgart and Philips) Remaining Problems: Testing busses and other interconnects at speed Off-line test in the field Online-test, error correction
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Can HW-based BIST solve all problems? BIST functions often need an external device (e. g. an IC tester) for overall control HW-based BIST is difficult to modify according to learning curves Deterministic HW BIST costs overhead But HW BIST can be part of SW-based self test schemes for startup-test in the field!
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai A Hierarchical Self Test Technology for SoCs Processor-based systems open a new dimension for self test. But you need a reliable core to start with...
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Can SoCs Test Themselves ? Partly Yes!! - Embedded memories are equipped for structure-oriented self test - Processors or other blocks may have logic BIST facilities But such functions are not accessible for a functional self test after production!
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Bottom-Up Test Scheme for Startup-Tests Boot Device triggers external logic test / BIST and memory BIST Step 3 Functional tests e. g. for local interconnects Step 4 Step 2 Boot Device tests vital global interconnects Step 1 Boot Device Memory BIST and Self Test
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai MP-SoC with Test Processor Test- Processor Test Pr.- Memory Local Memory DSP Local Memory DSP RISC Local Memory FU 1FU 2FU 3 Scan-Controller Scan Contr. B I S T B I S T B I S T BIST control Control & data transfer for embedded scan test
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Test- processor Testpr.- Memory Lokales Memory DSP Lokales Memory DSP RISC Lokales Memory FU 1FU 2FU 3 Scan-Controller B I S T Scan Contr. B I S T B I S T B I S T BIST Tester SoC- Production Test
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai The Test Processor Why cant we take on of the processors on an SoC and have it doing all test functions in software?
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Boundary Conditions An internal test processor replaces the external tester for off-line self tests in the field. Time-critical functions have to be covered by local self test, e. g. for memory blocks. A processor that governs test functions has to be deterministic and self-testing. These features are not available from standard processors. If we afford an additional test processor, the device must be small and low power.
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai The Test Processor 16 Bit RISC Architecture (no pipelines) DLX-compatible instruction set Internal registers can be configured to work as LFSR and / or MISR with special instructions Fast comparison of external port registers for watchdog operation Designed for optimized functional testability of logic, registers, ports and internal busses Control logic with on-line self test features Complexity: 5000 gates (for FPGA implementation) Functional test procedure: 2948 Bytes
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Test Processor Data Path
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Test Processor Control Logic Sequencer C o n t r o l W o r d Instruction Decoder Control Logic Flags Stop Reset IR Clock Q T Y BUS Control Lines
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Test Processor Special Self-Test Features Testability of busses and register files for static and dynamic faults On-line self test strategy for control logic Special hardware support to validate the number of clock cycles required for a test routine Minimum size test routine exhibity reasonable stuck-at fault coverage: 93.3% data path, 86.2 % control logic, 64.9 % I / O ports
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Bus-Tests Local bus structures (e. g. within a processor device) on SoCs can only be tested functionally. Global bus structures are frequently operated asynchronously, but require a deterministic test under worst case conditions.
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Dynamic Worst Case Test Bus- Driver Recei- ver testSequence1 pattern propagation reflected pattern testSequence n 0
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Testing Bus Structures Test- Processor I / O-Buffers Bus Master Bus Master Bus Master Bus Master Bus Master Bus Master Bus Reflector bus stuck-atfault / bridgefault shielding bus line resistance
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Test Scheme for Global Bus Tests Test processor with special bus write / read instruction for 2 parallel ports Bus masters replaced by bus reflector devices that reflect incoming signals after one clock with inversion Bus reflectors can be controlled using bus request / bus access grant lines
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Bus-Test-Reflector from bus inv ctrl to Bus Bus Master Reflector
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Bus Test Timing
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Control Scheme for Bus Tests Test Processor (replacing bus arbiter device) Bus Master Bus Master Bus Master clock reflector select invert control data lines Busreflector
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Test Processor with Periphery for Bus-Test General Purpose Register LFSR / MISR ALU Control Par.I / O P1 Par.I / O S1 Ser. I / O P2 Par. I / O A Fast compare B Par. I / O Par I / O Bus Select Reflector Refl. Invert Control, set to 1 Error- Bit Clock cycle t Clock cycle (t+1) clock for. Reflector
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Bus-Test with Parity Check Test Processor Core Parity Encoder Bus Reflector Parity Check Error bit Parity bit Bus I /O MISR I /O I /O Registers
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Parity-Bit with functional Test Test Processor Core Parity encoder Bus Reflector Parity Check Error bit Parity bit Parity latch I / O Tristate driver I / O Con- trol (Bus-Reflector is inactive) A false word with parity can be sent around the encoder. The good word is encoded in the normal output.
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Can we Test Faults on Memory Interfaces of External Processors? Test-Processor P0 P1 Bus-Interface CPU Local Memory Addresses Daten BK Bus-Interface P4 I / O 2 parallel 16-Bit I / O Register P2 P3 BKL Global test bus control Yes, but we need a separate test bus. And we Cannot test the I / O ports of the external CPU.
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Testing Logic Units on an SoC Pure functional tests for logic units hardly reaches 99 % static fault coverage. Embedded scan test is feasible with close-to 100 % coverage of static faults (only) Test patterns for scan test can be compacted by a factor of 30 to 50. Compaction rates for functional tests may Reach a factor of 2 to 5 only.
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Supporting On-line-Test Can we use structures that are necessary for off-line self test also for on-line test??
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai On-line-Test for Self-Testing Processors Counter Error bits Counter Error bits Test bus Enable Control bits Test Processor ls Watchdog reset Data path Control - path checker
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Intelligent Watchdog-Function Supervising Code Addressing
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Maximum-Minimum Observation Main ProcessorMemory Address Data Address Select Watchdog Processor Variable ident Variable value Critical Variables Min, Max, maxrise, maxfall Interrupt Test bus
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Error Correction Main ProcessorMemory Address Data Address Select Watchdog Processor Variable ident Variable value Critical Variables Min, Max, maxrise, maxfall Interrupt Test bus Probable data value Corected value real address
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus H. T. Vierhaus Mai Lots of Unsolved Problems Software Validation / Verification Hardware test for large complexities and dynamic faults in combination Fault tolerant system design for multiple faults Fault diagnosis and self repair