SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
1
Shahram Salamian
Ultra Mobility Group
Intel Corporation
Intel® Atom™ Processor Pre-silicon Verification Experience
2
AgendaAgenda
• Atom IntroductionAtom Introduction
• Verification challengesVerification challenges
• High level verification methodologyHigh level verification methodology
• Verification development process and indicatorsVerification development process and indicators
• Results & key learning'sResults & key learning's
• Future challengesFuture challenges
3
ONLY THE MOST POWER EFFICIENT FEATURES
WERE ADDED TO FURTHER IMPROVE PERFORMANCE
1% perf for 3%
or more power
1% perf for
2% power
1% perf for 1%
or less power
ApplicationPower
Performance
Baseline
core
Micro-architecting for Low PowerMicro-architecting for Low Power
• Started with single-issue, in order
pipeline
• Kept adding new features
• Iterated until higher performance and
performance/watt efficiency goals
were met
4
Key Architecture Level FeaturesKey Architecture Level Features
• ISA compatible with Intel® Core™ 2
 including Intel® SSE3, SSSE3 and Intel®64
• Dual issue pipeline with dual-thread support
• Full width SIMD integer and SP FP add support
• Aggressive TDP/average/idle power management
 Support for Enhanced Intel SpeedStep® Technology and ACPI
states including Intel® Deep Power down Technology (C6)
• Intel® Virtualization technology support
• Burst mode capability to enable higher frequency operation
on thermally limited designs
• 800 MHZ – 1.8 GHz, .65W – 2.4W TDP
5
Micro-architecture FeaturesMicro-architecture Features
 32KB Instruction cache with pre-decode extension32KB Instruction cache with pre-decode extension
 Branch Trace Buffer, Gshare predictorBranch Trace Buffer, Gshare predictor
 Return stack buffers (@ fetch, @ decode)Return stack buffers (@ fetch, @ decode)
 Per-thread Instruction Scheduling QueuesPer-thread Instruction Scheduling Queues
 Scheduler that can pick 2 ops from either thread per clockScheduler that can pick 2 ops from either thread per clock
 128b SIMD Integer datapath (2 SIMD alus, 1 shuffle unit)128b SIMD Integer datapath (2 SIMD alus, 1 shuffle unit)
 64b FP, SIMD integer multipliers64b FP, SIMD integer multipliers
 FP adder with 128b support for SP adds (64b for others)FP adder with 128b support for SP adds (64b for others)
 SIR (Safe Instruction Recognition) support to allow out-of-order commitsSIR (Safe Instruction Recognition) support to allow out-of-order commits
 24KB Writeback Data cache24KB Writeback Data cache
 Two-level Data TLB hierarchy with large and small page structuresTwo-level Data TLB hierarchy with large and small page structures
 Hardware page walker (for instruction and data TLB misses)Hardware page walker (for instruction and data TLB misses)
 Integer store-> load forwarding supportInteger store-> load forwarding support
 512KB way Level2 Cache (256b per access) with inline ECC protection512KB way Level2 Cache (256b per access) with inline ECC protection
 L2 cache, Data Cache hardware prefetchersL2 cache, Data Cache hardware prefetchers
Fetch
And
Decode
Scheduling
FP/SIMD
execution
Memory
execution
6
Power C-StatesPower C-States
Core voltage
Core clock
PLL
L1 caches
L2 cache
Wakeup time
Power
C0 HFM C0 LFM C1/C2 C4 C6
OFF OFF OFF
OFF OFF
Partial flush of
f
active active
of
f
flushedflushed
7
Global Power ManagementGlobal Power Management
• Global clock gating (C states)Global clock gating (C states)
• Dynamic frequency and voltage scaling with Enhanced IntelDynamic frequency and voltage scaling with Enhanced Intel
SpeedStep® Technology (enhanced C states)SpeedStep® Technology (enhanced C states)
• PLL and Front Side Bus IOs shutdown and core voltagePLL and Front Side Bus IOs shutdown and core voltage
reduction (deep C states)reduction (deep C states)
• Sleep transistors allow dynamic power down of L2 cacheSleep transistors allow dynamic power down of L2 cache
ways (Ultra-drowsy mode in deep C states)ways (Ultra-drowsy mode in deep C states)
• Sleep transistors in L2 cache allow voltage to be reduced toSleep transistors in L2 cache allow voltage to be reduced to
inactive logic (Drowsy mode)inactive logic (Drowsy mode)
• CMOS mode on Front Side BusCMOS mode on Front Side Bus
8
AgendaAgenda
• Atom IntroductionAtom Introduction
• Verification challengesVerification challenges
• High level verification methodologyHigh level verification methodology
• Verification development process and indicatorsVerification development process and indicators
• Results & key learning'sResults & key learning's
• Future challengesFuture challenges
9
Verification ChallengesVerification Challenges
 New ground up uArchitectureNew ground up uArchitecture
• Large scale development on validation collateralsLarge scale development on validation collaterals
 Aggressive development schedule to first TOAggressive development schedule to first TO
 Constrained verification resource environmentConstrained verification resource environment
• More acute for the first half of the project where newMore acute for the first half of the project where new
development was taking placedevelopment was taking place
 Introduction of significant power mgmt featuresIntroduction of significant power mgmt features
 Minimize post-si validation qualification cycle, at least fromMinimize post-si validation qualification cycle, at least from
function/logic perspectivefunction/logic perspective
10
AgendaAgenda
• Atom introductionAtom introduction
• Verification challengesVerification challenges
• High level verification methodologyHigh level verification methodology
• Verification development process and indicatorsVerification development process and indicators
• Results & key learning'sResults & key learning's
• Future challengesFuture challenges
11
High level verification approachesHigh level verification approaches
 Cluster level validation & functional coverageCluster level validation & functional coverage
 New x86 test case generator for Architecture validationNew x86 test case generator for Architecture validation
 New power mgmt validation collaterals developmentNew power mgmt validation collaterals development
 Formal property & model checking verificationFormal property & model checking verification
 X86 legacy database reuse for verifying against ArchitectureX86 legacy database reuse for verifying against Architecture
 Focus on debug, testability & survivability features from theFocus on debug, testability & survivability features from the
startstart
 Complementary full chip test content from post-si domainComplementary full chip test content from post-si domain
 EmulationEmulation
12
Cluster level validationCluster level validation
 Developed new test benches for all clusters (5 HW clusters) in SpecmanDeveloped new test benches for all clusters (5 HW clusters) in Specman
“e”“e”
 Test bench architecture enabled building “super clusters” as appropriateTest bench architecture enabled building “super clusters” as appropriate
• Bus + Memory, Front end + schedulerBus + Memory, Front end + scheduler
• Allowed exercising complicated inter-cluster protocol more effectivelyAllowed exercising complicated inter-cluster protocol more effectively
 Scoreboard + checkers reused at full chip environmentScoreboard + checkers reused at full chip environment
 Detailed scoreboard + checker reviews with Architecture + design teamsDetailed scoreboard + checker reviews with Architecture + design teams
 Random templates + Specman constraints generated testsRandom templates + Specman constraints generated tests
 New Arch simulator facilitated standalone Ucode validation environmentNew Arch simulator facilitated standalone Ucode validation environment
13
Functional CoverageFunctional Coverage
 Significant emphasis on use of functional coverage in allSignificant emphasis on use of functional coverage in all
clusters & full chipclusters & full chip
 Propriety coverage language specification/collection/analysisPropriety coverage language specification/collection/analysis
flowflow
 Coverage space specification was result of collaboration withCoverage space specification was result of collaboration with
architecture, design teamsarchitecture, design teams
 Use coverage to identify test generation & content gap atUse coverage to identify test generation & content gap at
cluster and FC environmentscluster and FC environments
 Set goals for cluster and full chip functional coverage goalsSet goals for cluster and full chip functional coverage goals
 Could not attain high tape out coverage goals in some areasCould not attain high tape out coverage goals in some areas
- Detailed coverage analysis reviews with all stakeholders- Detailed coverage analysis reviews with all stakeholders
- Post-si validation focused on low coverage areas- Post-si validation focused on low coverage areas
14
Architectural ValidationArchitectural Validation
 Goal is to verify implementation adheres to all aspects of X86Goal is to verify implementation adheres to all aspects of X86
architecture (i.e Intel blue books)architecture (i.e Intel blue books)
 Leveraged large legacy test base suiteLeveraged large legacy test base suite
 Developed new X86 instruction set random test generatorDeveloped new X86 instruction set random test generator
 Leveraged X86 Architectural simulator as reference model toLeveraged X86 Architectural simulator as reference model to
check Architectural correctnesscheck Architectural correctness
• Complemented by key cluster uArch checkersComplemented by key cluster uArch checkers
 Developed special libraries to exercise power mgmt featuresDeveloped special libraries to exercise power mgmt features
15
It is all about Power stupid……It is all about Power stupid……
 Imperative to get the power saving features right at A0Imperative to get the power saving features right at A0
• Early post-si power characterization was key requirementEarly post-si power characterization was key requirement
• Enablement of power management SW development and debug asEnablement of power management SW development and debug as
soon as possiblesoon as possible
 Developed validation collaterals to inject random power eventsDeveloped validation collaterals to inject random power events
& dynamic checkers for correct behavior& dynamic checkers for correct behavior
• Power mgmt is collaboration of Ucode, HW & chipsetPower mgmt is collaboration of Ucode, HW & chipset
• High level of random variables to create scenariosHigh level of random variables to create scenarios
• Detailed checker to verify state & other power related featuresDetailed checker to verify state & other power related features
 State corruption capability as power domain turned offState corruption capability as power domain turned off
• Power specification approach was in its infancyPower specification approach was in its infancy
• Developed tools to identify sequential elements & corrupt state asDeveloped tools to identify sequential elements & corrupt state as
neededneeded
 Clock gating logic traversal capability and coverageClock gating logic traversal capability and coverage
specificationspecification
16
Formal VerificationFormal Verification
 Applied model checkingApplied model checking
• Selective areas on floating point algorithms with data pathSelective areas on floating point algorithms with data path
contentcontent
• Instruction length decode data pathInstruction length decode data path
 Extensive use of assertionsExtensive use of assertions
• Assumption checkingAssumption checking
• ProtocolsProtocols
• Multi-cycle pathsMulti-cycle paths
• ~50% of non-complex assertions proven formally~50% of non-complex assertions proven formally
17
Si Debug & SurvivabilitySi Debug & Survivability
 DebugDebug
• Numerous debug features were incorporated in the designNumerous debug features were incorporated in the design
• Treated debug features as important as functionalTreated debug features as important as functional
• Involved post-si validation to define usage model, test contentInvolved post-si validation to define usage model, test content
development, execution on pre-sidevelopment, execution on pre-si
 Survivability – Making progress in the presence of bugsSurvivability – Making progress in the presence of bugs
• Complex algorithms divided into smaller sub-algorithms, selectable withComplex algorithms divided into smaller sub-algorithms, selectable with
ON/OFF flopON/OFF flop
• Behavior on OFF reverts to simpler or slower performance or lowerBehavior on OFF reverts to simpler or slower performance or lower
power behaviorpower behavior
• Helps with bug isolationHelps with bug isolation
• Randomized all ON/OFF flops in cluster & full chip random templates,Randomized all ON/OFF flops in cluster & full chip random templates,
with checkers and coverage measurement enabledwith checkers and coverage measurement enabled
18
Post-Si content & EmulationPost-Si content & Emulation
 Test content diversificationTest content diversification
• Actively sought post-si test contentActively sought post-si test content
– Allowed for post-si content development to start & mature earlyAllowed for post-si content development to start & mature early
– Identified areas of improvement for the newly deployed ISAIdentified areas of improvement for the newly deployed ISA
generatorgenerator
– Additional, complementary source for coverageAdditional, complementary source for coverage
 Focused on full chip emulationFocused on full chip emulation
• Post-si team used emulation to develop & debug testPost-si team used emulation to develop & debug test
contentcontent
• Accelerate replay of failure tracesAccelerate replay of failure traces
• Successful boot of Unix-like kernel before TOSuccessful boot of Unix-like kernel before TO
19
AgendaAgenda
• Atom introductionAtom introduction
• Verification challengesVerification challenges
• High level verification methodologyHigh level verification methodology
• Verification development process and indicatorsVerification development process and indicators
• Results & key learning'sResults & key learning's
• Future challengesFuture challenges
20
Verification Development ProcessVerification Development Process
 Light verificationLight verification
• Split RTL & test bench development into distinct phases & have enoughSplit RTL & test bench development into distinct phases & have enough
features to allow full chip executionfeatures to allow full chip execution
• At end of each phase, set of clear acceptance criteria had to be met toAt end of each phase, set of clear acceptance criteria had to be met to
call phase donecall phase done
• Increasingly stringent quality control to check RTL & test bench code inIncreasingly stringent quality control to check RTL & test bench code in
data base with each phasedata base with each phase
 Heavy verificationHeavy verification
• Test planning, coverage specification phase, initial exerciseTest planning, coverage specification phase, initial exercise
• Template writing, directed test writing, start coverage roll upTemplate writing, directed test writing, start coverage roll up
• Coverage analysis with feedback to test generation & environmentCoverage analysis with feedback to test generation & environment
• More randomness, more injectors, more stress scenarios as new bugMore randomness, more injectors, more stress scenarios as new bug
arrival rate showed downward trendarrival rate showed downward trend
21
Verification MetricsVerification Metrics
 Light ValidationLight Validation
• Stage plan basedStage plan based
• Verification collateral development was tightly coupled with RTL featuresVerification collateral development was tightly coupled with RTL features
• Tight control on phase acceptance criteria contentTight control on phase acceptance criteria content
 Heavy verification phase indicatorsHeavy verification phase indicators
• % Coverage specification complete% Coverage specification complete
• % Functional coverage% Functional coverage
• % Tests written & passing rate for directed scenarios (DFT, DFV)% Tests written & passing rate for directed scenarios (DFT, DFV)
• % Legacy tests passing rate% Legacy tests passing rate
• Bug indicators such as incoming rate, open, ready-for-closure, type, etcBug indicators such as incoming rate, open, ready-for-closure, type, etc
• Last but certainly not least, health of model indicatorLast but certainly not least, health of model indicator
– Used by many previous generation CPU projectsUsed by many previous generation CPU projects
– Intended to act as RTL functional health indicator to design, project mgmt, etcIntended to act as RTL functional health indicator to design, project mgmt, etc
– Incorporates impact of unresolved bugs on validation progressIncorporates impact of unresolved bugs on validation progress
– Incorporates subjective “progress” factor as voted by different areas ofIncorporates subjective “progress” factor as voted by different areas of
validationvalidation
22
Health of the model indicatorHealth of the model indicator
Atom Health of the Model
0
10
20
30
40
50
60
70
80
90
100
0
Qtr 4 Qtr 3 Qtr 2 Qtr 1 Qtr 0
Time to Tapeout
Score
Black – Atom
Pink, Blue, Orange - Previous CPU projects
Green Line – Desired zone
Red Line - Urgent action required zone
23
AgendaAgenda
• Atom introductionAtom introduction
• Verification challengesVerification challenges
• High level verification methodologyHigh level verification methodology
• Verification development process and indicatorsVerification development process and indicators
• Results & key learning'sResults & key learning's
• Future challengesFuture challenges
24
ResultsResults
 10 Hr boot from part arrival to Windows & Linux boot10 Hr boot from part arrival to Windows & Linux boot
 Post-si activities were not blocked or curtailed as result ofPost-si activities were not blocked or curtailed as result of
functional bugsfunctional bugs
 Significant % of post-si found bugs were corner case, multi-Significant % of post-si found bugs were corner case, multi-
dimensional, timing-dependent sequence scenariosdimensional, timing-dependent sequence scenarios
 A small number of “we should have hit this” type of escapesA small number of “we should have hit this” type of escapes
 All debug/survivability features worked. Significantly helpedAll debug/survivability features worked. Significantly helped
with isolation & debug effortwith isolation & debug effort
25
SLT Total Bugs by Assigned Cluster
Bugs subm itted betw een 2006_01 & 2006_52
BNL
2%
BUS
22%
DFT
5%
FEC
16%
FPC
5%
IEC
13%
MEC
8%
uCODE
29%
Results
26
ResultsResults
Pre-si bug escapes to post-si
0
1
2
3
4
5
6
7
8
Intel
Pentium
Pro
Intel
Pentium 4
Intel
Pentium 4
- 65 nm
Intel Core-
Duo
Intel Core-
Duo - 45
nm
Intel Atom
Intel Architecture CPU
%oftotalpre-silicon
bugs
27
Ultimate indicator of successful result is
Intel® Atom™ powering many products in stores near you !
Results
28
Key Learning'sKey Learning's
 Build & keep full chip healthy as soon as possibleBuild & keep full chip healthy as soon as possible
 Keep stringent quality control to check-in RTL and/orKeep stringent quality control to check-in RTL and/or
validation collaterals in the design databasevalidation collaterals in the design database
 Putting same focus on DFT, DFV, etc as main streamPutting same focus on DFT, DFV, etc as main stream
functionality pays off in long termfunctionality pays off in long term
 Dig behind the indicators, especially when they show rosyDig behind the indicators, especially when they show rosy
picturespictures
 Small, highly focused, motivated team can do wonderfulSmall, highly focused, motivated team can do wonderful
thingsthings
29
AgendaAgenda
• Atom introductionAtom introduction
• Verification challengesVerification challenges
• High level verification methodologyHigh level verification methodology
• Verification development process and indicatorsVerification development process and indicators
• ResultsResults & key learnings& key learnings
• Future challengesFuture challenges
30
Future challengesFuture challenges
 Effective & systematic coverage specification andEffective & systematic coverage specification and
measurement for post-si and how to tie ormeasurement for post-si and how to tie or
leverage pre-sileverage pre-si
 Ways to capture state & debug, especially asWays to capture state & debug, especially as
move to even more integrated multi-core, multi-IPmove to even more integrated multi-core, multi-IP
worldworld
 Analog/digital, circuit, process i.e non-logic issuesAnalog/digital, circuit, process i.e non-logic issues
are starting to dominate post-si qualification cycleare starting to dominate post-si qualification cycle

Más contenido relacionado

La actualidad más candente

Intel Core i7
Intel Core i7Intel Core i7
Intel Core i7Md Ajmat
 
Andes enhancing verification coverage for risc v vector extension using riscv-dv
Andes enhancing verification coverage for risc v vector extension using riscv-dvAndes enhancing verification coverage for risc v vector extension using riscv-dv
Andes enhancing verification coverage for risc v vector extension using riscv-dvRISC-V International
 
Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how Chirag Jog
 
Intel core-i3-processors
Intel core-i3-processorsIntel core-i3-processors
Intel core-i3-processorshmnasim15
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Projectrossburton
 
Linux field-update-2015
Linux field-update-2015Linux field-update-2015
Linux field-update-2015Chris Simmonds
 
Tensorflow Lite and ARM Compute Library
Tensorflow Lite and ARM Compute LibraryTensorflow Lite and ARM Compute Library
Tensorflow Lite and ARM Compute LibraryKobe Yu
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/CoreShay Cohen
 
CHERI Capability Hardware Enhanced RISC Instructions - Architecture and Softw...
CHERI Capability Hardware Enhanced RISC Instructions - Architecture and Softw...CHERI Capability Hardware Enhanced RISC Instructions - Architecture and Softw...
CHERI Capability Hardware Enhanced RISC Instructions - Architecture and Softw...KTN
 
Understanding Android Benchmarks
Understanding Android BenchmarksUnderstanding Android Benchmarks
Understanding Android BenchmarksKoan-Sin Tan
 
Intro to NuGet
Intro to NuGetIntro to NuGet
Intro to NuGetwlscaudill
 
Kernel module programming
Kernel module programmingKernel module programming
Kernel module programmingVandana Salve
 
ARM_System_Developers_Guide-Designing_and_Optimizing_System_Software.pdf
ARM_System_Developers_Guide-Designing_and_Optimizing_System_Software.pdfARM_System_Developers_Guide-Designing_and_Optimizing_System_Software.pdf
ARM_System_Developers_Guide-Designing_and_Optimizing_System_Software.pdfKNaveenKumarECE
 
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vfLivre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vfrodolphe gilbert-collet
 

La actualidad más candente (20)

Intel Core i7
Intel Core i7Intel Core i7
Intel Core i7
 
Linux Porting
Linux PortingLinux Porting
Linux Porting
 
Andes enhancing verification coverage for risc v vector extension using riscv-dv
Andes enhancing verification coverage for risc v vector extension using riscv-dvAndes enhancing verification coverage for risc v vector extension using riscv-dv
Andes enhancing verification coverage for risc v vector extension using riscv-dv
 
Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how
 
Intel core-i3-processors
Intel core-i3-processorsIntel core-i3-processors
Intel core-i3-processors
 
SPI Drivers
SPI DriversSPI Drivers
SPI Drivers
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
 
Linux field-update-2015
Linux field-update-2015Linux field-update-2015
Linux field-update-2015
 
Tensorflow Lite and ARM Compute Library
Tensorflow Lite and ARM Compute LibraryTensorflow Lite and ARM Compute Library
Tensorflow Lite and ARM Compute Library
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
 
CHERI Capability Hardware Enhanced RISC Instructions - Architecture and Softw...
CHERI Capability Hardware Enhanced RISC Instructions - Architecture and Softw...CHERI Capability Hardware Enhanced RISC Instructions - Architecture and Softw...
CHERI Capability Hardware Enhanced RISC Instructions - Architecture and Softw...
 
Understanding Android Benchmarks
Understanding Android BenchmarksUnderstanding Android Benchmarks
Understanding Android Benchmarks
 
Video Drivers
Video DriversVideo Drivers
Video Drivers
 
Intro to NuGet
Intro to NuGetIntro to NuGet
Intro to NuGet
 
Kernel module programming
Kernel module programmingKernel module programming
Kernel module programming
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
ARM_System_Developers_Guide-Designing_and_Optimizing_System_Software.pdf
ARM_System_Developers_Guide-Designing_and_Optimizing_System_Software.pdfARM_System_Developers_Guide-Designing_and_Optimizing_System_Software.pdf
ARM_System_Developers_Guide-Designing_and_Optimizing_System_Software.pdf
 
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vfLivre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
 
Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
Intel Core i7
Intel Core i7Intel Core i7
Intel Core i7
 

Destacado

Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationDVClub
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUsDVClub
 
Intel Atom X Mobile Processors Announcement Slides MWC 2015
Intel Atom X Mobile Processors Announcement Slides MWC 2015Intel Atom X Mobile Processors Announcement Slides MWC 2015
Intel Atom X Mobile Processors Announcement Slides MWC 2015Ronen Mendezitsky
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)DVClub
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)DVClub
 
AMD_11th_Intl_SoC_Conf_UCI_Irvine
AMD_11th_Intl_SoC_Conf_UCI_IrvineAMD_11th_Intl_SoC_Conf_UCI_Irvine
AMD_11th_Intl_SoC_Conf_UCI_IrvinePankaj Singh
 
Intel_Low Power Intelligent Solutions with Intel Atom Processor
Intel_Low Power Intelligent Solutions with Intel Atom ProcessorIntel_Low Power Intelligent Solutions with Intel Atom Processor
Intel_Low Power Intelligent Solutions with Intel Atom ProcessorIşınsu Akçetin
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through MethodologyDVClub
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesDVClub
 
UVM: Basic Sequences
UVM: Basic SequencesUVM: Basic Sequences
UVM: Basic SequencesArrow Devices
 
Verification challenges and methodologies - SoC and ASICs
Verification challenges and methodologies - SoC and ASICsVerification challenges and methodologies - SoC and ASICs
Verification challenges and methodologies - SoC and ASICsDr. Shivananda Koteshwar
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 sessionSameh El-Ashry
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology TutorialArrow Devices
 
Intel Processors
Intel ProcessorsIntel Processors
Intel Processorshome
 

Destacado (15)

Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si Validation
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUs
 
Intel Atom X Mobile Processors Announcement Slides MWC 2015
Intel Atom X Mobile Processors Announcement Slides MWC 2015Intel Atom X Mobile Processors Announcement Slides MWC 2015
Intel Atom X Mobile Processors Announcement Slides MWC 2015
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)
 
AMD_11th_Intl_SoC_Conf_UCI_Irvine
AMD_11th_Intl_SoC_Conf_UCI_IrvineAMD_11th_Intl_SoC_Conf_UCI_Irvine
AMD_11th_Intl_SoC_Conf_UCI_Irvine
 
Intel_Low Power Intelligent Solutions with Intel Atom Processor
Intel_Low Power Intelligent Solutions with Intel Atom ProcessorIntel_Low Power Intelligent Solutions with Intel Atom Processor
Intel_Low Power Intelligent Solutions with Intel Atom Processor
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
 
UVM: Basic Sequences
UVM: Basic SequencesUVM: Basic Sequences
UVM: Basic Sequences
 
Verification challenges and methodologies - SoC and ASICs
Verification challenges and methodologies - SoC and ASICsVerification challenges and methodologies - SoC and ASICs
Verification challenges and methodologies - SoC and ASICs
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology Tutorial
 
Coverage and Introduction to UVM
Coverage and Introduction to UVMCoverage and Introduction to UVM
Coverage and Introduction to UVM
 
Intel Processors
Intel ProcessorsIntel Processors
Intel Processors
 

Similar a Intel Atom Processor Pre-Silicon Verification Experience

The Cortex-A15 Verification Story
The Cortex-A15 Verification StoryThe Cortex-A15 Verification Story
The Cortex-A15 Verification StoryDVClub
 
Coverage Solutions on Emulators
Coverage Solutions on EmulatorsCoverage Solutions on Emulators
Coverage Solutions on EmulatorsDVClub
 
Resume_CQ_Edward
Resume_CQ_EdwardResume_CQ_Edward
Resume_CQ_Edwardcaiqi wang
 
Public vs. Private Cloud Performance by Flex
Public vs. Private Cloud Performance by FlexPublic vs. Private Cloud Performance by Flex
Public vs. Private Cloud Performance by FlexStackIQ
 
Ceph Day Beijing - Ceph all-flash array design based on NUMA architecture
Ceph Day Beijing - Ceph all-flash array design based on NUMA architectureCeph Day Beijing - Ceph all-flash array design based on NUMA architecture
Ceph Day Beijing - Ceph all-flash array design based on NUMA architectureCeph Community
 
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureCeph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureDanielle Womboldt
 
Multicore 101: Migrating Embedded Apps to Multicore with Linux
Multicore 101: Migrating Embedded Apps to Multicore with LinuxMulticore 101: Migrating Embedded Apps to Multicore with Linux
Multicore 101: Migrating Embedded Apps to Multicore with LinuxBrad Dixon
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community
 
Boston 2009 q1_kappler_chris
Boston 2009 q1_kappler_chrisBoston 2009 q1_kappler_chris
Boston 2009 q1_kappler_chrisObsidian Software
 
Insights and Lessons Learned Verifying the QoS Engine of a Network Processor
Insights and Lessons Learned Verifying the QoS Engine of a Network ProcessorInsights and Lessons Learned Verifying the QoS Engine of a Network Processor
Insights and Lessons Learned Verifying the QoS Engine of a Network ProcessorDVClub
 
Intel open stack-summit-session-nov13-final
Intel open stack-summit-session-nov13-finalIntel open stack-summit-session-nov13-final
Intel open stack-summit-session-nov13-finalDeepak Mane
 
Validation and-design-in-a-small-team-environment
Validation and-design-in-a-small-team-environmentValidation and-design-in-a-small-team-environment
Validation and-design-in-a-small-team-environmentObsidian Software
 
Validation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentValidation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentDVClub
 
Gain Storage Control with SIOC and Take Performance Control with QoS from Sol...
Gain Storage Control with SIOC and Take Performance Control with QoS from Sol...Gain Storage Control with SIOC and Take Performance Control with QoS from Sol...
Gain Storage Control with SIOC and Take Performance Control with QoS from Sol...NetApp
 
Ramprasad-CV_3+yrs
Ramprasad-CV_3+yrsRamprasad-CV_3+yrs
Ramprasad-CV_3+yrsRamprasad B
 

Similar a Intel Atom Processor Pre-Silicon Verification Experience (20)

Sharam salamian
Sharam salamianSharam salamian
Sharam salamian
 
The Cortex-A15 Verification Story
The Cortex-A15 Verification StoryThe Cortex-A15 Verification Story
The Cortex-A15 Verification Story
 
Apache Cloudstack QA Strategy
Apache Cloudstack QA StrategyApache Cloudstack QA Strategy
Apache Cloudstack QA Strategy
 
Coverage Solutions on Emulators
Coverage Solutions on EmulatorsCoverage Solutions on Emulators
Coverage Solutions on Emulators
 
Resume_CQ_Edward
Resume_CQ_EdwardResume_CQ_Edward
Resume_CQ_Edward
 
ASIC design verification
ASIC design verificationASIC design verification
ASIC design verification
 
Public vs. Private Cloud Performance by Flex
Public vs. Private Cloud Performance by FlexPublic vs. Private Cloud Performance by Flex
Public vs. Private Cloud Performance by Flex
 
Ceph Day Beijing - Ceph all-flash array design based on NUMA architecture
Ceph Day Beijing - Ceph all-flash array design based on NUMA architectureCeph Day Beijing - Ceph all-flash array design based on NUMA architecture
Ceph Day Beijing - Ceph all-flash array design based on NUMA architecture
 
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureCeph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
 
Multicore 101: Migrating Embedded Apps to Multicore with Linux
Multicore 101: Migrating Embedded Apps to Multicore with LinuxMulticore 101: Migrating Embedded Apps to Multicore with Linux
Multicore 101: Migrating Embedded Apps to Multicore with Linux
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph
 
Boston 2009 q1_kappler_chris
Boston 2009 q1_kappler_chrisBoston 2009 q1_kappler_chris
Boston 2009 q1_kappler_chris
 
Insights and Lessons Learned Verifying the QoS Engine of a Network Processor
Insights and Lessons Learned Verifying the QoS Engine of a Network ProcessorInsights and Lessons Learned Verifying the QoS Engine of a Network Processor
Insights and Lessons Learned Verifying the QoS Engine of a Network Processor
 
Intel open stack-summit-session-nov13-final
Intel open stack-summit-session-nov13-finalIntel open stack-summit-session-nov13-final
Intel open stack-summit-session-nov13-final
 
Validation and-design-in-a-small-team-environment
Validation and-design-in-a-small-team-environmentValidation and-design-in-a-small-team-environment
Validation and-design-in-a-small-team-environment
 
Validation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentValidation and Design in a Small Team Environment
Validation and Design in a Small Team Environment
 
CPU Verification
CPU VerificationCPU Verification
CPU Verification
 
Basavanthrao_resume_vlsi
Basavanthrao_resume_vlsiBasavanthrao_resume_vlsi
Basavanthrao_resume_vlsi
 
Gain Storage Control with SIOC and Take Performance Control with QoS from Sol...
Gain Storage Control with SIOC and Take Performance Control with QoS from Sol...Gain Storage Control with SIOC and Take Performance Control with QoS from Sol...
Gain Storage Control with SIOC and Take Performance Control with QoS from Sol...
 
Ramprasad-CV_3+yrs
Ramprasad-CV_3+yrsRamprasad-CV_3+yrs
Ramprasad-CV_3+yrs
 

Más de DVClub

IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseDVClub
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment OverviewDVClub
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyDVClub
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACTDVClub
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal ValidationDVClub
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design CommunityDVClub
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemCDVClub
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-ExpressDVClub
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessDVClub
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 ProcessorDVClub
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS VerificationDVClub
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and VerificationDVClub
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register PackageDVClub
 
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...DVClub
 
Verification of Wireless SoCs: No Longer in the Dark Ages
Verification of Wireless SoCs: No Longer in the Dark AgesVerification of Wireless SoCs: No Longer in the Dark Ages
Verification of Wireless SoCs: No Longer in the Dark AgesDVClub
 
I Never Thought I Would Grow Up to be This Formal
I Never Thought I Would Grow Up to be This FormalI Never Thought I Would Grow Up to be This Formal
I Never Thought I Would Grow Up to be This FormalDVClub
 
OMAP Verification
OMAP VerificationOMAP Verification
OMAP VerificationDVClub
 
Roy aeroVerifying Power Domains in AeroFONE
Roy aeroVerifying Power Domains in AeroFONERoy aeroVerifying Power Domains in AeroFONE
Roy aeroVerifying Power Domains in AeroFONEDVClub
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelDVClub
 
Advanced Methodologies Used for Top-Level Verification of Mixed Signal Products
Advanced Methodologies Used for Top-Level Verification of Mixed Signal ProductsAdvanced Methodologies Used for Top-Level Verification of Mixed Signal Products
Advanced Methodologies Used for Top-Level Verification of Mixed Signal ProductsDVClub
 

Más de DVClub (20)

IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the Enterprise
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification Methodology
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal Validation
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design Community
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemC
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification Process
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 Processor
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS Verification
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and Verification
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register Package
 
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
 
Verification of Wireless SoCs: No Longer in the Dark Ages
Verification of Wireless SoCs: No Longer in the Dark AgesVerification of Wireless SoCs: No Longer in the Dark Ages
Verification of Wireless SoCs: No Longer in the Dark Ages
 
I Never Thought I Would Grow Up to be This Formal
I Never Thought I Would Grow Up to be This FormalI Never Thought I Would Grow Up to be This Formal
I Never Thought I Would Grow Up to be This Formal
 
OMAP Verification
OMAP VerificationOMAP Verification
OMAP Verification
 
Roy aeroVerifying Power Domains in AeroFONE
Roy aeroVerifying Power Domains in AeroFONERoy aeroVerifying Power Domains in AeroFONE
Roy aeroVerifying Power Domains in AeroFONE
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC Level
 
Advanced Methodologies Used for Top-Level Verification of Mixed Signal Products
Advanced Methodologies Used for Top-Level Verification of Mixed Signal ProductsAdvanced Methodologies Used for Top-Level Verification of Mixed Signal Products
Advanced Methodologies Used for Top-Level Verification of Mixed Signal Products
 

Intel Atom Processor Pre-Silicon Verification Experience

  • 1. 1 Shahram Salamian Ultra Mobility Group Intel Corporation Intel® Atom™ Processor Pre-silicon Verification Experience
  • 2. 2 AgendaAgenda • Atom IntroductionAtom Introduction • Verification challengesVerification challenges • High level verification methodologyHigh level verification methodology • Verification development process and indicatorsVerification development process and indicators • Results & key learning'sResults & key learning's • Future challengesFuture challenges
  • 3. 3 ONLY THE MOST POWER EFFICIENT FEATURES WERE ADDED TO FURTHER IMPROVE PERFORMANCE 1% perf for 3% or more power 1% perf for 2% power 1% perf for 1% or less power ApplicationPower Performance Baseline core Micro-architecting for Low PowerMicro-architecting for Low Power • Started with single-issue, in order pipeline • Kept adding new features • Iterated until higher performance and performance/watt efficiency goals were met
  • 4. 4 Key Architecture Level FeaturesKey Architecture Level Features • ISA compatible with Intel® Core™ 2  including Intel® SSE3, SSSE3 and Intel®64 • Dual issue pipeline with dual-thread support • Full width SIMD integer and SP FP add support • Aggressive TDP/average/idle power management  Support for Enhanced Intel SpeedStep® Technology and ACPI states including Intel® Deep Power down Technology (C6) • Intel® Virtualization technology support • Burst mode capability to enable higher frequency operation on thermally limited designs • 800 MHZ – 1.8 GHz, .65W – 2.4W TDP
  • 5. 5 Micro-architecture FeaturesMicro-architecture Features  32KB Instruction cache with pre-decode extension32KB Instruction cache with pre-decode extension  Branch Trace Buffer, Gshare predictorBranch Trace Buffer, Gshare predictor  Return stack buffers (@ fetch, @ decode)Return stack buffers (@ fetch, @ decode)  Per-thread Instruction Scheduling QueuesPer-thread Instruction Scheduling Queues  Scheduler that can pick 2 ops from either thread per clockScheduler that can pick 2 ops from either thread per clock  128b SIMD Integer datapath (2 SIMD alus, 1 shuffle unit)128b SIMD Integer datapath (2 SIMD alus, 1 shuffle unit)  64b FP, SIMD integer multipliers64b FP, SIMD integer multipliers  FP adder with 128b support for SP adds (64b for others)FP adder with 128b support for SP adds (64b for others)  SIR (Safe Instruction Recognition) support to allow out-of-order commitsSIR (Safe Instruction Recognition) support to allow out-of-order commits  24KB Writeback Data cache24KB Writeback Data cache  Two-level Data TLB hierarchy with large and small page structuresTwo-level Data TLB hierarchy with large and small page structures  Hardware page walker (for instruction and data TLB misses)Hardware page walker (for instruction and data TLB misses)  Integer store-> load forwarding supportInteger store-> load forwarding support  512KB way Level2 Cache (256b per access) with inline ECC protection512KB way Level2 Cache (256b per access) with inline ECC protection  L2 cache, Data Cache hardware prefetchersL2 cache, Data Cache hardware prefetchers Fetch And Decode Scheduling FP/SIMD execution Memory execution
  • 6. 6 Power C-StatesPower C-States Core voltage Core clock PLL L1 caches L2 cache Wakeup time Power C0 HFM C0 LFM C1/C2 C4 C6 OFF OFF OFF OFF OFF Partial flush of f active active of f flushedflushed
  • 7. 7 Global Power ManagementGlobal Power Management • Global clock gating (C states)Global clock gating (C states) • Dynamic frequency and voltage scaling with Enhanced IntelDynamic frequency and voltage scaling with Enhanced Intel SpeedStep® Technology (enhanced C states)SpeedStep® Technology (enhanced C states) • PLL and Front Side Bus IOs shutdown and core voltagePLL and Front Side Bus IOs shutdown and core voltage reduction (deep C states)reduction (deep C states) • Sleep transistors allow dynamic power down of L2 cacheSleep transistors allow dynamic power down of L2 cache ways (Ultra-drowsy mode in deep C states)ways (Ultra-drowsy mode in deep C states) • Sleep transistors in L2 cache allow voltage to be reduced toSleep transistors in L2 cache allow voltage to be reduced to inactive logic (Drowsy mode)inactive logic (Drowsy mode) • CMOS mode on Front Side BusCMOS mode on Front Side Bus
  • 8. 8 AgendaAgenda • Atom IntroductionAtom Introduction • Verification challengesVerification challenges • High level verification methodologyHigh level verification methodology • Verification development process and indicatorsVerification development process and indicators • Results & key learning'sResults & key learning's • Future challengesFuture challenges
  • 9. 9 Verification ChallengesVerification Challenges  New ground up uArchitectureNew ground up uArchitecture • Large scale development on validation collateralsLarge scale development on validation collaterals  Aggressive development schedule to first TOAggressive development schedule to first TO  Constrained verification resource environmentConstrained verification resource environment • More acute for the first half of the project where newMore acute for the first half of the project where new development was taking placedevelopment was taking place  Introduction of significant power mgmt featuresIntroduction of significant power mgmt features  Minimize post-si validation qualification cycle, at least fromMinimize post-si validation qualification cycle, at least from function/logic perspectivefunction/logic perspective
  • 10. 10 AgendaAgenda • Atom introductionAtom introduction • Verification challengesVerification challenges • High level verification methodologyHigh level verification methodology • Verification development process and indicatorsVerification development process and indicators • Results & key learning'sResults & key learning's • Future challengesFuture challenges
  • 11. 11 High level verification approachesHigh level verification approaches  Cluster level validation & functional coverageCluster level validation & functional coverage  New x86 test case generator for Architecture validationNew x86 test case generator for Architecture validation  New power mgmt validation collaterals developmentNew power mgmt validation collaterals development  Formal property & model checking verificationFormal property & model checking verification  X86 legacy database reuse for verifying against ArchitectureX86 legacy database reuse for verifying against Architecture  Focus on debug, testability & survivability features from theFocus on debug, testability & survivability features from the startstart  Complementary full chip test content from post-si domainComplementary full chip test content from post-si domain  EmulationEmulation
  • 12. 12 Cluster level validationCluster level validation  Developed new test benches for all clusters (5 HW clusters) in SpecmanDeveloped new test benches for all clusters (5 HW clusters) in Specman “e”“e”  Test bench architecture enabled building “super clusters” as appropriateTest bench architecture enabled building “super clusters” as appropriate • Bus + Memory, Front end + schedulerBus + Memory, Front end + scheduler • Allowed exercising complicated inter-cluster protocol more effectivelyAllowed exercising complicated inter-cluster protocol more effectively  Scoreboard + checkers reused at full chip environmentScoreboard + checkers reused at full chip environment  Detailed scoreboard + checker reviews with Architecture + design teamsDetailed scoreboard + checker reviews with Architecture + design teams  Random templates + Specman constraints generated testsRandom templates + Specman constraints generated tests  New Arch simulator facilitated standalone Ucode validation environmentNew Arch simulator facilitated standalone Ucode validation environment
  • 13. 13 Functional CoverageFunctional Coverage  Significant emphasis on use of functional coverage in allSignificant emphasis on use of functional coverage in all clusters & full chipclusters & full chip  Propriety coverage language specification/collection/analysisPropriety coverage language specification/collection/analysis flowflow  Coverage space specification was result of collaboration withCoverage space specification was result of collaboration with architecture, design teamsarchitecture, design teams  Use coverage to identify test generation & content gap atUse coverage to identify test generation & content gap at cluster and FC environmentscluster and FC environments  Set goals for cluster and full chip functional coverage goalsSet goals for cluster and full chip functional coverage goals  Could not attain high tape out coverage goals in some areasCould not attain high tape out coverage goals in some areas - Detailed coverage analysis reviews with all stakeholders- Detailed coverage analysis reviews with all stakeholders - Post-si validation focused on low coverage areas- Post-si validation focused on low coverage areas
  • 14. 14 Architectural ValidationArchitectural Validation  Goal is to verify implementation adheres to all aspects of X86Goal is to verify implementation adheres to all aspects of X86 architecture (i.e Intel blue books)architecture (i.e Intel blue books)  Leveraged large legacy test base suiteLeveraged large legacy test base suite  Developed new X86 instruction set random test generatorDeveloped new X86 instruction set random test generator  Leveraged X86 Architectural simulator as reference model toLeveraged X86 Architectural simulator as reference model to check Architectural correctnesscheck Architectural correctness • Complemented by key cluster uArch checkersComplemented by key cluster uArch checkers  Developed special libraries to exercise power mgmt featuresDeveloped special libraries to exercise power mgmt features
  • 15. 15 It is all about Power stupid……It is all about Power stupid……  Imperative to get the power saving features right at A0Imperative to get the power saving features right at A0 • Early post-si power characterization was key requirementEarly post-si power characterization was key requirement • Enablement of power management SW development and debug asEnablement of power management SW development and debug as soon as possiblesoon as possible  Developed validation collaterals to inject random power eventsDeveloped validation collaterals to inject random power events & dynamic checkers for correct behavior& dynamic checkers for correct behavior • Power mgmt is collaboration of Ucode, HW & chipsetPower mgmt is collaboration of Ucode, HW & chipset • High level of random variables to create scenariosHigh level of random variables to create scenarios • Detailed checker to verify state & other power related featuresDetailed checker to verify state & other power related features  State corruption capability as power domain turned offState corruption capability as power domain turned off • Power specification approach was in its infancyPower specification approach was in its infancy • Developed tools to identify sequential elements & corrupt state asDeveloped tools to identify sequential elements & corrupt state as neededneeded  Clock gating logic traversal capability and coverageClock gating logic traversal capability and coverage specificationspecification
  • 16. 16 Formal VerificationFormal Verification  Applied model checkingApplied model checking • Selective areas on floating point algorithms with data pathSelective areas on floating point algorithms with data path contentcontent • Instruction length decode data pathInstruction length decode data path  Extensive use of assertionsExtensive use of assertions • Assumption checkingAssumption checking • ProtocolsProtocols • Multi-cycle pathsMulti-cycle paths • ~50% of non-complex assertions proven formally~50% of non-complex assertions proven formally
  • 17. 17 Si Debug & SurvivabilitySi Debug & Survivability  DebugDebug • Numerous debug features were incorporated in the designNumerous debug features were incorporated in the design • Treated debug features as important as functionalTreated debug features as important as functional • Involved post-si validation to define usage model, test contentInvolved post-si validation to define usage model, test content development, execution on pre-sidevelopment, execution on pre-si  Survivability – Making progress in the presence of bugsSurvivability – Making progress in the presence of bugs • Complex algorithms divided into smaller sub-algorithms, selectable withComplex algorithms divided into smaller sub-algorithms, selectable with ON/OFF flopON/OFF flop • Behavior on OFF reverts to simpler or slower performance or lowerBehavior on OFF reverts to simpler or slower performance or lower power behaviorpower behavior • Helps with bug isolationHelps with bug isolation • Randomized all ON/OFF flops in cluster & full chip random templates,Randomized all ON/OFF flops in cluster & full chip random templates, with checkers and coverage measurement enabledwith checkers and coverage measurement enabled
  • 18. 18 Post-Si content & EmulationPost-Si content & Emulation  Test content diversificationTest content diversification • Actively sought post-si test contentActively sought post-si test content – Allowed for post-si content development to start & mature earlyAllowed for post-si content development to start & mature early – Identified areas of improvement for the newly deployed ISAIdentified areas of improvement for the newly deployed ISA generatorgenerator – Additional, complementary source for coverageAdditional, complementary source for coverage  Focused on full chip emulationFocused on full chip emulation • Post-si team used emulation to develop & debug testPost-si team used emulation to develop & debug test contentcontent • Accelerate replay of failure tracesAccelerate replay of failure traces • Successful boot of Unix-like kernel before TOSuccessful boot of Unix-like kernel before TO
  • 19. 19 AgendaAgenda • Atom introductionAtom introduction • Verification challengesVerification challenges • High level verification methodologyHigh level verification methodology • Verification development process and indicatorsVerification development process and indicators • Results & key learning'sResults & key learning's • Future challengesFuture challenges
  • 20. 20 Verification Development ProcessVerification Development Process  Light verificationLight verification • Split RTL & test bench development into distinct phases & have enoughSplit RTL & test bench development into distinct phases & have enough features to allow full chip executionfeatures to allow full chip execution • At end of each phase, set of clear acceptance criteria had to be met toAt end of each phase, set of clear acceptance criteria had to be met to call phase donecall phase done • Increasingly stringent quality control to check RTL & test bench code inIncreasingly stringent quality control to check RTL & test bench code in data base with each phasedata base with each phase  Heavy verificationHeavy verification • Test planning, coverage specification phase, initial exerciseTest planning, coverage specification phase, initial exercise • Template writing, directed test writing, start coverage roll upTemplate writing, directed test writing, start coverage roll up • Coverage analysis with feedback to test generation & environmentCoverage analysis with feedback to test generation & environment • More randomness, more injectors, more stress scenarios as new bugMore randomness, more injectors, more stress scenarios as new bug arrival rate showed downward trendarrival rate showed downward trend
  • 21. 21 Verification MetricsVerification Metrics  Light ValidationLight Validation • Stage plan basedStage plan based • Verification collateral development was tightly coupled with RTL featuresVerification collateral development was tightly coupled with RTL features • Tight control on phase acceptance criteria contentTight control on phase acceptance criteria content  Heavy verification phase indicatorsHeavy verification phase indicators • % Coverage specification complete% Coverage specification complete • % Functional coverage% Functional coverage • % Tests written & passing rate for directed scenarios (DFT, DFV)% Tests written & passing rate for directed scenarios (DFT, DFV) • % Legacy tests passing rate% Legacy tests passing rate • Bug indicators such as incoming rate, open, ready-for-closure, type, etcBug indicators such as incoming rate, open, ready-for-closure, type, etc • Last but certainly not least, health of model indicatorLast but certainly not least, health of model indicator – Used by many previous generation CPU projectsUsed by many previous generation CPU projects – Intended to act as RTL functional health indicator to design, project mgmt, etcIntended to act as RTL functional health indicator to design, project mgmt, etc – Incorporates impact of unresolved bugs on validation progressIncorporates impact of unresolved bugs on validation progress – Incorporates subjective “progress” factor as voted by different areas ofIncorporates subjective “progress” factor as voted by different areas of validationvalidation
  • 22. 22 Health of the model indicatorHealth of the model indicator Atom Health of the Model 0 10 20 30 40 50 60 70 80 90 100 0 Qtr 4 Qtr 3 Qtr 2 Qtr 1 Qtr 0 Time to Tapeout Score Black – Atom Pink, Blue, Orange - Previous CPU projects Green Line – Desired zone Red Line - Urgent action required zone
  • 23. 23 AgendaAgenda • Atom introductionAtom introduction • Verification challengesVerification challenges • High level verification methodologyHigh level verification methodology • Verification development process and indicatorsVerification development process and indicators • Results & key learning'sResults & key learning's • Future challengesFuture challenges
  • 24. 24 ResultsResults  10 Hr boot from part arrival to Windows & Linux boot10 Hr boot from part arrival to Windows & Linux boot  Post-si activities were not blocked or curtailed as result ofPost-si activities were not blocked or curtailed as result of functional bugsfunctional bugs  Significant % of post-si found bugs were corner case, multi-Significant % of post-si found bugs were corner case, multi- dimensional, timing-dependent sequence scenariosdimensional, timing-dependent sequence scenarios  A small number of “we should have hit this” type of escapesA small number of “we should have hit this” type of escapes  All debug/survivability features worked. Significantly helpedAll debug/survivability features worked. Significantly helped with isolation & debug effortwith isolation & debug effort
  • 25. 25 SLT Total Bugs by Assigned Cluster Bugs subm itted betw een 2006_01 & 2006_52 BNL 2% BUS 22% DFT 5% FEC 16% FPC 5% IEC 13% MEC 8% uCODE 29% Results
  • 26. 26 ResultsResults Pre-si bug escapes to post-si 0 1 2 3 4 5 6 7 8 Intel Pentium Pro Intel Pentium 4 Intel Pentium 4 - 65 nm Intel Core- Duo Intel Core- Duo - 45 nm Intel Atom Intel Architecture CPU %oftotalpre-silicon bugs
  • 27. 27 Ultimate indicator of successful result is Intel® Atom™ powering many products in stores near you ! Results
  • 28. 28 Key Learning'sKey Learning's  Build & keep full chip healthy as soon as possibleBuild & keep full chip healthy as soon as possible  Keep stringent quality control to check-in RTL and/orKeep stringent quality control to check-in RTL and/or validation collaterals in the design databasevalidation collaterals in the design database  Putting same focus on DFT, DFV, etc as main streamPutting same focus on DFT, DFV, etc as main stream functionality pays off in long termfunctionality pays off in long term  Dig behind the indicators, especially when they show rosyDig behind the indicators, especially when they show rosy picturespictures  Small, highly focused, motivated team can do wonderfulSmall, highly focused, motivated team can do wonderful thingsthings
  • 29. 29 AgendaAgenda • Atom introductionAtom introduction • Verification challengesVerification challenges • High level verification methodologyHigh level verification methodology • Verification development process and indicatorsVerification development process and indicators • ResultsResults & key learnings& key learnings • Future challengesFuture challenges
  • 30. 30 Future challengesFuture challenges  Effective & systematic coverage specification andEffective & systematic coverage specification and measurement for post-si and how to tie ormeasurement for post-si and how to tie or leverage pre-sileverage pre-si  Ways to capture state & debug, especially asWays to capture state & debug, especially as move to even more integrated multi-core, multi-IPmove to even more integrated multi-core, multi-IP worldworld  Analog/digital, circuit, process i.e non-logic issuesAnalog/digital, circuit, process i.e non-logic issues are starting to dominate post-si qualification cycleare starting to dominate post-si qualification cycle