Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania 18042 ECE 491 - Senior Design I Lecture 11 - Case Study:

Slides:



Advertisements
Similar presentations
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Advertisements

44 nd DAC, June 4-8, 2007 Processor External Interrupt Verification Tool (PEVT) Fu-Ching Yang, Wen-Kai Huang and Ing-Jer Huang Dept. of Computer Science.
Instructor: Sazid Zaman Khan Lecturer, Department of Computer Science and Engineering, IIUC.
Software Failure: Reasons Incorrect, missing, impossible requirements * Requirement validation. Incorrect specification * Specification verification. Faulty.
1 Architectural Complexity: Opening the Black Box Methods for Exposing Internal Functionality of Complex Single and Multiple Processor Systems EECC-756.
1 Speed, Drunkenness, and the Wall Does High Level Design/ESL Make Sense? Kris Konigsfeld Sr. Principal Engineer Oregon CPU Architecture Intel Corporation.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 12 - System Design.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 7 - Synchronizers.
Spring 07, Feb 6 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Verification Vishwani D. Agrawal James J. Danaher.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 9 - ASM Diagrams.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 19 - Pipelined.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 7 - Verification.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 1 - Course Overview.
1 Assertion Based Verification 2 The Design and Verification Gap  The number of transistors on a chip increases approximately 58% per year, according.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
A Billion Cycles a Day: Industrial Verification Matthew Heath Presentation to Synthesis & Verification Class May 8, 2003 Based on “Validating the Intel.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 11 - Data Communications.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 12 - Metastability.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania Computer Organization Pipelined Processor Design 3.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 2 - Technology.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 15 - Handshaking.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 13 - Detailed Design.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Memory Hierarchy 2.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Cisc Complex Instruction Set Computing By Christopher Wong 1.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
Robust Low Power VLSI R obust L ow P ower VLSI Memory Management Units for Instruction and Data Cache for OR1200 CPU Core Arijit Banerjee ASIC/SOC Class.
Using a Formal Specification and a Model Checker to Monitor and Guide Simulation Verifying the Multiprocessing Hardware of the Alpha Microprocessor.
C.S. Choy95 COMPUTER ORGANIZATION Logic Design Skill to design digital components JAVA Language Skill to program a computer Computer Organization Skill.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
Lecture#14. Last Lecture Summary Memory Address, size What memory stores OS, Application programs, Data, Instructions Types of Memory Non Volatile and.
1 College of Charleston, School of Science & Mathematics Dr. Anderson, Computer Science Department CS 250 Comp. Org. & Assembly CS 250 – Computer Organization.
Chapter 1 What is Programming? Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
Digitaalsüsteemide verifitseerimise kursus1 Digitaalsüsteemide verifitseerimine IAF0620, 5.0 AP, E Jaan Raik IT-208,
1 Recap (from Previous Lecture). 2 Computer Architecture Computer Architecture involves 3 inter- related components – Instruction set architecture (ISA):
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Reminder Lab 0 Xilinx ISE tutorial Research Send me an if interested Looking for those interested in RC with skills in compilers/languages/synthesis,
RISC By Ryan Aldana. Agenda Brief Overview of RISC and CISC Features of RISC Instruction Pipeline Register Windowing and renaming Data Conflicts Branch.
Chapter 17 Looking “Under the Hood”. 2Practical PC 5 th Edition Chapter 17 Getting Started In this Chapter, you will learn: − How does a computer work.
Ted Pedersen – CS 3011 – Chapter 10 1 A brief history of computer architectures CISC – complex instruction set computing –Intel x86, VAX –Evolved from.
RISC and CISC. What is CISC? CISC is an acronym for Complex Instruction Set Computer and are chips that are easy to program and which make efficient use.
Department of Industrial Engineering Sharif University of Technology Session# 6.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
1 IAF0620, 5.0 AP, Exam Jaan Raik ICT-524, , Digital systems verification.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
EE694v-Verification-Lect7-1- Verification Plan & Levels of Verification The Verification Plan Yesterdays and today’s design environment Design specification.
Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan.
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.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 16 - Multi-Cycle.
To Compute: To Do Math. Information is collected by tallying data as it travels across circuits. The key part of integrated circuits are transistors.transistors.
Capability of processor determine the capability of the computer system. Therefore, processor is the key element or heart of a computer system. Other.
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
Beginning Software Craftsmanship Brendan Enrick Steve Smith
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
CC410: System Programming Dr. Manal Helal – Fall 2014 – Lecture 3.
Microprocessor Design Process
1 A simple parallel algorithm Adding n numbers in parallel.
Chapter 17 Looking “Under the Hood”
ECE354 Embedded Systems Introduction C Andras Moritz.
CSE 403 Software Engineering
Formal Methods (i.e. mathematical, algorithmic) for Software and Hardware Designs and, more generally, Design Tools and Technologies
Verification Plan & Levels of Verification
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Welcome to Corporate Training -1
Presentation transcript:

Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 11 - Case Study: Verifying Microprocessors Fall 2008 Read Salt & Rothery Ch. 4 (System Design)

ECE 491 Fall 2008Lecture 11 - Verif. Case Study2 Where we are  Last Time  Data Communications  Today  Verification Case Study: Validating the Pentium 4

ECE 491 Fall 2008Lecture 11 - Verif. Case Study3 Review: Why do Verification?  Key to successful design  Finding bugs early is key S & R Fig. 6.4 During design During manufacturing After sale Cost of fixing flaws

ECE 491 Fall 2008Lecture 11 - Verif. Case Study4 Case Study: Verification in Industry  Motivation: Discuss verification of a “really big” design.  Sources for this Case Study  Bob Bentley, “Validating the Intel ® Pentium ® 4 Processor”, Proceedings 38th Design Automation Conference, June 2001*.  Bob Bentley and Rand Gray, “Validating the Intel ® Pentium ® 4 Processor”, Intel Technology Journal, Q  Bob Bentley, “Validating a Modern Microprocessor, talk slides, 17th Conference on Compuer-Aided Verification, Bob Colwell, The Pentium Chronicles, John Wiley, *available on the Moodle page

ECE 491 Fall 2008Lecture 11 - Verif. Case Study5 Microprocessor Design Scope  Typical lead CPU design requires:  500+ person design team: logic and circuit design physical design validation and verification design automation  2-2½ years from start of RTL development to A0 tapeout  9-12 months from A0 tapeout to production qual (may take longer for workstation/server products) Slide Source: Bob Bentley, “Validating a Modern Microprocessor, talk slides. 13th Conference on Compuer-Aided Verification, 2001

ECE 491 Fall 2008Lecture 11 - Verif. Case Study6 Pentium 4 - Microarchitecture Source: “The Microarchitecture of the Pentium® 4 Processor”, Intel Technology Journal, First Quarter

ECE 491 Fall 2008Lecture 11 - Verif. Case Study7 Pentium 4 Proliferations Pentium® 4 42M transistors / GHz 49-55W L=180nm Pentium® 4 “Northwood” 55M transistors / 2-2.5GHz 55W L=130nm Area=131mm 2 Process Shrinks Pentium® 4 “Prescott” 125M transistors / GHz 115W L=90nm Area=112mm 2

ECE 491 Fall 2008Lecture 11 - Verif. Case Study8 Timeline - Pentium 4 Design  Late Structural RTL (SRTL) design begins at the “cluster level”  Q First full-chip structural RTL integration  Q Structural RTL largely completed  Dec A-step tapeout (layout goes to fab)  Jan First packaged parts arrive  Q Initial samples shipped to customers  Oct Production ship qualification  Nov Product launch ( GHz)

ECE 491 Fall 2008Lecture 11 - Verif. Case Study9 RTL Coding Activity 3000 files, 1.3M lines total (including comments, white space) A0 tapeout First Full-Chip RTL Model 250K lines changed in one week RTL Coding Complete Slide Source: Bob Bentley, “Validating a Modern Microprocessor, talk slides. 13th Conference on Compuer-Aided Verification, 2001

ECE 491 Fall 2008Lecture 11 - Verif. Case Study10 Pentium 4 Validation - Staffing  10 people in initial “nucleus” from previous project  40 new hires in 1997  20 new hires in 1998

ECE 491 Fall 2008Lecture 11 - Verif. Case Study11 P4 Validation Environment  Hardware  IBM RS/6000 workstations ( Hz full processor model)  Pentium III Linux systems (3-5Hz full processor model)  Computing pool of “several thousand” systems  Simulation statistics  About 1 million lines of code in SRTL model  5-6 billion clock cycles simulated / week  200 billion total clock cycles simulated overall About 2 minutes of execution with a 1GHz clock!

ECE 491 Fall 2008Lecture 11 - Verif. Case Study12 Cluster-Level Testing  Divide overall design into 6 “clusters” + microcode  Develop “cluster testing environments” (CTEs) to validate each cluster separately (e.g. floating point, memory, bus)  Then validate using full processor model  Advantages of the approach  Controllability - control behavior at microarchitecture level  Early validation possible for each cluster  Decoupled validation possible for each cluster

ECE 491 Fall 2008Lecture 11 - Verif. Case Study13 Other Validation Features  Extensive validation of power-reduction logic  Code coverage and code inspections a major part of methodology  Formal verification used for Floating Point & Instruction Decode Logic

ECE 491 Fall 2008Lecture 11 - Verif. Case Study14 Formal Verification in P4 Validation  Based on model checking  Given a finite-state concurrent system  Express specifications as temporal logic formulas  Use symbolic algorithms to check whether model holds  Constructed database of 10,000 “proofs”  Over 100 bugs found  20 were “high quality” bugs not likely to be found by simulation  Example errors: FADD, FMUL

ECE 491 Fall 2008Lecture 11 - Verif. Case Study15 Validation Results  5,809 bugs identified by simulation  3,411 bugs found by cluster-level testing  2,398 found using full-chip model  1,554 bugs found by code inspection  492 bugs found by formal verification  Largest sources of bugs: memory cluster (25%)

ECE 491 Fall 2008Lecture 11 - Verif. Case Study16 Bug Sources Slide Source: Bob Bentley, “Validating a Modern Microprocessor, talk slides. 13th Conference on Compuer-Aided Verification, 2001

ECE 491 Fall 2008Lecture 11 - Verif. Case Study17 Bug Rate Slide Source: Bob Bentley, “Validating a Modern Microprocessor, talk slides. 13th Conference on Compuer-Aided Verification, 2001

ECE 491 Fall 2008Lecture 11 - Verif. Case Study18 Validation Results  Breakdown of bug sources (complete list in paper)  12.7%Goofs - simple typos, cut and paste errors, etc.  11.4% Miscommunication  9.3% Microarchitecture definition  9.3%Logic/microcode changes  8%Corner cases  5.3%Power down issues  4.4%Documentation  3.9%Complexity  3.4%Random Initialization  2.8%Late definition  2.8%Incorrect RTL assertions  2.6%Design mistake

ECE 491 Fall 2008Lecture 11 - Verif. Case Study19 Colwell on Verification  Errors are unavoidable!  Error reduction strategies that don’t work  “Make an example” of offender  Hire only geniuses  Blame the verification team  Recommended Strategy: “Avoid/Find/Survive”  Design to avoid bugs  When bugs do occur, try to find them before production  Plan to survive bugs that make it into production

ECE 491 Fall 2008Lecture 11 - Verif. Case Study20 Design to Avoid Bugs  Focus on getting design right the first time  Schedule pressure can result in buggy designs  Must trade off deadline vs. quality  Look for ways to manage design complexity  Most complexity is in control logic Microcode Interacting Finite State Machines Exceptions  Reduce complexity where possible

ECE 491 Fall 2008Lecture 11 - Verif. Case Study21 Plan to Survive Bugs  Anticipate that bugs will occur  Build debugging “hooks” into design  Example: Performance Counters  Verify debugging hooks, too

ECE 491 Fall 2008Lecture 11 - Verif. Case Study22 Colwell’s “6-Step Plan for High Product Quality” 1. Incorporate only the minimum necessary complexity. 2. Make sure design team and mgt. agree on the right level of quality. 3. Try to avoid a “design team / validators” pecking order. 4. Foster an emotional attachment to the project (but distance self from work when necessary). 5. Design and follow a bug-tracking method.

ECE 491 Fall 2008Lecture 11 - Verif. Case Study23 Postscript: How Not to do Verification

ECE 491 Fall 2008Lecture 11 - Verif. Case Study24 Coming Up  Data Communications 2