Presenter: Jyun-Yan Li Systematic Software-Based Self-Test for Pipelined Processors Mihalis Psarakis Dimitris Gizopoulos Miltiadis Hatzimihail Dept. of.

Slides:



Advertisements
Similar presentations
CPU Structure and Function
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).
Final Project : Pipelined Microprocessor Joseph Kim.
ILP: IntroductionCSCE430/830 Instruction-level parallelism: Introduction CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Yifeng.
1 Pipelining Part 2 CS Data Hazards Data hazards occur when the pipeline changes the order of read/write accesses to operands that differs from.
COMP25212 Further Pipeline Issues. Cray 1 COMP25212 Designed in 1976 Cost $8,800,000 8MB Main Memory Max performance 160 MFLOPS Weight 5.5 Tons Power.
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.
Lecture Objectives: 1)Define pipelining 2)Calculate the speedup achieved by pipelining for a given number of instructions. 3)Define how pipelining improves.
1 VR BIT MICROPROCESSOR โดย นางสาว พิลาวัณย์ พลับรู้การ นางสาว เพ็ญพรรณ อัศวนพเกียรติ
Presenter: Jyun-Yan Li Design Fault Directed Test Generation for Microprocessor Validation Deepak A. Mathaikutty, Sandeep K. Shukla FERMAT Lab, Virginia.
Chapter 12 CPU Structure and Function. CPU Sequence Fetch instructions Interpret instructions Fetch data Process data Write data.
Computer Organization and Architecture
Computer Organization and Architecture
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.
S. Barua – CPSC 440 CHAPTER 6 ENHANCING PERFORMANCE WITH PIPELINING This chapter presents pipelining.
Computer Organization and Architecture The CPU Structure.
Embedded Hardware and Software Self-Testing Methodologies for Processor Cores Li Chen, Sujit Dey, Pablo Sanchez, Krishna Sekar, and Ying Chen Design Automation.
1  2004 Morgan Kaufmann Publishers Chapter Six. 2  2004 Morgan Kaufmann Publishers Pipelining The laundry analogy.
1 Lecture 5: Pipeline Wrap-up, Static ILP Basics Topics: loop unrolling, VLIW (Sections 2.1 – 2.2) Assignment 1 due at the start of class on Thursday.
Chapter 12 CPU Structure and Function. Example Register Organizations.
DLX Instruction Format
Functional Coverage Driven Test Generation for Validation of Pipelined Processors P. Mishra and N. Dutt Proceedings of the Design, Automation and Test.
BIST vs. ATPG.
Pipelining By Toan Nguyen.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
Lecture 15: Pipelining and Hazards CS 2011 Fall 2014, Dr. Rozier.
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: Hong-Wei Zhuang On-Chip SOC Test Platform Design Based on IEEE 1500 Standard Very Large Scale Integration (VLSI) Systems, IEEE Transactions.
TRIPS – An EDGE Instruction Set Architecture Chirag Shah April 24, 2008.
Presenter: Jyun-Yan Li Effective Software-Based Self-Test Strategies for On-Line Periodic Testing of Embedded Processors Antonis Paschalis Department of.
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.
Presenter : Cheng-Ta Wu David Lin1, Ted Hong1, Farzan Fallah1, Nagib Hakim3, Subhasish Mitra1, 2 1 Department of EE and 2 Department of CS Stanford University,
Presented By: Rodney Fluharty Dec. 07, Who is ARM? Advanced Risc Microprocessor is the industry's leading provider of 16/32-bit embedded RISC microprocessor.
VLIW Digital Signal Processor Michael Chang. Alison Chen. Candace Hobson. Bill Hodges.
Computer Architecture 2 nd year (computer and Information Sc.)
Chapter 6 Pipelined CPU Design. Spring 2005 ELEC 5200/6200 From Patterson/Hennessey Slides Pipelined operation – laundry analogy Text Fig. 6.1.
Chapter 5: Computer Systems Design and Organization Dr Mohamed Menacer Taibah University
Von Neumann Computers Article Authors: Rudolf Eigenman & David Lilja
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
11 Pipelining Kosarev Nikolay MIPT Oct, Pipelining Implementation technique whereby multiple instructions are overlapped in execution Each pipeline.
Introduction to Computer Organization Pipelining.
LECTURE 10 Pipelining: Advanced ILP. EXCEPTIONS An exception, or interrupt, is an event other than regular transfers of control (branches, jumps, calls,
CPUz 4 n00bz.
Introduction to Exceptions 1 Introduction to Exceptions ARM Advanced RISC Machines.
Pipelining: Implementation CPSC 252 Computer Organization Ellen Walker, Hiram College.
CS 352H: Computer Systems Architecture
Computer Organization CS224
Pipelining: Advanced ILP
Pipelining and Vector Processing
The processor: Pipelining and Branching
CSC 4250 Computer Architectures
Control unit extension for data hazards
Project Instruction Scheduler Assembler for DLX
Control Hazards Branches (conditional, unconditional, call-return)
Control unit extension for data hazards
ARM ORGANISATION.
Dynamic Hardware Prediction
Course Outline for Computer Architecture
Control unit extension for data hazards
Interrupts and exceptions
Presentation transcript:

Presenter: Jyun-Yan Li Systematic Software-Based Self-Test for Pipelined Processors Mihalis Psarakis Dimitris Gizopoulos Miltiadis Hatzimihail Dept. of Informatics, University of Piraeus, Greece Antonis Paschalis Dept. of Informatics & Telecomm., University of Athens, Greece Anand Raghunathan Srivaths Ravi NEC Laboratories America, Princeton, NJ, USA DAC2006, July24-28,2006, San Francisco, California, USA.

Software-based self-test (SBST) has recently emerged as an effective methodology for the manufacturing test of processors and other components in Systems-on-Chip (SoCs). By moving test related functions from external resources to the SoC's interior, in the form of test programs that the on-chip processor executes, SBST eliminates the need for high-cost testers, and enables high-quality at-speed testing. Thus far, SBST approaches have focused almost exclusively on the functional (directly programmer visible) components of the processor. In this paper, we analyze the challenges involved in testing an important component of modem processors, namely, the pipelining logic, and propose a systematic SBST methodology to address them. We first demonstrate that SBST programs that only target the functional components of the processor are insufficient to test the pipeline logic, resulting in a significant loss of fault coverage. We further identify the testability hotspots in the pipeline logic. Finally, we develop a systematic SBST methodology that enhances existing SBST programs to comprehensively test the pipeline logic. The proposed methodology is complementary to previous SBST techniques that target functional components (their results can form the input to our methodology), and can reuse the test development effort behind existing SBST programs. 2

We applied the methodology to two complex, fully pipelined processors. Results show that our methodology provides fault coverage improvements of up to 15% (12% on average) for the entire processor, and fault coverage improvements of 22% for the pipeline logic, compared to a conventional SBST approach. 3

Generate test pattern for functional behavior [2,3,4] Generate test pattern for functional behavior [2,3,4] testability [12] testability [12] This paper Systematic testability analysis of pipelined logic Function components self- test routines for ISA and RTL Component- oriented SBST [8] Component- oriented SBST [8] Advance SBST [9,10] Advance SBST [9,10] Testing for complex RISC Random or pseudorandom instruction sequence No hazard dection & data forwarding miniMIPS & OpenRISC 1200 [14,15] miniMIPS & OpenRISC 1200 [14,15] 4 No provide fault coverage for entire processor

Testability  Logic carrying address-related information 。 Pipelined register of address information is used by other components 。 ex: bus controller, program counter, exception unit  Hazard detection and forwarding 。 input data is from forwarding unit rather than from source register 5

Partition SBST program into multiple code segment and divide virtual memory into some regions Load code segment into region in virtual memory Mapping virtual memory to instruction memory 0, m/r-1, 2m/r-1 6

Path1 : PC and IF fault propagated to address bus through bus controller Path2 : ID and EX fault Path3 : use link instruction occur in the ID and EX Path4 : use exception occur in the EX and MEM 7

Processor has n stages  Ia: result at p stage, store at s stage  Ib: read at d stage, actually need at f stage Lemma 1  If s-d < c, no hazard, c:distance between two instruction  If s-d ≥ c, hazard 。 If p-f ≥ c, unresolved 。 If p-f < c, can resolved 8

Functional SBST code Identification of def-use pairs Generation of test code variants loop unrolling Modification of the SBST code Insertion of jump instructions Address faults propagation Enhanced SBST code Partition of SBST program Pipeline description Memory and cache parameters Phase1Phase1 Phase2Phase2 forwarding Address- related 9 Enhanced code Data dependency & loop 1. N stage 2. Each stage function 3. Forwarding path All possible dependencies between instructions 1. Virtual memory size 2. Physical memory size 3. Program size

miniMIPS: 100MHz and gates OpenRSIC: 102MHz and gates Improve 22% for pipeline 10

Fault coverage improve 12% on an average for entire processor 11 Without multiplier Original With multiplier

This paper present an enhance SBST methodology for pipelined processor  Address-related component  Hazard detection and forwarding mechanism 12

Using lemma 1 to verify forwarding unit for different processor It not describe how to loop unrolling and select code variants clearly 13

14

15