SlideShare une entreprise Scribd logo
1  sur  18
CPU Verification
Ramdas M
Introduction
● Verification engineer with 20+ years of experience
○ AMD, Intel, CPU start ups (Montalvo, Applied Micro)
● www.verificationexcellence.in
Agenda
CPUs
CPU vs IP / SOC Verification
Architecture Verification
Microarchitecture Verification
Verification Milestones and Metrics for completeness
CPU SOCs
CPU vs Cores
Single Core vs Multi core CPUs
CPUs
Simple Core pipeline Multi Core CPU
Architecture vs Microarchitecture - ?
Architecture Microarchitecture
Describes high level attributes/features of a
system
Details about implementation of
design/CPU
Hardware-Software interface Units/sub-units, Interfaces, State machines
and other data structures etc
Instruction Set Architecture (ISA) for CPUs
- Instructions
- Registers
- Memory Model
- Interrupts and Exceptions
- Programming Model
Pipelining,
In-order vs Out-of-order execution
Parallel execution units
Branch prediction
Caches and Coherency implementation
Memory and interconnects
x86, ARM-v8, RISC-V, MIPS, Power, Instruction Decode – Microcode
IP - SOC – CPU SOC - Verification -?
● IP - Intellectual Property
- A logical block / unit with defined interfaces
- e.g. an Ethernet MAC, a PCIE Bridge, USB controller, DRAM controller
- Use standard verification methodologies – Simulation, constrained random etc.
- Verification focus on implementation
● SOC – A System on a Chip
- A collection of logical blocks/IP s with interconnects
- May be one or more CPUs / controllers
- Verification focus on system level scenarios, interconnect and interaction between IPs
● CPU - Consider as a sub-system inside an SOC
- ISA compliance
Architectural Verification
● Implementation meets Architecture definition – ISA compliance
- Instruction, Modes, Memory management, Interrupts/Exceptions
● Random Instruction Sequences / Generators
-Developed primarily in a high-level language – C , Python with
- inline assembly - used for better control sometimes
● Verified for correctness with an Architectural Simulator
● Test suites developed in house or available from third party for compliance
- Large collection of tests, debugs are always challenging.
● Done at a CPU / Core level Test bench
Micro-architecture Verification
● Focus on Implementation of CPU core
● Block level , Cluster/Sub-system Level Verification
- IF, ID, LS, EX,
- Single Core Cluster
● Constrained Random Verification – SV, UVM
● Functional and Code Coverage
● Formal Verification techniques
Other Verification Focus - Areas
● Power Management Flows
-Power states and Power savings - Sleep , Hibernate
● DFT/DFX Verification
- How to test after manufacturing?
● Performance Verification
- IPC, Single Threaded vs Multi threaded
- Benchmarks – SpecInt, SpecFP, LMbench
- Memory latency and bandwidth
● System Level Verification or Emulation
- Long running Stress tests
- Software readiness before Silicon including OS boot
Regressions
● Collection of Tests that is run frequently and efficiently
-Important as help to make sure progress in upward direction
-Add new tests to regression as being developed
- Makes sure a bug fix does not break a verified feature
- Distribute tests across multiple machines/computers
- Complex process with large test suites
● Architecture Verification
- Huge test suite – Several thousands of tests
● Microarchitecture Verification
- Each block might have a handy suite of constrained random tests
Debugs
● Detecting Failures is first step to start debug
○ Assertions, checkers/scoreboards, hangs, timeouts etc
○ Failures classified based on signature (type of failure)
● Root cause a failure
○ Understanding failure and locating the cause
○ Failure could be in Verification or Design
○ Understanding design behavior is key to debug and track back
○ Might need to isolate failure before locating cause
○ Debug Tools - Monitors, log files, wave form viewers
Milestones, Metrics and Checklist
● CPU /CPU-SOC development takes from a year to few years
● Development divided as milestones with metrics that monitors progress
● Checklists and sign off criteria used to gain high confidence before tape out
Milestones
• Rev0.0 –
-Design Documentation, Initial RTL structure,
-Test bench infrastructure, Build and Regression flows
• Rev0.25
- Basic Features verified. Test bench components and stimulus infrastructure.
- Initial Test plans Reviewed, Random regressions for verified features
• Rev0.50 – Rev0.75
- More features coded and verified. More random regressions and bug hunting
- Bug rates and pass rates gets monitored
Milestones
• Rev1.0
- All features coded and stimulus in place. Functional coverage monitor coded
- Regressions and bug hunting. Coverage collection and analysis started
• Freeze
- Pass rates and functional coverage at 100% with known exceptions. All
known/critical bugs fixed.
- Incoming bug rates very low with no risks.
• Tapeout
Metrics
Why Metrics ?
-Design Verification rarely completes on schedule.
-There is always more to verify in less time.
-Be paranoid – There is always a bug in there hidden.
Metrics for Completion
● Test plan completion
● Test plan reviews and Actions
● Tests, Stimulus , Checkers, Assertions, Functional Coverage coding completion
● Simulation based Metrics
● Regression pass rates,
● Bug Trends Incoming bug rates, Open bugs, historical trends
● Functional Coverage
● Code Coverage
● Code (RTL/DV) Stability
??

Contenu connexe

Tendances

Amba axi 29 3_2015
Amba axi 29 3_2015Amba axi 29 3_2015
Amba axi 29 3_2015kiemnhatminh
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology TutorialArrow Devices
 
APB protocol v1.0
APB protocol v1.0APB protocol v1.0
APB protocol v1.0Azad Mishra
 
Session 9 advance_verification_features
Session 9 advance_verification_featuresSession 9 advance_verification_features
Session 9 advance_verification_featuresNirav Desai
 
SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesRamdas Mozhikunnath
 
Session 8,9 PCI Express
Session 8,9 PCI ExpressSession 8,9 PCI Express
Session 8,9 PCI ExpressSubhash Iyer
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertionsHARINATH REDDY
 
System verilog coverage
System verilog coverageSystem verilog coverage
System verilog coveragePushpa Yakkala
 
verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020Sameh El-Ashry
 
System verilog verification building blocks
System verilog verification building blocksSystem verilog verification building blocks
System verilog verification building blocksNirav Desai
 
Cracking Digital VLSI Verification Interview: Interview Success
Cracking Digital VLSI Verification Interview: Interview SuccessCracking Digital VLSI Verification Interview: Interview Success
Cracking Digital VLSI Verification Interview: Interview SuccessRamdas Mozhikunnath
 
Tutorial getting started with RISC-V verification
Tutorial getting started with RISC-V verificationTutorial getting started with RISC-V verification
Tutorial getting started with RISC-V verificationRISC-V International
 

Tendances (20)

SOC design
SOC design SOC design
SOC design
 
Amba axi 29 3_2015
Amba axi 29 3_2015Amba axi 29 3_2015
Amba axi 29 3_2015
 
ASIC design verification
ASIC design verificationASIC design verification
ASIC design verification
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology Tutorial
 
PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)
 
APB protocol v1.0
APB protocol v1.0APB protocol v1.0
APB protocol v1.0
 
Session 9 advance_verification_features
Session 9 advance_verification_featuresSession 9 advance_verification_features
Session 9 advance_verification_features
 
SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification Methodologies
 
axi protocol
axi protocolaxi protocol
axi protocol
 
Session 8,9 PCI Express
Session 8,9 PCI ExpressSession 8,9 PCI Express
Session 8,9 PCI Express
 
System verilog assertions
System verilog assertionsSystem verilog assertions
System verilog assertions
 
Axi protocol
Axi protocolAxi protocol
Axi protocol
 
System verilog coverage
System verilog coverageSystem verilog coverage
System verilog coverage
 
AMBA_APB_pst
AMBA_APB_pstAMBA_APB_pst
AMBA_APB_pst
 
verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020verification_planning_systemverilog_uvm_2020
verification_planning_systemverilog_uvm_2020
 
System verilog verification building blocks
System verilog verification building blocksSystem verilog verification building blocks
System verilog verification building blocks
 
Apb
ApbApb
Apb
 
Cracking Digital VLSI Verification Interview: Interview Success
Cracking Digital VLSI Verification Interview: Interview SuccessCracking Digital VLSI Verification Interview: Interview Success
Cracking Digital VLSI Verification Interview: Interview Success
 
Tutorial getting started with RISC-V verification
Tutorial getting started with RISC-V verificationTutorial getting started with RISC-V verification
Tutorial getting started with RISC-V verification
 
AXI Protocol.pptx
AXI Protocol.pptxAXI Protocol.pptx
AXI Protocol.pptx
 

Similaire à CPU Verification

Early Software Development through Palladium Emulation
Early Software Development through Palladium EmulationEarly Software Development through Palladium Emulation
Early Software Development through Palladium EmulationRaghav Nayak
 
The Cortex-A15 Verification Story
The Cortex-A15 Verification StoryThe Cortex-A15 Verification Story
The Cortex-A15 Verification StoryDVClub
 
Getting started with RISC-V verification what's next after compliance testing
Getting started with RISC-V verification what's next after compliance testingGetting started with RISC-V verification what's next after compliance testing
Getting started with RISC-V verification what's next after compliance testingRISC-V International
 
Fpga Verification Methodology and case studies - Semisrael Expo2014
Fpga Verification Methodology and case studies - Semisrael Expo2014Fpga Verification Methodology and case studies - Semisrael Expo2014
Fpga Verification Methodology and case studies - Semisrael Expo2014Avi Caspi
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 sessionSameh El-Ashry
 
Daniel dauwe ece 561 Trial 3
Daniel dauwe   ece 561 Trial 3Daniel dauwe   ece 561 Trial 3
Daniel dauwe ece 561 Trial 3cinedan
 
Daniel dauwe ece 561 Benchmarking Results
Daniel dauwe   ece 561 Benchmarking ResultsDaniel dauwe   ece 561 Benchmarking Results
Daniel dauwe ece 561 Benchmarking Resultscinedan
 
Daniel dauwe ece 561 Benchmarking Results Trial 2
Daniel dauwe   ece 561 Benchmarking Results Trial 2Daniel dauwe   ece 561 Benchmarking Results Trial 2
Daniel dauwe ece 561 Benchmarking Results Trial 2cinedan
 
Quality in a Square. K8s-native Quality Assurance of Microservices with Testkube
Quality in a Square. K8s-native Quality Assurance of Microservices with TestkubeQuality in a Square. K8s-native Quality Assurance of Microservices with Testkube
Quality in a Square. K8s-native Quality Assurance of Microservices with TestkubeQAware GmbH
 
Andreas Grabner - Performance as Code, Let's Make It a Standard
Andreas Grabner - Performance as Code, Let's Make It a StandardAndreas Grabner - Performance as Code, Let's Make It a Standard
Andreas Grabner - Performance as Code, Let's Make It a StandardNeotys_Partner
 
TEST EXECUTION.ppt
TEST EXECUTION.pptTEST EXECUTION.ppt
TEST EXECUTION.pptChayapathiAR
 
System Architecture Exploration Training Class
System Architecture Exploration Training ClassSystem Architecture Exploration Training Class
System Architecture Exploration Training ClassDeepak Shankar
 
Quadratisch. Praktisch. Gut. K8s-native Quality Assurance mit Testkube @ Java...
Quadratisch. Praktisch. Gut. K8s-native Quality Assurance mit Testkube @ Java...Quadratisch. Praktisch. Gut. K8s-native Quality Assurance mit Testkube @ Java...
Quadratisch. Praktisch. Gut. K8s-native Quality Assurance mit Testkube @ Java...QAware GmbH
 
Continuous Validation at Scale
Continuous Validation at ScaleContinuous Validation at Scale
Continuous Validation at ScaleMirantis
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceDVClub
 
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case Study
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case StudyTraditional vs. SoC FPGA Design Flow A Video Pipeline Case Study
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case StudyAltera Corporation
 
Saikishore resume dec17
Saikishore resume dec17 Saikishore resume dec17
Saikishore resume dec17 Sai Kishore
 

Similaire à CPU Verification (20)

Early Software Development through Palladium Emulation
Early Software Development through Palladium EmulationEarly Software Development through Palladium Emulation
Early Software Development through Palladium Emulation
 
The Cortex-A15 Verification Story
The Cortex-A15 Verification StoryThe Cortex-A15 Verification Story
The Cortex-A15 Verification Story
 
Getting started with RISC-V verification what's next after compliance testing
Getting started with RISC-V verification what's next after compliance testingGetting started with RISC-V verification what's next after compliance testing
Getting started with RISC-V verification what's next after compliance testing
 
Fpga Verification Methodology and case studies - Semisrael Expo2014
Fpga Verification Methodology and case studies - Semisrael Expo2014Fpga Verification Methodology and case studies - Semisrael Expo2014
Fpga Verification Methodology and case studies - Semisrael Expo2014
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
 
Daniel dauwe ece 561 Trial 3
Daniel dauwe   ece 561 Trial 3Daniel dauwe   ece 561 Trial 3
Daniel dauwe ece 561 Trial 3
 
Daniel dauwe ece 561 Benchmarking Results
Daniel dauwe   ece 561 Benchmarking ResultsDaniel dauwe   ece 561 Benchmarking Results
Daniel dauwe ece 561 Benchmarking Results
 
Daniel dauwe ece 561 Benchmarking Results Trial 2
Daniel dauwe   ece 561 Benchmarking Results Trial 2Daniel dauwe   ece 561 Benchmarking Results Trial 2
Daniel dauwe ece 561 Benchmarking Results Trial 2
 
Quality in a Square. K8s-native Quality Assurance of Microservices with Testkube
Quality in a Square. K8s-native Quality Assurance of Microservices with TestkubeQuality in a Square. K8s-native Quality Assurance of Microservices with Testkube
Quality in a Square. K8s-native Quality Assurance of Microservices with Testkube
 
Andreas Grabner - Performance as Code, Let's Make It a Standard
Andreas Grabner - Performance as Code, Let's Make It a StandardAndreas Grabner - Performance as Code, Let's Make It a Standard
Andreas Grabner - Performance as Code, Let's Make It a Standard
 
TEST EXECUTION.ppt
TEST EXECUTION.pptTEST EXECUTION.ppt
TEST EXECUTION.ppt
 
System Architecture Exploration Training Class
System Architecture Exploration Training ClassSystem Architecture Exploration Training Class
System Architecture Exploration Training Class
 
Quadratisch. Praktisch. Gut. K8s-native Quality Assurance mit Testkube @ Java...
Quadratisch. Praktisch. Gut. K8s-native Quality Assurance mit Testkube @ Java...Quadratisch. Praktisch. Gut. K8s-native Quality Assurance mit Testkube @ Java...
Quadratisch. Praktisch. Gut. K8s-native Quality Assurance mit Testkube @ Java...
 
Resume
ResumeResume
Resume
 
Continuous Validation at Scale
Continuous Validation at ScaleContinuous Validation at Scale
Continuous Validation at Scale
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification Experience
 
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case Study
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case StudyTraditional vs. SoC FPGA Design Flow A Video Pipeline Case Study
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case Study
 
Embedded System Test Automation
Embedded System Test AutomationEmbedded System Test Automation
Embedded System Test Automation
 
Planning open stack-poc
Planning open stack-pocPlanning open stack-poc
Planning open stack-poc
 
Saikishore resume dec17
Saikishore resume dec17 Saikishore resume dec17
Saikishore resume dec17
 

Dernier

Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 

Dernier (20)

Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 

CPU Verification

  • 2. Introduction ● Verification engineer with 20+ years of experience ○ AMD, Intel, CPU start ups (Montalvo, Applied Micro) ● www.verificationexcellence.in
  • 3. Agenda CPUs CPU vs IP / SOC Verification Architecture Verification Microarchitecture Verification Verification Milestones and Metrics for completeness
  • 4. CPU SOCs CPU vs Cores Single Core vs Multi core CPUs
  • 5. CPUs Simple Core pipeline Multi Core CPU
  • 6. Architecture vs Microarchitecture - ? Architecture Microarchitecture Describes high level attributes/features of a system Details about implementation of design/CPU Hardware-Software interface Units/sub-units, Interfaces, State machines and other data structures etc Instruction Set Architecture (ISA) for CPUs - Instructions - Registers - Memory Model - Interrupts and Exceptions - Programming Model Pipelining, In-order vs Out-of-order execution Parallel execution units Branch prediction Caches and Coherency implementation Memory and interconnects x86, ARM-v8, RISC-V, MIPS, Power, Instruction Decode – Microcode
  • 7. IP - SOC – CPU SOC - Verification -? ● IP - Intellectual Property - A logical block / unit with defined interfaces - e.g. an Ethernet MAC, a PCIE Bridge, USB controller, DRAM controller - Use standard verification methodologies – Simulation, constrained random etc. - Verification focus on implementation ● SOC – A System on a Chip - A collection of logical blocks/IP s with interconnects - May be one or more CPUs / controllers - Verification focus on system level scenarios, interconnect and interaction between IPs ● CPU - Consider as a sub-system inside an SOC - ISA compliance
  • 8. Architectural Verification ● Implementation meets Architecture definition – ISA compliance - Instruction, Modes, Memory management, Interrupts/Exceptions ● Random Instruction Sequences / Generators -Developed primarily in a high-level language – C , Python with - inline assembly - used for better control sometimes ● Verified for correctness with an Architectural Simulator ● Test suites developed in house or available from third party for compliance - Large collection of tests, debugs are always challenging. ● Done at a CPU / Core level Test bench
  • 9. Micro-architecture Verification ● Focus on Implementation of CPU core ● Block level , Cluster/Sub-system Level Verification - IF, ID, LS, EX, - Single Core Cluster ● Constrained Random Verification – SV, UVM ● Functional and Code Coverage ● Formal Verification techniques
  • 10. Other Verification Focus - Areas ● Power Management Flows -Power states and Power savings - Sleep , Hibernate ● DFT/DFX Verification - How to test after manufacturing? ● Performance Verification - IPC, Single Threaded vs Multi threaded - Benchmarks – SpecInt, SpecFP, LMbench - Memory latency and bandwidth ● System Level Verification or Emulation - Long running Stress tests - Software readiness before Silicon including OS boot
  • 11. Regressions ● Collection of Tests that is run frequently and efficiently -Important as help to make sure progress in upward direction -Add new tests to regression as being developed - Makes sure a bug fix does not break a verified feature - Distribute tests across multiple machines/computers - Complex process with large test suites ● Architecture Verification - Huge test suite – Several thousands of tests ● Microarchitecture Verification - Each block might have a handy suite of constrained random tests
  • 12. Debugs ● Detecting Failures is first step to start debug ○ Assertions, checkers/scoreboards, hangs, timeouts etc ○ Failures classified based on signature (type of failure) ● Root cause a failure ○ Understanding failure and locating the cause ○ Failure could be in Verification or Design ○ Understanding design behavior is key to debug and track back ○ Might need to isolate failure before locating cause ○ Debug Tools - Monitors, log files, wave form viewers
  • 13. Milestones, Metrics and Checklist ● CPU /CPU-SOC development takes from a year to few years ● Development divided as milestones with metrics that monitors progress ● Checklists and sign off criteria used to gain high confidence before tape out
  • 14. Milestones • Rev0.0 – -Design Documentation, Initial RTL structure, -Test bench infrastructure, Build and Regression flows • Rev0.25 - Basic Features verified. Test bench components and stimulus infrastructure. - Initial Test plans Reviewed, Random regressions for verified features • Rev0.50 – Rev0.75 - More features coded and verified. More random regressions and bug hunting - Bug rates and pass rates gets monitored
  • 15. Milestones • Rev1.0 - All features coded and stimulus in place. Functional coverage monitor coded - Regressions and bug hunting. Coverage collection and analysis started • Freeze - Pass rates and functional coverage at 100% with known exceptions. All known/critical bugs fixed. - Incoming bug rates very low with no risks. • Tapeout
  • 16. Metrics Why Metrics ? -Design Verification rarely completes on schedule. -There is always more to verify in less time. -Be paranoid – There is always a bug in there hidden.
  • 17. Metrics for Completion ● Test plan completion ● Test plan reviews and Actions ● Tests, Stimulus , Checkers, Assertions, Functional Coverage coding completion ● Simulation based Metrics ● Regression pass rates, ● Bug Trends Incoming bug rates, Open bugs, historical trends ● Functional Coverage ● Code Coverage ● Code (RTL/DV) Stability
  • 18. ??