Presenter: Jyun-Yan Li Effective Software-Based Self-Test Strategies for On-Line Periodic Testing of Embedded Processors Antonis Paschalis Department of.

Slides:



Advertisements
Similar presentations
Machine cycle.
Advertisements

Presenter: Jyun-Yan Li On the Generation of Functional Test Programs for the Cache Replacement Logic W. J. Perez H. Universidad del Valle Grupo de Bionanoelectrónica.
Pipelining (Week 8).
6-1 Chapter 6 - Datapath and Control Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of Computer Architecture.
Final Project : Pipelined Microprocessor Joseph Kim.
Data Dependencies Describes the normal situation that the data that instructions use depend upon the data created by other instructions, or data is stored.
1 ITCS 3181 Logic and Computer Systems B. Wilkinson Slides9.ppt Modification date: March 30, 2015 Processor Design.
Presenter: Jyun-Yan Li A Software-Based Self-Test Methodology for On-Line Testing of Processor Caches G. Theodorou, N. Kranitis, A. Paschalis, D. Gizopoulos.
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 23 - Course.
Embedded Hardware and Software Self-Testing Methodologies for Processor Cores Li Chen, Sujit Dey, Pablo Sanchez, Krishna Sekar, and Ying Chen Design Automation.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
Scheduling Reusable Instructions for Power Reduction J.S. Hu, N. Vijaykrishnan, S. Kim, M. Kandemir, and M.J. Irwin Proceedings of the Design, Automation.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Functional Coverage Driven Test Generation for Validation of Pipelined Processors P. Mishra and N. Dutt Proceedings of the Design, Automation and Test.
Review for Midterm 2 CPSC 321 Computer Architecture Andreas Klappenecker.
7/2/ _23 1 Pipelining ECE-445 Computer Organization Dr. Ron Hayne Electrical and Computer Engineering.
TOPIC : Introduction to BIST and types of BIST
The Processor Andreas Klappenecker CPSC321 Computer Architecture.
The Processor Data Path & Control Chapter 5 Part 1 - Introduction and Single Clock Cycle Design N. Guydosh 2/29/04.
Pipelining. Overview Pipelining is widely used in modern processors. Pipelining improves system performance in terms of throughput. Pipelined organization.
Lecture 13 - Introduction to the Central Processing Unit (CPU)
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Presenter: Jyun-Yan Li Multiplexed redundant execution: A technique for efficient fault tolerance in chip multiprocessors Pramod Subramanyan, Virendra.
Presenter: Jyun-Yan Li A software-based self-test methodology for in-system testing of processor cache tag arrays G. Theodorou, N. Kranitis, A. Paschalis.
Presenter: Jyun-Yan Li Specification-based Compaction of Directed Tests for Functional Validation of Pipelined Processors Heon-Mo Koo Intel Corporation,
Computer Architecture Project Team A Sergio Rico, Ertong Zhang, Vlad Chiriacescu, ZhongYin Zhang.
Computer Architecture and Organization Introduction.
Presenter: Jyun-Yan Li Systematic Software-Based Self-Test for Pipelined Processors Mihalis Psarakis Dimitris Gizopoulos Miltiadis Hatzimihail Dept. of.
Presenter : Ching-Hua Huang 2013/9/16 Visibility Enhancement for Silicon Debug Cited count : 62 Yu-Chin Hsu; Furshing Tsai; Wells Jong; Ying-Tsai Chang.
A RISC ARCHITECTURE EXTENDED BY AN EFFICIENT TIGHTLY COUPLED RECONFIGURABLE UNIT Nikolaos Vassiliadis N. Kavvadias, G. Theodoridis, S. Nikolaidis Section.
Top Level View of Computer Function and Interconnection.
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
Computer Design Basics
Presenter: Jyun-Yan Li A hybrid approach to the test of cache memory controllers embedded in SoCs’ W. J. Perez, J. Velasco Universidad del Valle Grupo.
Chapter 2 Summary Classification of architectures Features that are relatively independent of instruction sets “Different” Processors –DSP and media processors.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Lecture 8: Processors, Introduction EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014,
Section one revision:1. Computer Systems To be able to Identify and describe computer systems To demonstrate an understanding of the Central Processing.
EEE440 Computer Architecture
Pipeline Hazards. CS5513 Fall Pipeline Hazards Situations that prevent the next instructions in the instruction stream from executing during its.
Computer Architecture 2 nd year (computer and Information Sc.)
Processor Architecture
Technical University Tallinn, ESTONIA Copyright by Raimund Ubar 1 Raimund Ubar N.Mazurova, J.Smahtina, E.Orasson, J.Raik Tallinn Technical University.
Power Analysis of Embedded Software : A Fast Step Towards Software Power Minimization 指導教授 : 陳少傑 教授 組員 : R 張馨怡 R 林秀萍.
LECTURE 10 Pipelining: Advanced ILP. EXCEPTIONS An exception, or interrupt, is an event other than regular transfers of control (branches, jumps, calls,
Prefetching Techniques. 2 Reading Data prefetch mechanisms, Steven P. Vanderwiel, David J. Lilja, ACM Computing Surveys, Vol. 32, Issue 2 (June 2000)
Winter-Spring 2001Codesign of Embedded Systems1 Essential Issues in Codesign: Architectures Part of HW/SW Codesign of Embedded Systems Course (CE )
TITLE : types of BIST MODULE 5.1 BIST basics
Computer Architecture Organization and Architecture
Morgan Kaufmann Publishers
Exam 2 Review Two’s Complement Arithmetic Ripple carry ALU logic and performance Look-ahead techniques, performance and equations Basic multiplication.
Morgan Kaufmann Publishers
CDA 3101 Spring 2016 Introduction to Computer Organization
Pipelining: Advanced ILP
Computer Organization “Central” Processing Unit (CPU)
ECEG-3202 Computer Architecture and Organization
CSC 4250 Computer Architectures
ARM implementation the design is divided into a data path section that is described in register transfer level (RTL) notation control section that is viewed.
ECEG-3202 Computer Architecture and Organization
Control unit extension for data hazards
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Fundamental Concepts Processor fetches one instruction at a time and perform the operation specified. Instructions are fetched from successive memory locations.
COMS 361 Computer Organization
October 29 Review for 2nd Exam Ask Questions! 4/26/2019
Presentation transcript:

Presenter: Jyun-Yan Li Effective Software-Based Self-Test Strategies for On-Line Periodic Testing of Embedded Processors Antonis Paschalis Department of Informatics & Telecommunications University of Athens, Greece Dimitris Gizopoulos Department of Informatics University of Piraeus, Greece Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE’04) Citing count: 12

Software-based self-test (SBST) strategies are particularly useful for periodic testing of deeply embedded processors in low cost embedded systems that do not require immediate detection of errors and cannot afford the well-known hardware, software, or time redundancy mechanisms. In this paper, first, we identify the stringent characteristics of an SBST test program to be suitable for on-line periodic testing. Then, we introduce a new SBST methodology with a new classification scheme for processor components. 2

After that, we analyze the self-test routine code styles for the three more effective test pattern generation (TPG) strategies in order to select the most effective self-test routine for on-line periodic testing of a component under test. Finally, we demonstrate the effectiveness of the proposed SBST methodology for on-line periodic testing by presenting experimental results for a RISC pipeline processor. 3

On-line test divides into concurrent and non-concurrent  Concurrent utilizes hardware redundancy techniques 。 Large increase silicon area  Non-concurrent is useful for periodic testing Usually use hardware-based self-test (HBST) for on-line periodic testing  Decrease performance, hardware overhead and increase power consumption for embedded processor Using software-based self-test (SBST)  Generates high fault coverage test program 。 Small memory footprint, small execution time and low power consumption 4

5 SBST functional structural randomized [5-7] randomized [5-7] Regular deterministic TPG [9-10] Regular deterministic TPG [9-10] Test the critical components, like arithmetic & logic, register files Effective Software-Based Self-Test Strategies for On-Line Periodic Testing of Embedded Processors This paper: Targeting processor components [8-10] Targeting processor components [8-10] MIPS Plasma [13] MIPS Plasma [13] 3 stage pipeline with forwarding RISC processor high abstraction level as Instruction Set Architecture targeting processor Components as RTL descriptions High fault coverage, but large number of instruction Divide and conquer

Test program execution time < a quantum time cycle  If > quantum time, context switch overheads Without unresolved data hazards  Reduce pipeline stall cycles Temporal locality for loop, spatial locality for sequentially executed instruction  Reduce memory stall cycles Small data structured in arrays  Reduce memory stall cycles 6

Information extraction  Identify the component’s inputs and outputs 。 Multiplexers Near input and out  Identify instruction that carry out specific operation  Identify appropriate instruction(s) to control them 7 Information Extraction Component Classification & Test Priority (visible, partially, hidden) Self-Test Routine Development (selection among 3 TPG strategies) Phase A Phase B Phase C

Visible components (VC)  Data VC (D-VC) 。 ALU, shifter, register file, data field of pipeline register  Address VC (A-VC) 。 Instruction fetch unit, memory address register  Mixed (address-data) VC (M-VC) 。 PC-relative addressing Partially visible components (PVC)  Generate control signal as Processor Control Unit 。 implemented as FSM Hidden components (HC)  Increase performance 。 Forwarding unit, hazard detection unit 8

9 Data visible components (D-VC) Partially visible components (PVC) Address visible components (A-VC) Mixed visible components (M-VC) Test priority Input: (1) immediate (2) register (3) data memory Output: (1) register file (2) data memory (3) data register Affect the operation of visible components A lot of memory reference & cache miss overhead

Combinational D-VC, Low gate-level 2 ways:  Immediate addressing  In the memory and loop-based routine fetch 10 Under test instruction Store final result to memory Immediate addressing Loop-based

Combinational D-VC, low gate-level Loop-based software LFSR self-test routine 11 Implement software LFSR Under test instruction Store final result to memory

Combinational or sequential D-VC, High-level 2 ways:  Immediate addressing  In the memory and loop-based routine fetch 12 Under test instruction Store final result to memory

Deterministic ATPG based (immediate) Deterministic ATPG based (loop) Psedorandom based Regular deterministic based application Combinational D-VC Combinational D-VC with irregular structure Combinational or Sequential D-VC strategyLow gate-level High level Execution time SmallLargeLarge(*) Miss rateHigh I$ Low I$ High D$ Low I$ feature Number of test patterns is small acceptable fault coverage High fault coverage 13 (*): no describing in the paper

32 bits, 3 stage pipeline with forwarding MIPS processor  gates by 0.35um  Cache miss rate = 5%, miss penalty = 20 clock cycle  quantum time cycle = for testing memory controller 7 for unloaded to data memory

3 SBST strategy for on-line periodic testing  Deterministic ATPG based  Psedorandom based  Regular deterministic based To improve reliability of embedded system My comment  Aim processor component 。 The programmer have to know the most critical component  How to compact test responses 15