SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
1
The Cortex-A15
Verification Story
Bill Greene
Micah McDaniel
December 7, 2011
2
WHAT IS CORTEX-A15?
3
Cortex-A15: Next Generation Leadership
Target Markets
§  High-end wireless and
smartphone platforms
§  tablet, large-screen mobile
and beyond
§  Consumer electronics and
auto-infotainment
§  Hand-held and console
gaming
§  Networking, server,
enterprise applications
Cortex-A class multi-processor
§  40bit physical addressing (1TB)
§  Full hardware virtualization
§  AMBA 4 system coherency
§  ECC and parity protection for all SRAMs
Advanced power management
§  Fine-grain pipeline shutdown
§  Aggressive L2 power reduction capability
§  Fast state save and restore
Significant performance advancement
§  Improved single-thread and MP performance
Targets 1.5 GHz in 32/28 nm LP process
Targets 2.5 GHz in 32/28 nm G/HP process
4
Cortex-A15 MPCore Block Diagram
§  Global Interrupt
Control, Trace and
Debug handled
across all cores
§  1-4 Processors per
cluster
§  Each processor has
full Out-of-Order
(OoO) pipeline.
§  Integrated Level 2
cache
5
Cortex-A15 Pipeline Overview
Fetch
Decode
Rename
Dispatch
NEON/FPU
Multiply
Load/Store5 stages 7 stages
15-stage
Integer pipeline
15-Stage Integer Pipeline
§  4 extra cycles for multiply, load/store
§  2-10 extra cycles for complex media instructions
Issue
WB
Int
Branch
IssueIssue
WB
WB
6
Configuration Challenge
System feature Cortex-A15
Number of CPUs 1-4
L1 cache size Fixed at 32 KB
L2 cache controller Included
L2 cache size 512KB, 1MB, 2MB, 4 MB
L2 tag RAM register slice 0, 1
L2 data RAM register slice 0, 1, 2
L2 arbitration register slice 0, 1
Error protection None, L2 cache only, L1 and L2 cache
Interrupt controller Optional
Number of SPIs 0-224 in steps of 32
Power management Optional clamp/power-gate control pins
Floating point / NEON None, VFP Only, VFP and NEON
Trace PTM (integrated, required)
7
Cortex-A15 System Scalability
§  Processor-to-processor coherency and I/O coherency
§  Memory and synchronization barriers
§  Virtualization support with distributed virtual memory signaling
128-bit ACE
Quad Cortex-A15 MPCore
A15
Processor Coherency (SCU)
Up to 4MB L2 cache
A15 A15 A15
CoreLink CCI-400 Cache Coherent Interconnect
128-bit ACE
IOcoherentdevices
MMU-400
Quad Cortex-A15 MPCore
A15
Processor Coherency (SCU)
Up to 4MB L2 cache
A15 A15 A15
System MMU
GIC-400
Virtual GIC
8
VERIFICATION METHODOLOGIES
9
ARM CPU Verification Strategies
§ Design practices – “correct by construction”
§ Test planning
§ Multiple and varied verification methods emphasizing:
§  Unit level
§  Top level - RIS (random instruction sequences)
§  System level - stress testing
§ Coverage
§ Soaking / Bug Hunting
10
Bug Discovery Timeline - Theoretical
§ Where are bugs discovered?
unit
top
system
total
11
Where Are Bugs Found - Actual
Unit%
Top%
System%
12
Cortex-A15 Unit Level Testbenches
13
Unit Level Simulation
§ Simulation is the corner-stone verification method
§ Coverage driven, constrained random SystemVerilog
§  Assertions for interfaces, white box internals
§  Higher level checkers
§  Code and functional coverage drives stimulus completeness
§ Well-defined and testplan-linked functional coverage
§ Multi-unit testbenches are used where appropriate
§ Simulator performance and compute cluster
§ Debug visualization and automation
14
Top Level Testbench
64/128-bit ACE
Quad Cortex-A15 MPCore
A15
Processor Coherency (SCU)
Up to 4MB L2 cache
A15 A15 A15
64/128-bit ACP
AXI4
Decoder
ACE Snoop
Generator
AXI3
BFM
AXI3
Xactor
Memory
Model
Trickbox
Clocks, Resets,
Power, Interrupts, ECC
ISS
(Arch
Model)
Config
Test
Programs
Directed
•  AVS, DVS
Random (RIS)
•  ISA, MP
“Chicken” bits
Page
Maker
15
Top Level Simulation
§ Uses a CPU Top-Level Testbench
§  Simple memory, simple trickbox, Arch reference model integration
§ Tests are binary executable programs
§ Exercise various Cortex-A15 configurations
§ Directed tests
§  AVS is architecture compliance suite every ARM CPU must pass
§  DVS is a suite of directed tests for this ARM implementation
§ Random tests (RIS = Random Instruction Sequences)
§  ISA
§  MP/coherency
§ Irritators: interrupts, ECC, page tables, “chicken bits”
16
RIS (Random Instruction Sequences)
§ Track record of hitting un-planned scenarios
§ Multiple RIS engines have been developed over
>12 years and applied to all CPUs
§ 3 mainstream ISA based engines
§ 3 MP targeted engines
§ Plus 5 additional engines to target load/stores, VFP, M
and R class cores
§ Engines being enhanced to scale in H/W platforms
§ To achieve much higher throughputs (>1015
cycles)
17
RIS Generator Testing Space
MP OS
MP Kernel
ISA
Dynamic
uP Testing Space
MP Testing Space
ISA
Static
MP
Bare
Metal
Branches
LD/ST
18
System Level Validation
§ Objective to perform “in-system” validation of ARM IP
§  Extended validation of IP in system context
§  Find IP product bugs from real-world testing
§ Platforms
§  Emulation
§  SystemBench = configurable platform for running SV tests
§  FPGA
§  High throughput to enable deep soaking of the design
§ Test Content
§  Bare-metal
§  OS-based apps, stress tests
19
400 Series
System Validation Platform Example
Coherency
Virtualization
External Memory Subsystem
Rest of SoC Interconnect
§  CCI-400
§  Full cache coherency
§  I/O coherency
§  Prioritization and utilization
§  MMU-400
§  OS level virtualization
§  GIC-400
§  Virtual interrupts
§  Multicore support
§  DMC-400
§  DDR utilization
§  PHY integration
§  NIC-400
§  Routing efficiency
20
System-Level: Validation Strategies
TEST CONFIGURATIONS
•  IP component build configs
•  Multi-core, Neon/VFP engine,
cache sizes, interconnect configs,
etc
•  Systembench topologies
•  Multi-cluster, ACP, DMC, SMC,
DMA, etc
•  Runtime initialisation
•  Memory regions, performance
modes, etc)
TEST PAYLOADS
•  OS and Application compatibility testing
•  Linux, Windows, Android, LTP,
benchmarks
•  Hypervisor, TrustZone
•  MACK (simplified OS for validation)
based stress testing
•  MPRIS – pthead based tests for MP
•  ‘C’ Stress testing library (including
coherency tests and targeted stress)
•  Bare metal directed/random tests
•  RIS
•  Runtime traffic irritators (DMA, GPU, VIP)
21
System level: Emulation/FPGA Farm
§ Configurable “System-Level”
Testbench
§ Emulation achieves ~1MHz
§ Effective debug visualisation
§ More suitable to longer tests
(OS boots, benchmarks,
longer RIS sequences)
§ Limited fixed configurations
§ FPGA achieves 10-40MHz
§ Poor debug visualisation
§ Targeting RIS testing and
stress testing
Eagle Eagle
Vithar
CCI
Orwell NIC-400
System
peripherals
Video
Engine
LCD
controller
Orwell
SMMU SMMU SMMU
22
FPGA Farm
Cluster Control
& Local Storage
§  21 FPGA platforms per rack
§  V2F-2XV6
§  LX760 & LX550T
§  4GB DDR2 SODIMM
§  JTAG and Trace
§  V2M-P1 motherboard
§  NOR Flash bootloader
§  Basic peripherals
§  UART for SW debug
§  Ethernet for network boot
§  Video/audio
§  SD/CF for local storage
§  Cluster Control
§  Redhat Linux box
§  UART concentrator for debug
§  RVI for software debug
§  FPGA and SW image download
Clusters of 7
VE platforms
VE platform with
LX760 & LX550T
UART
Concentrator
Debug ports
23
Dual Cluster Cortex-A15
§ Solution per VE Platform
§ Use three V2F-2XV6 boards
§  3x LX760
§  3x LX550T
§ Processor Support
§  Dual Cluster A15
§  A15 Neon & A7
§ Performance
§  10MHz system speed
§  2-4GB memory space
24
Formal Property Verification
§ ACE proof kit
§  Complete set of bus protocol properties
§ Low level assertions
§  Prove assertions on LS unit interfaces
§ High level properties
§  L2 ECC proof
§  L2 arbitration register slice
25
Verification Methodology Summary
SPECIFICATION/
PLANNING
TESTING/
DEBUG
IMPLEMENTATION COVERAGE CLOSURE SOAK / STRESS TESTING
Unit-Level
Test planning
TB/Unit
Bring up
Unit TB implementation
UTB test & debug / bug extensions
UTB Soaking
UTB Errata extensions
Coverage Implementation->Closure
Top-Level
Test planning
AVS/DVS
Bring up
Top TB implementation
AVS/DVS test&debug / bug extensions
RIS Soaking
DVS Errata extensionsDVS implementation
RIS Bring up RIS test&debug
Coverage Implementation->Closure
RIS Errata extensions
System-Level
SV requirements
System TB integration
& bringup
OS Matrix testing
OS/SW stress testing
Test planning
System-level RIS test&debug
Baremetal directed
test & debug
SV Errata extensions
FPGA (10MHz)
Si (1GHz)
Emulation (1MHz)
Simulation (200Hz)
26
LESSONS LEARNED
27
Planning
§ Take a step back now and then…
§ Make sure to plan for the unplanned
28
Functional Coverage
§ Don’t start too early
§ Focus on the places where the bugs are
29
CHALLENGES
30
Configurability
System feature Cortex-A15
Number of CPUs 1-4
Interrupt controller Optional
Number of SPIs 0-224 in steps of 32
Power management Optional clamp/power-gate control pins
Floating point / NEON None, VFP Only, VFP and NEON
Error protection None, L2 cache only, L1 and L2 cache
L2 cache size 512KB, 1MB, 2MB, 4 MB
L2 tag and data slices 00, 01, 02, 11, 12
L2 arb slice Present or not
• 4*9*2*3*3*4*5*2 = 25920 total configurations L
• Exhaustive crossing of slices, ECC/no-ECC, number of CPUs at
unit, top, and system level
• Focused directed testing of less intrusive configuration choices,
then pairwise crossing in random testing
31
Virtualization: A Third Layer of Privilege
§ Guest OS same privilege structure as before
§  Can run the same instructions
§ New Hyp mode has higher privilege
§ VMM controls wide range of OS accesses to hardware
User Mode
(Non-privileged)
Supervisor Mode
(Privileged)
Hyp Mode
(More Privileged)
Guest OS 1
App2App1
Guest OS 2
App2App1
Virtual Machine Monitor (VMM) or
Hypervisor
1
2
3
TrustZone Secure Monitor
Secure
Apps
Secure
Operating System
Non-secure State Secure State
Exceptions
ExceptionReturns
32
Virtual Memory in Two Stages
Stage 1 translation owned by
each Guest OS
Virtual address map of
each App on each Guest OS
“Intermediate Physical” address
map of each Guest OS
Real System Physical
address map
Stage 2 translation owned by
the VMM
Hardware has 2-stage
memory translation
Tables from Guest OS
translate VA to IPA
Second set of tables from
VMM translate IPA to PA
Allows aborts to be routed to
appropriate software layer
33
Virtualization - Testing
§ Constrained random testing of instruction/event traps at core
level
§ PageMaker – constrained random generation of LPAE/v7
pages
§ Unit level : exhaustive testing of tbw logic in L2TLB/TBW
§ PageMaker reused in memory system testbenches and top
level testbench
§ Independently developed Virtualization AVS
§ “Real” hypervisor at system level, running real and rogue
OSes/apps
34
Out of Order Execution
35
OoO in Cortex-A15
36
OoO - Testing
§ Unit Level : detailed testbench models/checking
§ Exhaustive fcov on retire/flush/rebuild scenarios
§ Independent architectural checking vs. ISS model, AVS
37
ISSCompare – Architectural Checking
DE
EX
MEM
WB
ISSIA,opc, regs, mem
IF
38
ISSCompare in the OOO world
Opcode, tbit, size
IA, GID, # dests, rtags, atags,
inst boundaries, # of ld/st bytes
ARM/EXT/SP regfile results
retired
Ld/st data, va, pa, attr
Commit, deallocate
39
Hardware Coherence
40
Hardware Coherence in A15
41
Hardware Coherence - Testing
§ ACE functional coverage and protocol checkers
§ Unit level : Detailed white-box modeling/checking
§ Multi-unit : LS/L2
§  Focused hazard/starvation scenario testing
§  Global ordering data consistency checker
§ Top level : RIS tests
§  False-sharing
§  Non-deterministic sharing
§ System level : True-sharing, order-sensitive testing
42
LSL2 Unit Level Testbench
LS1
L2 + PF +TBW
LS0 LS3LS2
DS Generator DS Generator DS Generator DS Generator
AddrGen x1-4 AddrSetMgr
MMU
PageMaker
AXI Slave BFM
AXI Master BFM
Ext Mem Model
DC
Model
x1-4
TLB
Model
x1-4
ExMon
Model
x1-4
ExtSnoopGen
ACPTransGen
L2
Monitors
LS Scoreboard
+
Checker
(x1-4)
LS
Monitors
(x1-4)
L2
Scoreboard
+
Checker
External PoC model
(reactive)
L2 Event Router
(virt monitor)
SMP
Grand
Central
(xactor)
LS Event Router
(x1-4)
(virt monitor)
LS-L2 txn
linker
LS-L2 txn
bridge + adapter
(xactor)
L2 SnpTag
model
L2 Cache
model
SMP Scoreboard
Global Order/Value Checker
Global
Cache
Coherence
Checker
TBW Monitor
TBW
Scoreboard +
Checker
Global
Core-State
Config
DS-LS Driver DS-LS Driver DS-LS river DS-LS Driver
43

Mais conteúdo relacionado

Mais procurados

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
 
Coverage Solutions on Emulators
Coverage Solutions on EmulatorsCoverage Solutions on Emulators
Coverage Solutions on EmulatorsDVClub
 
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
 
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
 
Boston 2009 q1_kappler_chris
Boston 2009 q1_kappler_chrisBoston 2009 q1_kappler_chris
Boston 2009 q1_kappler_chrisObsidian Software
 
Bringing Engineering Analysis Codes Into Real-Time Full-Scope Simulators
Bringing Engineering Analysis Codes Into Real-Time Full-Scope SimulatorsBringing Engineering Analysis Codes Into Real-Time Full-Scope Simulators
Bringing Engineering Analysis Codes Into Real-Time Full-Scope SimulatorsGSE Systems, Inc.
 
How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?Sameh El-Ashry
 
Code Management Workshop
Code Management WorkshopCode Management Workshop
Code Management WorkshopSameh El-Ashry
 
OVERCOMING KEY CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE OPTIMIZATION AN...
OVERCOMING KEY CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE OPTIMIZATION AN...OVERCOMING KEY CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE OPTIMIZATION AN...
OVERCOMING KEY CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE OPTIMIZATION AN...Pankaj Singh
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build testLen Bass
 
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...Sameh El-Ashry
 
Respond flow chart (rfc)
Respond flow chart (rfc)Respond flow chart (rfc)
Respond flow chart (rfc)Agus Triyanto
 
Use Models for Extending IEEE 1687 to Analog Test
Use Models for Extending IEEE 1687 to Analog TestUse Models for Extending IEEE 1687 to Analog Test
Use Models for Extending IEEE 1687 to Analog TestPete Sarson, PH.D
 
Chipions session 2021 - VLSI career
Chipions session 2021 - VLSI careerChipions session 2021 - VLSI career
Chipions session 2021 - VLSI careerSameh El-Ashry
 

Mais procurados (18)

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
 
Coverage Solutions on Emulators
Coverage Solutions on EmulatorsCoverage Solutions on Emulators
Coverage Solutions on Emulators
 
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
 
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
 
Boston 2009 q1_kappler_chris
Boston 2009 q1_kappler_chrisBoston 2009 q1_kappler_chris
Boston 2009 q1_kappler_chris
 
Chris brown ti
Chris brown tiChris brown ti
Chris brown ti
 
Bringing Engineering Analysis Codes Into Real-Time Full-Scope Simulators
Bringing Engineering Analysis Codes Into Real-Time Full-Scope SimulatorsBringing Engineering Analysis Codes Into Real-Time Full-Scope Simulators
Bringing Engineering Analysis Codes Into Real-Time Full-Scope Simulators
 
How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?
 
Code Management Workshop
Code Management WorkshopCode Management Workshop
Code Management Workshop
 
Physical Design Services
Physical Design ServicesPhysical Design Services
Physical Design Services
 
OVERCOMING KEY CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE OPTIMIZATION AN...
OVERCOMING KEY CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE OPTIMIZATION AN...OVERCOMING KEY CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE OPTIMIZATION AN...
OVERCOMING KEY CHALLENGES OF TODAY'S COMPLEX SOC: PERFORMANCE OPTIMIZATION AN...
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
Jai kumar fpga_prototyping
Jai kumar fpga_prototypingJai kumar fpga_prototyping
Jai kumar fpga_prototyping
 
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
Efficient Methodology of Sampling UVM RAL During Simulation for SoC Functiona...
 
Respond flow chart (rfc)
Respond flow chart (rfc)Respond flow chart (rfc)
Respond flow chart (rfc)
 
Use Models for Extending IEEE 1687 to Analog Test
Use Models for Extending IEEE 1687 to Analog TestUse Models for Extending IEEE 1687 to Analog Test
Use Models for Extending IEEE 1687 to Analog Test
 
Chipions session 2021 - VLSI career
Chipions session 2021 - VLSI careerChipions session 2021 - VLSI career
Chipions session 2021 - VLSI career
 
Gatehouse software genanvendelse
Gatehouse software genanvendelseGatehouse software genanvendelse
Gatehouse software genanvendelse
 

Semelhante a The Cortex-A15 Verification Story

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
 
UGM 2015: X1149 workshop
UGM 2015: X1149 workshopUGM 2015: X1149 workshop
UGM 2015: X1149 workshopInterlatin
 
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDSAccelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDSCeph Community
 
Polyteda Power DRC/LVS July 2016
Polyteda Power DRC/LVS July 2016Polyteda Power DRC/LVS July 2016
Polyteda Power DRC/LVS July 2016Oleksandra Nazola
 
Polyteda: Power DRC/LVS, October 2016
Polyteda: Power DRC/LVS, October 2016Polyteda: Power DRC/LVS, October 2016
Polyteda: Power DRC/LVS, October 2016Oleksandra Nazola
 
Tech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product UpdateTech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product UpdateAdaCore
 
Introduction to architecture exploration
Introduction to architecture explorationIntroduction to architecture exploration
Introduction to architecture explorationDeepak Shankar
 
Track B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - MentorTrack B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - Mentorchiportal
 
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
 
17 october embedded seminar
17 october embedded seminar17 october embedded seminar
17 october embedded seminarAmir Sherman
 
Ceph Day Taipei - Accelerate Ceph via SPDK
Ceph Day Taipei - Accelerate Ceph via SPDK Ceph Day Taipei - Accelerate Ceph via SPDK
Ceph Day Taipei - Accelerate Ceph via SPDK Ceph Community
 
Resume_CQ_Edward
Resume_CQ_EdwardResume_CQ_Edward
Resume_CQ_Edwardcaiqi wang
 
Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3Juan Herrera Utande
 
Building PoC ready ODM Platforms with Arm SystemReady v5.2.pdf
Building PoC ready ODM Platforms with Arm SystemReady v5.2.pdfBuilding PoC ready ODM Platforms with Arm SystemReady v5.2.pdf
Building PoC ready ODM Platforms with Arm SystemReady v5.2.pdfPaul Yang
 
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
 

Semelhante a The Cortex-A15 Verification Story (20)

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
 
CPU Verification
CPU VerificationCPU Verification
CPU Verification
 
UGM 2015: X1149 workshop
UGM 2015: X1149 workshopUGM 2015: X1149 workshop
UGM 2015: X1149 workshop
 
Webinar on RISC-V
Webinar on RISC-VWebinar on RISC-V
Webinar on RISC-V
 
PROSE
PROSEPROSE
PROSE
 
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDSAccelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
 
Polyteda Power DRC/LVS July 2016
Polyteda Power DRC/LVS July 2016Polyteda Power DRC/LVS July 2016
Polyteda Power DRC/LVS July 2016
 
GauthamKalva
GauthamKalvaGauthamKalva
GauthamKalva
 
Polyteda: Power DRC/LVS, October 2016
Polyteda: Power DRC/LVS, October 2016Polyteda: Power DRC/LVS, October 2016
Polyteda: Power DRC/LVS, October 2016
 
Tech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product UpdateTech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product Update
 
Introduction to architecture exploration
Introduction to architecture explorationIntroduction to architecture exploration
Introduction to architecture exploration
 
Track B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - MentorTrack B- Advanced ESL verification - Mentor
Track B- Advanced ESL verification - Mentor
 
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
 
Basavanthrao_resume_vlsi
Basavanthrao_resume_vlsiBasavanthrao_resume_vlsi
Basavanthrao_resume_vlsi
 
17 october embedded seminar
17 october embedded seminar17 october embedded seminar
17 october embedded seminar
 
Ceph Day Taipei - Accelerate Ceph via SPDK
Ceph Day Taipei - Accelerate Ceph via SPDK Ceph Day Taipei - Accelerate Ceph via SPDK
Ceph Day Taipei - Accelerate Ceph via SPDK
 
Resume_CQ_Edward
Resume_CQ_EdwardResume_CQ_Edward
Resume_CQ_Edward
 
Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3
 
Building PoC ready ODM Platforms with Arm SystemReady v5.2.pdf
Building PoC ready ODM Platforms with Arm SystemReady v5.2.pdfBuilding PoC ready ODM Platforms with Arm SystemReady v5.2.pdf
Building PoC ready ODM Platforms with Arm SystemReady v5.2.pdf
 
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
 

Mais de DVClub

Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment OverviewDVClub
 
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
 
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
 
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
 
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
 
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
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through MethodologyDVClub
 
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
 
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
 

Mais de DVClub (20)

Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
 
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
 
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)
 
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
 
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
 
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
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
 
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
 
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
 

Último

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 

Último (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 

The Cortex-A15 Verification Story

  • 1. 1 The Cortex-A15 Verification Story Bill Greene Micah McDaniel December 7, 2011
  • 3. 3 Cortex-A15: Next Generation Leadership Target Markets §  High-end wireless and smartphone platforms §  tablet, large-screen mobile and beyond §  Consumer electronics and auto-infotainment §  Hand-held and console gaming §  Networking, server, enterprise applications Cortex-A class multi-processor §  40bit physical addressing (1TB) §  Full hardware virtualization §  AMBA 4 system coherency §  ECC and parity protection for all SRAMs Advanced power management §  Fine-grain pipeline shutdown §  Aggressive L2 power reduction capability §  Fast state save and restore Significant performance advancement §  Improved single-thread and MP performance Targets 1.5 GHz in 32/28 nm LP process Targets 2.5 GHz in 32/28 nm G/HP process
  • 4. 4 Cortex-A15 MPCore Block Diagram §  Global Interrupt Control, Trace and Debug handled across all cores §  1-4 Processors per cluster §  Each processor has full Out-of-Order (OoO) pipeline. §  Integrated Level 2 cache
  • 5. 5 Cortex-A15 Pipeline Overview Fetch Decode Rename Dispatch NEON/FPU Multiply Load/Store5 stages 7 stages 15-stage Integer pipeline 15-Stage Integer Pipeline §  4 extra cycles for multiply, load/store §  2-10 extra cycles for complex media instructions Issue WB Int Branch IssueIssue WB WB
  • 6. 6 Configuration Challenge System feature Cortex-A15 Number of CPUs 1-4 L1 cache size Fixed at 32 KB L2 cache controller Included L2 cache size 512KB, 1MB, 2MB, 4 MB L2 tag RAM register slice 0, 1 L2 data RAM register slice 0, 1, 2 L2 arbitration register slice 0, 1 Error protection None, L2 cache only, L1 and L2 cache Interrupt controller Optional Number of SPIs 0-224 in steps of 32 Power management Optional clamp/power-gate control pins Floating point / NEON None, VFP Only, VFP and NEON Trace PTM (integrated, required)
  • 7. 7 Cortex-A15 System Scalability §  Processor-to-processor coherency and I/O coherency §  Memory and synchronization barriers §  Virtualization support with distributed virtual memory signaling 128-bit ACE Quad Cortex-A15 MPCore A15 Processor Coherency (SCU) Up to 4MB L2 cache A15 A15 A15 CoreLink CCI-400 Cache Coherent Interconnect 128-bit ACE IOcoherentdevices MMU-400 Quad Cortex-A15 MPCore A15 Processor Coherency (SCU) Up to 4MB L2 cache A15 A15 A15 System MMU GIC-400 Virtual GIC
  • 9. 9 ARM CPU Verification Strategies § Design practices – “correct by construction” § Test planning § Multiple and varied verification methods emphasizing: §  Unit level §  Top level - RIS (random instruction sequences) §  System level - stress testing § Coverage § Soaking / Bug Hunting
  • 10. 10 Bug Discovery Timeline - Theoretical § Where are bugs discovered? unit top system total
  • 11. 11 Where Are Bugs Found - Actual Unit% Top% System%
  • 13. 13 Unit Level Simulation § Simulation is the corner-stone verification method § Coverage driven, constrained random SystemVerilog §  Assertions for interfaces, white box internals §  Higher level checkers §  Code and functional coverage drives stimulus completeness § Well-defined and testplan-linked functional coverage § Multi-unit testbenches are used where appropriate § Simulator performance and compute cluster § Debug visualization and automation
  • 14. 14 Top Level Testbench 64/128-bit ACE Quad Cortex-A15 MPCore A15 Processor Coherency (SCU) Up to 4MB L2 cache A15 A15 A15 64/128-bit ACP AXI4 Decoder ACE Snoop Generator AXI3 BFM AXI3 Xactor Memory Model Trickbox Clocks, Resets, Power, Interrupts, ECC ISS (Arch Model) Config Test Programs Directed •  AVS, DVS Random (RIS) •  ISA, MP “Chicken” bits Page Maker
  • 15. 15 Top Level Simulation § Uses a CPU Top-Level Testbench §  Simple memory, simple trickbox, Arch reference model integration § Tests are binary executable programs § Exercise various Cortex-A15 configurations § Directed tests §  AVS is architecture compliance suite every ARM CPU must pass §  DVS is a suite of directed tests for this ARM implementation § Random tests (RIS = Random Instruction Sequences) §  ISA §  MP/coherency § Irritators: interrupts, ECC, page tables, “chicken bits”
  • 16. 16 RIS (Random Instruction Sequences) § Track record of hitting un-planned scenarios § Multiple RIS engines have been developed over >12 years and applied to all CPUs § 3 mainstream ISA based engines § 3 MP targeted engines § Plus 5 additional engines to target load/stores, VFP, M and R class cores § Engines being enhanced to scale in H/W platforms § To achieve much higher throughputs (>1015 cycles)
  • 17. 17 RIS Generator Testing Space MP OS MP Kernel ISA Dynamic uP Testing Space MP Testing Space ISA Static MP Bare Metal Branches LD/ST
  • 18. 18 System Level Validation § Objective to perform “in-system” validation of ARM IP §  Extended validation of IP in system context §  Find IP product bugs from real-world testing § Platforms §  Emulation §  SystemBench = configurable platform for running SV tests §  FPGA §  High throughput to enable deep soaking of the design § Test Content §  Bare-metal §  OS-based apps, stress tests
  • 19. 19 400 Series System Validation Platform Example Coherency Virtualization External Memory Subsystem Rest of SoC Interconnect §  CCI-400 §  Full cache coherency §  I/O coherency §  Prioritization and utilization §  MMU-400 §  OS level virtualization §  GIC-400 §  Virtual interrupts §  Multicore support §  DMC-400 §  DDR utilization §  PHY integration §  NIC-400 §  Routing efficiency
  • 20. 20 System-Level: Validation Strategies TEST CONFIGURATIONS •  IP component build configs •  Multi-core, Neon/VFP engine, cache sizes, interconnect configs, etc •  Systembench topologies •  Multi-cluster, ACP, DMC, SMC, DMA, etc •  Runtime initialisation •  Memory regions, performance modes, etc) TEST PAYLOADS •  OS and Application compatibility testing •  Linux, Windows, Android, LTP, benchmarks •  Hypervisor, TrustZone •  MACK (simplified OS for validation) based stress testing •  MPRIS – pthead based tests for MP •  ‘C’ Stress testing library (including coherency tests and targeted stress) •  Bare metal directed/random tests •  RIS •  Runtime traffic irritators (DMA, GPU, VIP)
  • 21. 21 System level: Emulation/FPGA Farm § Configurable “System-Level” Testbench § Emulation achieves ~1MHz § Effective debug visualisation § More suitable to longer tests (OS boots, benchmarks, longer RIS sequences) § Limited fixed configurations § FPGA achieves 10-40MHz § Poor debug visualisation § Targeting RIS testing and stress testing Eagle Eagle Vithar CCI Orwell NIC-400 System peripherals Video Engine LCD controller Orwell SMMU SMMU SMMU
  • 22. 22 FPGA Farm Cluster Control & Local Storage §  21 FPGA platforms per rack §  V2F-2XV6 §  LX760 & LX550T §  4GB DDR2 SODIMM §  JTAG and Trace §  V2M-P1 motherboard §  NOR Flash bootloader §  Basic peripherals §  UART for SW debug §  Ethernet for network boot §  Video/audio §  SD/CF for local storage §  Cluster Control §  Redhat Linux box §  UART concentrator for debug §  RVI for software debug §  FPGA and SW image download Clusters of 7 VE platforms VE platform with LX760 & LX550T UART Concentrator Debug ports
  • 23. 23 Dual Cluster Cortex-A15 § Solution per VE Platform § Use three V2F-2XV6 boards §  3x LX760 §  3x LX550T § Processor Support §  Dual Cluster A15 §  A15 Neon & A7 § Performance §  10MHz system speed §  2-4GB memory space
  • 24. 24 Formal Property Verification § ACE proof kit §  Complete set of bus protocol properties § Low level assertions §  Prove assertions on LS unit interfaces § High level properties §  L2 ECC proof §  L2 arbitration register slice
  • 25. 25 Verification Methodology Summary SPECIFICATION/ PLANNING TESTING/ DEBUG IMPLEMENTATION COVERAGE CLOSURE SOAK / STRESS TESTING Unit-Level Test planning TB/Unit Bring up Unit TB implementation UTB test & debug / bug extensions UTB Soaking UTB Errata extensions Coverage Implementation->Closure Top-Level Test planning AVS/DVS Bring up Top TB implementation AVS/DVS test&debug / bug extensions RIS Soaking DVS Errata extensionsDVS implementation RIS Bring up RIS test&debug Coverage Implementation->Closure RIS Errata extensions System-Level SV requirements System TB integration & bringup OS Matrix testing OS/SW stress testing Test planning System-level RIS test&debug Baremetal directed test & debug SV Errata extensions FPGA (10MHz) Si (1GHz) Emulation (1MHz) Simulation (200Hz)
  • 27. 27 Planning § Take a step back now and then… § Make sure to plan for the unplanned
  • 28. 28 Functional Coverage § Don’t start too early § Focus on the places where the bugs are
  • 30. 30 Configurability System feature Cortex-A15 Number of CPUs 1-4 Interrupt controller Optional Number of SPIs 0-224 in steps of 32 Power management Optional clamp/power-gate control pins Floating point / NEON None, VFP Only, VFP and NEON Error protection None, L2 cache only, L1 and L2 cache L2 cache size 512KB, 1MB, 2MB, 4 MB L2 tag and data slices 00, 01, 02, 11, 12 L2 arb slice Present or not • 4*9*2*3*3*4*5*2 = 25920 total configurations L • Exhaustive crossing of slices, ECC/no-ECC, number of CPUs at unit, top, and system level • Focused directed testing of less intrusive configuration choices, then pairwise crossing in random testing
  • 31. 31 Virtualization: A Third Layer of Privilege § Guest OS same privilege structure as before §  Can run the same instructions § New Hyp mode has higher privilege § VMM controls wide range of OS accesses to hardware User Mode (Non-privileged) Supervisor Mode (Privileged) Hyp Mode (More Privileged) Guest OS 1 App2App1 Guest OS 2 App2App1 Virtual Machine Monitor (VMM) or Hypervisor 1 2 3 TrustZone Secure Monitor Secure Apps Secure Operating System Non-secure State Secure State Exceptions ExceptionReturns
  • 32. 32 Virtual Memory in Two Stages Stage 1 translation owned by each Guest OS Virtual address map of each App on each Guest OS “Intermediate Physical” address map of each Guest OS Real System Physical address map Stage 2 translation owned by the VMM Hardware has 2-stage memory translation Tables from Guest OS translate VA to IPA Second set of tables from VMM translate IPA to PA Allows aborts to be routed to appropriate software layer
  • 33. 33 Virtualization - Testing § Constrained random testing of instruction/event traps at core level § PageMaker – constrained random generation of LPAE/v7 pages § Unit level : exhaustive testing of tbw logic in L2TLB/TBW § PageMaker reused in memory system testbenches and top level testbench § Independently developed Virtualization AVS § “Real” hypervisor at system level, running real and rogue OSes/apps
  • 34. 34 Out of Order Execution
  • 36. 36 OoO - Testing § Unit Level : detailed testbench models/checking § Exhaustive fcov on retire/flush/rebuild scenarios § Independent architectural checking vs. ISS model, AVS
  • 37. 37 ISSCompare – Architectural Checking DE EX MEM WB ISSIA,opc, regs, mem IF
  • 38. 38 ISSCompare in the OOO world Opcode, tbit, size IA, GID, # dests, rtags, atags, inst boundaries, # of ld/st bytes ARM/EXT/SP regfile results retired Ld/st data, va, pa, attr Commit, deallocate
  • 41. 41 Hardware Coherence - Testing § ACE functional coverage and protocol checkers § Unit level : Detailed white-box modeling/checking § Multi-unit : LS/L2 §  Focused hazard/starvation scenario testing §  Global ordering data consistency checker § Top level : RIS tests §  False-sharing §  Non-deterministic sharing § System level : True-sharing, order-sensitive testing
  • 42. 42 LSL2 Unit Level Testbench LS1 L2 + PF +TBW LS0 LS3LS2 DS Generator DS Generator DS Generator DS Generator AddrGen x1-4 AddrSetMgr MMU PageMaker AXI Slave BFM AXI Master BFM Ext Mem Model DC Model x1-4 TLB Model x1-4 ExMon Model x1-4 ExtSnoopGen ACPTransGen L2 Monitors LS Scoreboard + Checker (x1-4) LS Monitors (x1-4) L2 Scoreboard + Checker External PoC model (reactive) L2 Event Router (virt monitor) SMP Grand Central (xactor) LS Event Router (x1-4) (virt monitor) LS-L2 txn linker LS-L2 txn bridge + adapter (xactor) L2 SnpTag model L2 Cache model SMP Scoreboard Global Order/Value Checker Global Cache Coherence Checker TBW Monitor TBW Scoreboard + Checker Global Core-State Config DS-LS Driver DS-LS Driver DS-LS river DS-LS Driver
  • 43. 43