Why do so many chips fail? Ira Chayut, Verification Architect (opinions are my own and do not necessarily represent the opinion of my employer)

Slides:



Advertisements
Similar presentations
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Advertisements

Multi-core systems System Architecture COMP25212 Daniel Goodman Advanced Processor Technologies Group.
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
PRESENTED BY USHA GHIMIRE. Introduction-The need for MBSE MBSE now and present shortcomings A view of MBSE in the future Key advantages and disadvantages.
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
1 Speed, Drunkenness, and the Wall Does High Level Design/ESL Make Sense? Kris Konigsfeld Sr. Principal Engineer Oregon CPU Architecture Intel Corporation.
MotoHawk Training Model-Based Design of Embedded Systems.
Moore’s Law Kyle Doran Greg Muller Casey Culham May 2, 2007.
ENGIN Introduction to Computer Engineering.
Digital Design Haldun Hadimioglu Computer and Information Science 3/30/2003 CS 2204 Laboratory.
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
© Copyright Alvarion Ltd. Hardware Acceleration February 2006.
1 Daniel Micheletti Darren Allen Daniel Mazo Jon Lamb Lyle Johnson Pixel Perfect WiCam: A Wireless Digital Camera Presented by : Kyle Swenson.
Chapter 1 CSF 2009 Computer Abstractions and Technology.
I N V E N T I V EI N V E N T I V E EDA360 - Is End-to-End Design a Riddle, a Rebus, or a Reality? April 6, 2011.
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
1 Designing for 65nm and Beyond Where’s The Revolution ?!? Greg Spirakis Absolutely, positively not working for Intel (or anyone else) EDP 2005.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
Multi-core Programming Introduction Topics. Topics General Ideas Moore’s Law Amdahl's Law Processes and Threads Concurrency vs. Parallelism.
Digitaalsüsteemide verifitseerimise kursus1 Digitaalsüsteemide verifitseerimine IAF0620, 5.0 AP, E Jaan Raik IT-208,
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
VLSI & ECAD LAB Introduction.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology Sections 1.5 – 1.11.
Verification Plan & Levels of Verification
J. Christiansen, CERN - EP/MIC
Reminder Lab 0 Xilinx ISE tutorial Research Send me an if interested Looking for those interested in RC with skills in compilers/languages/synthesis,
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Presenter: PCLee. Semiconductor manufacturers aim at delivering high-quality new devices within shorter times in order to gain market shares.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
1 International Technology University CEN 951 Computer Architecture Lecture 1 - Introduction.
1. CAD Challenges for Leading-Edge Multimedia Designs Ira Chayut, Verification Architect (opinions are my own and do not necessarily represent the opinion.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Ted Pedersen – CS 3011 – Chapter 10 1 A brief history of computer architectures CISC – complex instruction set computing –Intel x86, VAX –Evolved from.
2D/3D Integration Challenges: Dynamic Reconfiguration and Design for Reuse.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
1 IAF0620, 5.0 AP, Exam Jaan Raik ICT-524, , Digital systems verification.
EE694v-Verification-Lect7-1- Verification Plan & Levels of Verification The Verification Plan Yesterdays and today’s design environment Design specification.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Introduction to VLSI Design Amit Kumar Mishra ECE Department IIT Guwahati.
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
UC Regents Spring 2014 © UCBCS 152: L7: Power and Energy John Lazzaro (not a prof - “John” is always OK) CS 152 Computer Architecture and Engineering.
Computer Organization Yasser F. O. Mohammad 1. 2 Lecture 1: Introduction Today’s topics:  Why computer organization is important  Logistics  Modern.
Functional Verification from a Manager's Perspective: When is 'Good Enough', Really Good Enough? Ira Chayut, Verification Architect (opinions are my own.
Computer Organization IS F242. Course Objective It aims at understanding and appreciating the computing system’s functional components, their characteristics,
1 The user’s view  A user is a person employing the computer to do useful work  Examples of useful work include spreadsheets word processing developing.
1 Introduction to Engineering Fall 2006 Lecture 17: Digital Tools 1.
CSC235 Computer Organization & Assembly Language
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Develop Software Earlier
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Introduction to VLSI ASIC Design and Technology
THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT
Overview Introduction General Register Organization Stack Organization
Introduction to Reconfigurable Computing
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Computer Architecture
Software Testing and Maintenance Maintenance and Evolution Overview
The performance requirements for DSP applications continue to grow and the traditional solutions do not adequately address this new challenge Paradigm.
Chapter 1 Introduction.
Verification Plan & Levels of Verification
HIGH LEVEL SYNTHESIS.
Software interoperability in the NGN Service layer
Presentation transcript:

Why do so many chips fail? Ira Chayut, Verification Architect (opinions are my own and do not necessarily represent the opinion of my employer)

Failure rate of first silicon is rising “… research by Collett International revealed that 52% of complex application specific integrated circuits (ASICs) required a respin and the reason was largely due to functional errors.” ( e/feature_article/36655) e/feature_article/36655 Who is to blame? (There must be someone to blame!) Management – they didn’t provide enough resources HW Engineering – they created the functional errors Verification – they didn’t catch the functional errors Architecture – they didn’t focus on testability Marketing – they kept changing the specs

People don’t kill chips, complexity kills chips s99/papers/2_src.pdfhttp:// s99/papers/2_src.pdf (1999) — Projected numbers are a bit lower than current reality – a dual core AMD Opteron has 233 million transistors and the Intel Itanium 2 has 592 million transistors

Complexity increases exponentially Chip component count increases exponentially over time (Moore’s law) Interactions increase super-exponentially IP reuse and parallel design teams facilitate more functions with fewer HW engineers per function and more functions per chip Verification effort gets combinatorially more difficult as functions are added

Why verification is not able to keep up Verification effort gets combinatorially more difficult as functions are added BUT Verification staffing/time cannot be made combinatorially larger to compensate AND Chip lifetimes are too short to allow for complete testing THUS Chips will continue to have ever-increasing functional errors as chips get more complex

Limiting the number of architectural and functional errors Thorough unit-level verification testing Small simulations run faster Avoids combinatorial explosion of interactions Well defined interfaces between blocks with assertions and formal verification techniques to reduce inter-block problems Emulation or FPGA prototyping to accelerate testing

How to live with functional errors Successful companies have learned how to ship chips with functional and architectural – time to market pressures and chip complexity force the delivery of chips that are not perfect (even if that were possible). How can this be done better? For a long while, DRAMs have been made with extra components to allow a less-than-perfect chip to provide full device function and to ship How to do the same with architectural features? How can full device function exist in the presence of architectural or implementation omissions or errors?

Architecture support Embrace Perl’s motto: “There's More Than One Way to Do It” — allow for multiple ways of accomplishing all critical specified functions Analogous to Design for Test (DFT) and Design for Verification (DFV), we should start thinking about Architect for Verification (AFV) [Thanks to Dave Whipp for the AFV phrase and acronym] In some problem domains, such as networking, upper- layer protocols can recover from some silicon errors; though there is a performance penalty when this is used

Architect support, continued A programmable abstraction layer between the real hardware and user’s API can hide functional warts — hardware catches specific operations and either directs them to one of multiple hardware implementations, or signals a software trap Pyramid minicomputers hid the assembly language from users, compiler could work around problems Transmeta maps standard machine language to hidden processor architecture, translation software can work around problems Soft hardware can allow chip redesign after silicon is frozen (and shipped!)

Summary Ever increasing chip complexity prevents total testing before tape-out (or even before shipping) AFV techniques can make chip verification not subject to combinatorial explosion We have to accept that there will be architectural and functional failures in every advanced chip that is built Architecture support needed to allow failures to be worked around or fixed after post-silicon