Presenter: Jyun-Yan Li Specification-based Compaction of Directed Tests for Functional Validation of Pipelined Processors Heon-Mo Koo Intel Corporation,

Slides:



Advertisements
Similar presentations
Promising Directions in Hardware Design Verification Shaz Qadeer Serdar Tasiran Compaq Systems Research Center.
Advertisements

Final Project : Pipelined Microprocessor Joseph Kim.
ILP: IntroductionCSCE430/830 Instruction-level parallelism: Introduction CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Yifeng.
Data Dependencies Describes the normal situation that the data that instructions use depend upon the data created by other instructions, or data is stored.
A scheme to overcome data hazards
Dynamic Branch PredictionCS510 Computer ArchitecturesLecture Lecture 10 Dynamic Branch Prediction, Superscalar, VLIW, and Software Pipelining.
Instruction Set Issues MIPS easy –Instructions are only committed at MEM  WB transition Other architectures are more difficult –Instructions may update.
Lecture Objectives: 1)Define pipelining 2)Calculate the speedup achieved by pipelining for a given number of instructions. 3)Define how pipelining improves.
Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).
Presenter: Jyun-Yan Li Design Fault Directed Test Generation for Microprocessor Validation Deepak A. Mathaikutty, Sandeep K. Shukla FERMAT Lab, Virginia.
Microprocessor Microarchitecture Dependency and OOO Execution Lynn Choi Dept. Of Computer and Electronics Engineering.
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.
08/31/2001Copyright CECS & The Spark Project SPARK High Level Synthesis System Sumit GuptaTimothy KamMichael KishinevskyShai Rotem Nick SavoiuNikil DuttRajesh.
Embedded Software Optimization for MP3 Decoder Implemented on RISC Core Yingbiao Yao, Qingdong Yao, Peng Liu, Zhibin Xiao Zhejiang University Information.
Specification and Encoding of Transaction Interaction Properties Divjyot Sethi Yogesh Mahajan Sharad Malik Princeton University Hardware Verification Workshop.
1 A Tree Based Router Search Engine Architecture With Single Port Memories Author: Baboescu, F.Baboescu, F. Tullsen, D.M. Rosu, G. Singh, S. Tullsen, D.M.Rosu,
1 Recap (Pipelining). 2 What is Pipelining? A way of speeding up execution of tasks Key idea : overlap execution of multiple taks.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Scheduling Reusable Instructions for Power Reduction J.S. Hu, N. Vijaykrishnan, S. Kim, M. Kandemir, and M.J. Irwin Proceedings of the Design, Automation.
Multithreaded ASC Kevin Schaffer and Robert A. Walker ASC Processor Group Computer Science Department Kent State University.
Presenter: Jyun-Yan Li Multiprocessor System-on-Chip Profiling Architecture: Design and Implementation Po-Hui Chen, Chung-Ta King, Yuan-Ying Chang, Shau-Yin.
Functional Coverage Driven Test Generation for Validation of Pipelined Processors P. Mishra and N. Dutt Proceedings of the Design, Automation and Test.
The Basics: Pipelining J. Nelson Amaral University of Alberta 1.
Lec 9: Pipelining Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University.
Reconfigurable Computing in the Undergraduate Curriculum Jason D. Bakos Dept. of Computer Science and Engineering University of South Carolina.
Computer Architecture
Pipelining By Toan Nguyen.
Presenter : Cheng-Ta Wu Vijay D’silva, S. Ramesh Indian Institute of Technology Bombay Arcot Sowmya University of New South Wales, Sydney.
Chun Chiu. Overview What is RISC? Characteristics of RISC What is CISC? Why using RISC? RISC Vs. CISC RISC Pipelines Advantage of RISC / disadvantage.
Presenter: Jyun-Yan Li Systematic Software-Based Self-Test for Pipelined Processors Mihalis Psarakis Dimitris Gizopoulos Miltiadis Hatzimihail Dept. of.
Pipeline Hazard CT101 – Computing Systems. Content Introduction to pipeline hazard Structural Hazard Data Hazard Control Hazard.
Presenter: Jyun-Yan Li Effective Software-Based Self-Test Strategies for On-Line Periodic Testing of Embedded Processors Antonis Paschalis Department of.
SPREE RTL Generator RTL Simulator RTL CAD Flow 3. Area 4. Frequency 5. Power Correctness1. 2. Cycle count SPREE Benchmarks Verilog Results 3. Architecture.
Sogang University Advanced Computing System Chap 2. Processor Technology Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
ECE 353 Lab 2 Pipeline Simulator. Aims Further experience in C programming Handling strings Further experience in the use of assertions Reinforce concepts.
Processor Types And Instruction sets Chapter- 5.
Oct. 18, 2000Machine Organization1 Machine Organization (CS 570) Lecture 4: Pipelining * Jeremy R. Johnson Wed. Oct. 18, 2000 *This lecture was derived.
3/12/2013Computer Engg, IIT(BHU)1 CONCEPTS-1. Pipelining Pipelining is used to increase the speed of processing It uses temporal parallelism In pipelining,
LECTURE 10 Pipelining: Advanced ILP. EXCEPTIONS An exception, or interrupt, is an event other than regular transfers of control (branches, jumps, calls,
Csci 136 Computer Architecture II – Superscalar and Dynamic Pipelining Xiuzhen Cheng
Microprocessor Design Process
CS 352H: Computer Systems Architecture
ECE 353 Lab 3 Pipeline Simulator
Exceptions Another form of control hazard Could be caused by…
Computer Organization CS224
Sequential logic design principles
Performance of Single-cycle Design
Morgan Kaufmann Publishers The Processor
Pipeline Implementation (4.6)
ECE 353 Lab 3 Pipeline Simulator
Pipelining: Advanced ILP
CSCI206 - Computer Organization & Programming
Topic 6: Pipelining and Pipelined Architecture
CS 704 Advanced Computer Architecture
Systems Architecture II
Understanding the TigerSHARC ALU pipeline
Topic 5: Processor Architecture Implementation Methodology
Pipeline control unit (highly abstracted)
Control unit extension for data hazards
Topic 6: Pipelining and Pipelined Architecture
Pipeline control unit (highly abstracted)
Pipelining: Basic Concepts
Pipeline Control unit (highly abstracted)
Control unit extension for data hazards
Morgan Kaufmann Publishers The Processor
*Qiang Zhu Fujitsu Laboratories LTD. Japan
Control unit extension for data hazards
Systems Architecture II
The Processor: Datapath & Control.
Presentation transcript:

Presenter: Jyun-Yan Li Specification-based Compaction of Directed Tests for Functional Validation of Pipelined Processors Heon-Mo Koo Intel Corporation, 1900 Prairie City Road Folsom, CA 95630, USA Prabhat Mishra Computer & Information Science & Engineering,University of Florida, Gainesville, FL 32611, USA CODES+ISSS '08 Proceedings of the 6th IEEE/ACM/IFIP international conference on Hardware/Software codesign and system synthesis

Functional validation is a major bottleneck in microprocessor design methodology. Simulation is the widely used method for functional validation using billions of random and biased-random test programs. Although directed tests require a smaller test set compared to random tests to achieve the same functional coverage goal, there is a lack of automated techniques for directed test generation. Furthermore, the number of directed tests can still be prohibitively large. This paper presents a methodology for specification-based coverage analysis and test generation. The primary contribution of this paper is a compaction technique that can drastically reduce the required number of directed test programs to achieve a coverage goal. Our experimental results using a MIPS processor and an industrial processor (e500) demonstrate more than 90% reduction in number of directed tests without sacrificing the functional coverage goal. 2

Random and biased-random test program generation is widely used  Simulation-based validation in the design cycle  Directed test generation has shorter tests in the same coverage Directed test still large  Multiple pipeline interactions reaches the target functional  Test generation after compact  This paper present FSM directed test generation 3

4 FSM model [2, 20] FSM model [2, 20] Abstraction FSM model [3, 8, 13,15, 17] Abstraction FSM model [3, 8, 13,15, 17] Model checker [10, 11] Model checker [10, 11] Produce test program Static Test compaction Architecture Description Language (ADL) [12] Architecture Description Language (ADL) [12] Specification-based Compaction of Directed Tests for Functional Validation of Pipelined Processors This paper: Remove unreachable & redundant state Complex FSM models, state explosion problem Generated from the abstract FSM Define processor’s functionalities Reduce unnecessary state

FSM modeling of pipelined processor Remove unreachable states Remove illegal transitions Remove redundancy state Test generation 5

6 Processor’s state S k : SS 1 SS 2 SS U N bits stall

Identifying unreachable states  Pass instruction to either EX1 or EX2  State: xx0100xx or xx0001xx,not xx0101xx 7 ID EX1 EX2 EX1 EX2 Idle00 Normal op.01 Stall10 Exception11

Table 1  State: xx0001xx -> xx0101xx, not xx0001xx Table 2  State: xx01xx -> xx00xx or xx01xx or xx11xx, not xx10xx Table 3  State: xx11xxxx -> xx0000xx 8 ID EXE ID EXE norm al ID norm al ID EXE exce ption idle ID EXE idle Idle00 Normal op.01 Stall10 Exception11

Inevitable state  Only one state in the next state list  Example 。 State: xx11xx -> xx00xx 。 No need state : xx01xx, xx10xx 9 MEM exce ption idle Idle00 Normal op.01 Stall10 Exception11

Coverage-driven test selection  StateCovered flag 。 Initial = 0  TransitionCovered flag 。 Initial = 0 10 ID idle oper stall IF IALU SC ns TC ps … … … … =0 =1 SCStateCovered flag TCTransitionCovered flag psPrevious state nsNext state

Multi-exception at clock cycle 7  overflow exception in IALU  divide by zero exception in DIV  memory exception in the MEM 11 Original property Negated property Decomposed into 3 sub-properties Input source Test program

12 Remove unreachable state Remove illegal state & redundancy

Functional test compaction technique to reduce test program and achieve functional coverage 3 methods for compaction  Identifying unreachable states  Identifying illegal stage transitions  Identifying inevitable state My comment  A idea for functional verification by the state FSM  How to select test program to achieve 100% state and transition coverage 13

14