© 2013 IBM Corporation Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Erez Bilgory Alex Goryachev Ronny.

Slides:



Advertisements
Similar presentations
8085 Microprocessor Architecture – Demultiplexing the AD7-AD0
Advertisements

Evaluation of On-Chip Interconnect Architectures for Multi-Core DSP Students : Haim Assor, Horesh Ben Shitrit 2. Shared Bus 3. Fabric 4. Network on Chip.
Presenter : Shao-Chieh Hou VLSI Design, Automation and Test, VLSI-DAT 2007.
8086 [2] Ahad. Internal! External? 8086 vs _bit Data Bus 20_bit Address 8_bit Data Bus 20_bit Address Only external bus of 8088 is.
Using emulation for RTL performance verification
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Chapter 10 Input/Output Organization. Connections between a CPU and an I/O device Types of bus (Figure 10.1) –Address bus –Data bus –Control bus.
Secure Operating Systems Lesson 5: Shared Objects.
SLAM: SLice And Merge – Effective Test Generation for Large Systems ICCAD’13 Review Reviewer: Chien-Yen Kuo.
Addressing the System-on-a-Chip Interconnect Woes Through Communication-Based Design N. Vinay Krishnan EE249 Class Presentation.
Concurrency: Deadlock and Starvation Chapter 6. Revision Describe three necessary conditions for deadlock Which condition is the result of the three necessary.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
4-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL Hardware Detail of Intel.
Concurrency CS 510: Programming Languages David Walker.
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)
1 Multi - Core fast Communication for SoPC Multi - Core fast Communication for SoPC Technion – Israel Institute of Technology Department of Electrical.
Ritu Varma Roshanak Roshandel Manu Prasanna
Basic Input/Output Operations
CS533 - Concepts of Operating Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
I/O Subsystem Organization and Interfacing Cs 147 Peter Nguyen
Interprocessor arbitration
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Presenter : Shao-Cheih Hou Sight count : 11 ASPDAC ‘08.
INPUT/OUTPUT ARCHITECTURE By Truc Truong. Input Devices Keyboard Keyboard Mouse Mouse Scanner Scanner CD-Rom CD-Rom Game Controller Game Controller.
Computer Architecture and Organization
CASTNESS‘11 Computer Architectures and Software Tools for Numerical Embedded Scalable Systems Workshop & School: Roma January 17-18th 2011 Frédéric ROUSSEAU.
8086/8088 Hardware Specifications A Course in Microprocessor Electrical Engineering Dept. University of Indonesia.
MICROPROCESSOR INPUT/OUTPUT
I/O Systems I/O Hardware Application I/O Interface
Computer Architecture and Organization Introduction.
Bulk Synchronous Parallel Processing Model Jamie Perkins.
Intelligent Interleaving of Scenarios: A Novel Approach to System Level Test Generation Shady Copty, Itai Jaeger(*), Yoav Katz, Michael Vinov IBM Research.
Presenter : Ching-Hua Huang 2013/7/15 A Unified Methodology for Pre-Silicon Verification and Post-Silicon Validation Citation : 15 Adir, A., Copty, S.
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
System Verilog Testbench Language David W. Smith Synopsys Scientist
Z13: Simultaneous Multithreading and System Level Testing Ali Duale Dennis Wittig Shailesh Gami.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Boost Verification Results by Bridging the Hw/Sw Testbench Gap by Matthew Ballance Verification Technologist Mentor Graphics.
Design of a Novel Bridge to Interface High Speed Image Sensors In Embedded Systems Tareq Hasan Khan ID: ECE, U of S Term Project (EE 800)
TOOLSET FOR TEST AND VERIFICATION OF IP-BLOCKS WITH SPACEWIRE INTERFACE Session: SpaceWire Test and Verification Elena Suvorova St. Petersburg State University.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
The Structure of the “THE”- Multiprogramming System Edsger W. Dijkstra Presented by: Jin Li.
Lecture on Central Process Unit (CPU)
MAPLD 2005Ardini1 Demand and Penalty-Based Resource Allocation for Reconfigurable Systems with Runtime Partitioning John Ardini.
Operating System Chapter 5. Concurrency: Mutual Exclusion and Synchronization Lynn Choi School of Electrical Engineering.
بسم الله الرحمن الرحيم MEMORY AND I/O.
Challenges in Hardware Logic Verification Bruce Wile IBM Server Group Verification Lead 10/25/01.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
1 of 14 Lab 2: Formal verification with UPPAAL. 2 of 14 2 The gossiping persons There are n persons. All have one secret to tell, which is not known to.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
1 of 14 Lab 2: Design-Space Exploration with MPARM.
Application-Specific Customization of Soft Processor Microarchitecture Peter Yiannacouras J. Gregory Steffan Jonathan Rose University of Toronto Electrical.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
Module 12: I/O Systems I/O hardware Application I/O Interface
Mobile Operating System
Semaphore and Multithreading
I/O Systems I/O Hardware Application I/O Interface
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
Threading And Parallel Programming Constructs
Concurrency: Mutual Exclusion and Process Synchronization
The Structure of the “The” –Multiprogramming System
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 13: I/O Systems.
Synchronization and semaphores
Chapter 3: Process Management
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

© 2013 IBM Corporation Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Erez Bilgory Alex Goryachev Ronny Morad Tali Rabetti IBM Research – Haifa June 2013

2 Background: System-level simulation Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation  Pre-silicon, system- level RTL simulation: –Many cores (possibly multithreaded) –Many I/O devices, bridges, HW accelerators, message- passing components –All components run in parallel –Only RTL, no real SW in the simulated system Processor Core#1 Processor Core#N HW accelerator unit I/O BFM#2 I/O BFM#1 Memory Message passing unit System bus I/O bus Processor Core#2 … IO bridge Memory controller

3 Background: Test generator Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Concrete test cases (including instruction stream for each processor core) Abstract test case (High level test description) System-level test generator

4 Background: Test generator Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation System-level test generator Memory Read IO rd Memory write Send message to core 2 IO Wr Memory write Send message to core 1 IO Rd Memory read Core 1 Core 2 Mix 10 instructions of types: 50%: 25%: Memory access IO Rd/Wr Send message Abstract test case Concrete test cases

5 Background: Message passing component Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Message Passing Unit FIFO 0 FIFO 1 FIFO 4 FIFO 2 FIFO 3 FIFO 0 FIFO 1 FIFO 4 FIFO 2 FIFO 3 connection Table E0 E1 E2 (1) Write data (2) Initiate message transmission (3) Read data Processor Core#1 Processor Core#2 Processor Core#3 Input Output Processor Core#4

6 Background: Message passing component Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Message Passing Unit FIFO 0 FIFO 1 FIFO 4 FIFO 2 FIFO 3 FIFO 0 FIFO 1 FIFO 4 FIFO 2 FIFO 3 connection Table E0 E1 E2 (1) Write data (2) Initiate message transmission Reconfigure entry (3) Read data Processor Core#1 Processor Core#2 Processor Core#3 Input Output Processor Core#4

7 Mix 10 instructions of types: 34%: 33%: Random Use entry Reconfigure entry The reconfiguration challenge: Shared connection table entry reconfiguration Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Random Reconfigure E1 Random Reconfigure E2 Use E1 Random Use E2 Reconfigure E1 Random Core 1Core 2 Random Runtime Actual runtime of each operation is unknown before simulation, and can change from simulation to simulation Random Reconfigure E1 Random Reconfigure E2 Use E1 Random Use E2 Reconfigure E1 Core 1Core 2

8 The reconfiguration challenge Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Core 1 Core 2 Random Reconfigure E1 Random Reconfigure E2 Use E1 Random Use E2 Reconfigure E1 Random The arrowed operations need to be synced

9 The reconfiguration challenge Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Core 1 Core 2 Random Reconfigure E1 Random Reconfigure E2 Use E1 Random Use E2 Reconfigure E1 Random Signal Poll Signal Poll Poll: Wait until a known value is written to a semaphore address before operation Signal: Write a known value to a semaphore address after operation

10 The reconfiguration challenge Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation  Is this scenario correct?  Does it have the needed synchronization operations?  Does it have deadlocks?  Lose the test generator’s power!  Only one test scenario Core 1 Core 2 Use entry 1 Signal semaphore 1 Random instructions Poll semaphore 1 Use entry 1 Poll semaphore 2 Use entry 2 Poll semaphore 3 Reconfigure entry 3 Signal semaphore 3 Use entry 2 Random instructions Poll semaphore 1 Reconfigure entry 1 Signal semaphore 1 Reconfigure entry 2 Signal semaphore 2 Use entry 3 Signal semaphore 3 Random instructions Poll semaphore 3 Use entry 3 Directed test, complete with needed synchronization operation

11 Our solution: Automatic synchronization Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Test generator tracker Transactions: thread, entry, use/Reconfigure Semaphore address and value to poll, if needed Addition The output of the tracker is a set of synchronization operations needed to preserve the intended ordering of specific transactions with respect to each other Other transactions remain unordered Template Test cases random Reconfigure E1 random Reconfigure E2 Use E1 random Use E2 Reconfigure E1 random Core 1Core 2

12 Our solution: Results Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Template before Core 1Core 2 Use entry 1 Signal semaphore 1 Random instructions Poll semaphore 1 Use entry 1 Poll semaphore 2 Use entry 2 Poll semaphore 3 Reconfigure entry 3 Signal semaphore 3 Use entry 2 Random instructions Poll semaphore 1 Reconfigure entry 1 Signal semaphore 1 Reconfigure entry 2 Signal semaphore 2 Use entry 3 Signal semaphore 3 Random instructions Poll semaphore 3 Use entry 3 BEFORE: Directed test, with synchronization operation AFTER: Totally random test, now possible Mix 10 instructions of types: 34%: 33%: Random Use entry Reconfigure entry

13 Summary Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation  Existing state-of-the-art constraint random test generator for system-level testing  New hardware requires entry reconfiguration as part of the verification  We implemented automatic barrier insertion that eliminates the need for complex directed tests  The new mechanism allows random generation of tests that use and reconfigure shared entries, with minimal intrusiveness  In the future, the same solution may be applicable for other reconfiguration challenges

© 2013 IBM Corporation For more information, contact: Erez Bilgory Alex Goryachev Ronny Morad Tali Rabetti IBM Research – Haifa Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Thank You!