Intelligent Interleaving of Scenarios: A Novel Approach to System Level Test Generation Shady Copty, Itai Jaeger(*), Yoav Katz, Michael Vinov IBM Research.

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

© 2013 IBM Corporation Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Erez Bilgory Alex Goryachev Ronny.
SLAM: SLice And Merge – Effective Test Generation for Large Systems ICCAD’13 Review Reviewer: Chien-Yen Kuo.
Avishai Wool lecture Introduction to Systems Programming Lecture 8 Input-Output.
DIRECT MEMORY ACCESS CS 147 Thursday July 5,2001 SEEMA RAI.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Chapter 7 Interupts DMA Channels Context Switching.
TECH CH03 System Buses Computer Components Computer Function
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
1 COSC 3P92 Cosc 3P92 Week 11 Lecture slides Violence is the last refuge of the incompetent. Isaac Asimov, Salvor Hardin in "Foundation"
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
1 Computer System Overview Chapter 1 Review of basic hardware concepts.
Methods for checking simulation correctness How do you know if your testcase passed or failed?
Input / Output CS 537 – Introduction to Operating Systems.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
How Hardware and Software Work Together
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
MICROPROCESSOR INPUT/OUTPUT
I/O Systems I/O Hardware Application I/O Interface
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
I/O Example: Disk Drives To access data: — seek: position head over the proper track (8 to 20 ms. avg.) — rotational latency: wait for desired sector (.5.
Operating Systems Lecture 2 Processes and Threads Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of.
Top Level View of Computer Function and Interconnection.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
System bus.
Presenter : Ching-Hua Huang 2013/7/15 A Unified Methodology for Pre-Silicon Verification and Post-Silicon Validation Citation : 15 Adir, A., Copty, S.
Operating Systems Lecture 02: Computer System Overview Anda Iamnitchi
COMPUTER ORGANIZATIONS CSNB123 NSMS2013 Ver.1Systems and Networking1.
OSes: 11. FS Impl. 1 Operating Systems v Objectives –discuss file storage and access on secondary storage (a hard disk) Certificate Program in Software.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
The Macro Design Process The Issues 1. Overview of IP Design 2. Key Features 3. Planning and Specification 4. Macro Design and Verification 5. Soft Macro.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
EEE440 Computer Architecture
ECEG-3202 Computer Architecture and Organization Chapter 3 Top Level View of Computer Function and Interconnection.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem.
DECStation 3100 Block Instruction Data Effective Program Size Miss Rate Miss Rate Miss Rate 1 6.1% 2.1% 5.4% 4 2.0% 1.7% 1.9% 1 1.2% 1.3% 1.2% 4 0.3%
Lecture on Central Process Unit (CPU)
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
OSes: 2. Structs 1 Operating Systems v Objective –to give a (selective) overview of computer system architectures Certificate Program in Software Development.
Group 1 chapter 3 Alex Francisco Mario Palomino Mohammed Ur-Rehman Maria Lopez.
بسم الله الرحمن الرحيم MEMORY AND I/O.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
Direct Memory Access (DMA) Department of Computer Engineering, M.S.P.V.L. Polytechnic College, Pavoorchatram. A Presentation On.
Part IVI/O Systems Chapter 13: I/O Systems. I/O Hardware a typical PCI bus structure 2.
Amdahl’s Law & I/O Control Method 1. Amdahl’s Law The overall performance of a system is a result of the interaction of all of its components. System.
System on a Programmable Chip (System on a Reprogrammable Chip)
Introduction to Operating Systems Concepts
DIRECT MEMORY ACCESS and Computer Buses
Chapter Objectives In this chapter, you will learn:
CS703 - Advanced Operating Systems
QNX Technology Overview
Operating System Concepts
Operating System Introduction.
Chapter 1: Introduction CSS503 Systems Programming
Chapter 13: I/O Systems.
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

Intelligent Interleaving of Scenarios: A Novel Approach to System Level Test Generation Shady Copty, Itai Jaeger(*), Yoav Katz, Michael Vinov IBM Research Laboratory in Haifa

1 Outline System-level stimuli generation challenges System-level stimuli generation challenges Interaction based testcase generation Interaction based testcase generation X-Gen: a system-level testcase generator X-Gen: a system-level testcase generator Scenario interleaving in X-Gen Scenario interleaving in X-Gen Real life experience examples Real life experience examples – eServer, Cell BE, Xbox CPU chip Summary Summary

2 System verification System verification is aimed at validating the integration of several previously verified cores in a relatively short time

3 Challenges in Stimuli Generation for System Level Functional Verification Specifying system level scenarios in an abstract form Specifying system level scenarios in an abstract form –While generating the required low level stimuli Generating coordinated system-level stimuli Generating coordinated system-level stimuli –Projected to each and every core in the system Effectively handling configuration changes Effectively handling configuration changes –2-way system vs. 8-way system Adapting to core modifications and new cores Adapting to core modifications and new cores –PCI  PCIe

4 The concept of interaction Capturing the essence of the system-level functionality Capturing the essence of the system-level functionality –CPU-to-memory read/write –CPU-to-CPU inter processor interrupt –CPU initiated MMIO –IO initiated DMA –… Interaction: acts, actors Interaction: acts, actors Independent of the system’s configuration Independent of the system’s configuration Agnostic to specific core details Agnostic to specific core details

5 A DMA Interaction The concept of interaction - example  A CPU stores to the doorbell register of the DMA engine PLB CPU#4 CPU#3 CPU#2 CPU#1 DMA Engine Bridge Interrupt Controller Memory PHB IO BFM#2 IO BFM#1  The data is moved from the IO port to memory  The DMA engine interrupts the initiating CPU

6 Interaction based scenarios Stress the system bus through address contention on requests from multiple devices Verification goal Generate multiple IO reads, DMAs, and processor accesses to the same address Test plan definition Generate contention on the system bus Interaction based scenario

7 X-Gen: a model-based system- level stimuli generator Test Template *.rqst X-Gen Engine Interactions (Transactions) Configuration (Topology) Components (Cores) Abstract System Model Test Case CSP Solver Specifying an interaction-based scenarios

8 Interaction as the basic building block Interaction as the basic building block Control over: Control over: –Participating cores –Interaction properties A hierarchy if higher level statements A hierarchy if higher level statements –One-of: weighted random choice –Repeat –All-of Request file All of Repeat x10 Load / storeDMAinterrupt Target: mem2Addr: 0x12??Priority: One of Weight: 70Weight: 30 A system-level test template

9 A system-level test case Processors Instructions Registers initializations Translation tables Memory Data initializations Behaviorals (BFMs) Internal memory initializations Commands, such as: Send an interrupt Initiate a DMA Hubs, bridges, adaptors Translation tables Data descriptors for send / receive operations Internal registers initializations PLB CPU#4 CPU#3 CPU#2 CPU#1 DMA Engine Bridge Interrupt Controller Memory PHB IO BFM#2 IO BFM#1

10 Combining scenarios Stressing the system through parallel execution of several system level scenarios Stressing the system through parallel execution of several system level scenarios For example: For example: –Read/write cache coherency from multiple processors –MMIO / DMA to IO port –Inter processor interrupts –Create address contention between DMAs and processor accesses –Send interrupts to processors contending on the same cache line

11 CPU_to_memory_data_tarnsfer IO_to_memory_DMA CPU_to_memory_data_tarnsfer IO_to_memory_DMA … Scenario interleaving in X-Gen CPU.rqst - Repeat 80 - CPU_to_memory_data_tarnsfer IO.rqst - Repeat 70 - IO_to_memory_DMA X-Gen Total: 150 interactions Accessing the same address

12 eServer system verification: Partitioned system-level test template library Cache coherency scenarios PCI bridge stress scenarios InfiniBand message passing scenarios Intervention scenarios X-Gen Maintenance saving: avoiding exponential test template growth

13 Xbox 360 chip verification : Reusing scenarios eServer MP/MT scenarios Xbox specific IO scenarios X-Gen Heavy vIP reuse: generating complex system-level testcases within weeks from verification launch

14 General cell scenarios Power management function Performance management function X-Gen Main scenario Power down unit XXX Main scenario Restart unit XXX Main scenario … Cell BE verification: Verifying pervasive functions Main scenario Slow down unit YYY Main scenario Power down unit XXX Main scenario Resume frequency on unit YYY Restart unit XXX Main scenario …

15 Summary Interleaving transaction-level scenarios is crucial for system-level verification Interleaving transaction-level scenarios is crucial for system-level verification Partitioning the test plan according to different system functions Partitioning the test plan according to different system functions –Avoids costly maintenance of test templates –Promotes reuse of verification IP –Fast and effective verification of pervasive functions in conjunction with “mainstream” scenarios Implemented in X-Gen Implemented in X-Gen –IBM’s system-level testcase generator –Used in the verification of eServer, Xbox & Cell systems

Thank You !!!

17 Traditional Approach #1: Combining Lower Level Drivers Advantages Advantages –Simple –Quickly adapts to new cores –Reuse of core VIP Disadvantages Disadvantages –Not system level verification No coordinated stimuliNo coordinated stimuli No system level scenariosNo system level scenarios IP1 Driver IP2 Driver IP2 Driver BUS

18 Traditional approach #2: Transaction Based Verification Advantages Advantages –System level abstraction –Allows complex coordinated stimuli –Allows reuse of test specification Disadvantages Disadvantages –Transactor code is monolithic –Difficult to adapt to configuration changes –Difficult to adapt to new components / changed functionality IP1 Transactor BUS IP2 Driver Transactor

19 Request files: a dual effort methodology Specifying a scenario Interactions as building blocks Interactions as building blocks Restrict actors, properties Restrict actors, properties Inter-interaction relations Inter-interaction relations Request file All of Repeat x10One of DMA transfer CPU load / store Interrupt Read: 80 Write: 20 Address Collision: 65% The Bug Intelligent background noise Built-in testing knowledge Built-in testing knowledge User direction User direction