On Chip Instrumentation as a Verification Tool in the Industry Workshop

At the core of the user experience.®
On Chip Instrumentation
as a Verification Tool
FMCAD - Pre and Post Silicon Verification
in the Industry Workshop
Nov. 2006
First Silicon Solutions Division
of MIPS Technologies Inc.
Rick Leatherman rickl@fs2.com
Neal Stollon neals@fs2.com
MIPS Technologies copyright 2006 – All rights reserved
1
At the core of the user experience.®

MIPS Technologies is Leader in High Performance
Embedded RISC Processors
TM
®
 MIPS32 34K Multi-threaded RISC Processor Core
 Full range of 32 and 64 bit processor IP based on
common MIPS ISA

FS2 is Instrumentation IP and Tools Division of MIPS
®
 On-Chip Instrumentation (OCI ) Leadership
 Integrated Trace and Analysis Solutions for
Embedded Processor, On- Chip Bus and Logic

Processor and Bus OCI and tools for SoC systems




Eclipse Based Tools Support
Extended performance analysis advanced features
High performance Data trace port options
Tighter integration to EDA flows
MIPS Technologies copyright 2006 – All rights reserved
2
At the core of the user experience.®
The System Analysis Issue
• Methodology migrates from hardware to software bugs
• Need to comprehend the software needs at the hardware stages
• Customers and venders starting to realize
the job does not stop at the dotted line
Focus on Hardware Bugs
RTOS
Integration
System
Analysis
Focus
System
Initialization
RTL
Diagnostics
Instruction
Level/
Bus
Functional
Copyright © 2003 Novas Software, Inc.
Focus on Software Bugs
ESL
Application
Software
Multi-core
Integration
issues
Point were Hardware is
“assumed working”
Hardware
Hardware
Software Debugger
Simulation Prototype/Emulation System platform
Verification Abstraction
MIPS Technologies copyright 2006 – All rights reserved
3
At the core of the user experience.®
Highly Integrated Designs
Require System Level Debug Tools

Test based solutions (Scan, BIST) are not interactive, do not
provide cause and effect information

Processor centric debugging (i.e. Instruction Trace) only solves
part of the problem

Frequently chip bring-up problems are bus related

Saturation, latch-up, etc.

Performance optimization is interaction of cores, buses, IP

Processor debug tools are of limited help

On-chip Bus Analyzers and Multicore Embedded Debug Tools
Needed to Provide System Level Debug Features
MIPS Technologies copyright 2006 – All rights reserved
4
At the core of the user experience.®
Emerging SoC Debug and Analysis Issues

Debug and trace is crucial to embedded design success
 Difficult to fix what you can not see
 Unexpected on-chip Inter-relationships not always intuitive

System on Silicon Debug Requirements
 Visibility into non-observable sub-system interfaces
 On-chip debug analysis complements EDA verification
 Interoperability with processor debug capabilities
 Cross-triggering, synchronization for full view of problems

Performance Analysis on buses, caches, execution cores, coprocessors, interrupts, peripherals, . .

Debug IO requirements
 Leverage existing interfaces ie. JTAG
 Additional options to provide more analysis bandwidth
MIPS Technologies copyright 2006 – All rights reserved
5
At the core of the user experience.®
Multicore Debug Is Becoming Prevalent
Range of On-Chip Instrumentation IP and tools



Customizable for specific customer requirements


Multi-core cross triggering and synchronous control and
actions (go, halt and breaks)
Multi-core trace with wide ranges of features
measure activity on buses, caches, execution cores, coprocessors, interrupts, peripheral device events, . . .
Probes designed for trace and system debug




Merging debug for several cores over single probe
Probe Hardware and tool API’s to support multi-core trace
Simple Control/data transfer via a single JTAG TAP
Support for multiple instantiations of source level debuggers
MIPS Technologies copyright 2006 – All rights reserved
6
At the core of the user experience.®
IP Complaint Solutions to SoC Analysis
IP
Centric
Products
SoC
Synergies
Instrumentation
Centric
Analysis
IP
Synergies
On Chip
IP
Processor
Cores
Enablement
Bus
IP
Prototyping
HW
Customer
Specific
IP
SW Dev.
tools
Bus
Level
Trace
Multi
Core
Debug
Probes
Infrastructure Synergies
MIPS Technologies copyright 2006 – All rights reserved
SoC
Performance
Analysis
System
Debug
tools
7
At the core of the user experience.®
Plug and Play System Debug
Debug Support for Systems with Multiple Processors, Buses and Other IP Provides Complete Visibility Into Highly Integrated Designs
Typical solutions include:

Processor core + on chip bus analyzer
 Support for industry bus standards (AMBA, OCP)
 Custom solutions for proprietary buses
 Supports cross triggering between the bus analyzer and core

Cores from different IP venders
 Support for proprietary cores frequently required
 Support synchronous go/halt/step & cross triggering between cores
 On-chip Logic Analyzers for “other” peripherals, accelerators, etc.

Multiple cores + on chip bus analyzer
 Cross triggering, timestamping, synchronization
 System level event monitoring and debug control
 Trigger between cores and bus analyzer
MIPS Technologies copyright 2006 – All rights reserved
8
At the core of the user experience.®
MultiCore vs. Processor Debug
Multicore Debug addresses different issues for processor debug
Both are aspects of the same problem System Analysis and Optimization
 Communications vs. Computation
 Architecture Optimization vs. Algorithm Optimization
 Complementary- Both are required for full system view
 Equally important – priorities at different stages of debug.
Multicore
Debug
MANY
FACTORS
TO
CONSIDER
Processor
Debug
MIPS Technologies copyright 2006 – All rights reserved
9
At the core of the user experience.®
Platform Based System Design
Typical Features
 Diverse bus fabric options



multiple processors
other blocks of IP
Differing clock domains
IO constrained


(security, video,
imaging . . . )
OCP/AMBA
More than one core




lots of data transfers
Differing bus interfaces
Other IP blocks
MIPS32®
34KTM
System Bus Fabric
OCP/AMBA
Other cores
Embedded operations of interest
not accessible by outside world
Problems show up in real time

Mem
Cntl
RAM
hard to emulate or reproduce
SO HOW CAN WE ADDRESS SoC VERIFICATION BETTER ?!?
MIPS Technologies copyright 2006 – All rights reserved
10
At the core of the user experience.®
MIPS Analyzer GUI
Integrated System Level Debug
System Debug Support for Multiple Processors,Buses
and Other IP - Visibility Into Highly Integrated Designs
 Single link (System Navigator probe) to target SoC for
system debug control, monitoring trace, cross triggers, …
 Access to all EJTAG and PDTrace debug facilities
 Bus Navigator, Logic Navigator, HyperDebug Instruments
JTAG Chain
System
Navigator
Probe
MIPS
EJTAG
PDTrace
24K/34KTMCore
Logic (IP)
Analyzer
(security,
HyperDebug
Cross Trigger
Debug Control
OCP
OCP / AHB
Custom
Bus Analyzer
Bus Navigator GUI
Other IP
video,
imaging . . . )
MIPS32TM
System Bus Fabric
Other MIPS
Other cores
EJTAG
Other FS2 Analyzers
Memory
Controller
HyperDebug
Cross trigger Chain
MIPS Technologies copyright 2006 – All rights reserved
11
At the core of the user experience.®
Starting Point is Processor Debug
MIPS EJTAG - is a leading example
 run control for each core - start, stop, breakpoint, single-step
 Hardware and software breakpoints
PDTrace adds processor trace capability

Real time Instruction and data Trace - up to 64 bits per cycle

Trigger on execution, RAM operations, address or opcode values

Execution trace compression (Branch Trace Messages)

Trace funneling for support of multiple MIPS core instances

GDB and commercial Debugger support
MIPS Technologies copyright 2006 – All rights reserved
12
At the core of the user experience.®
Debug Software for Multi-Core Platforms
• Standards based debug IDE - Plug and play with 3rd party tools
• User transparent concurrent debug access (many cores/many debuggers)
• Standard based Eclipse, Tcl/TK, MDI, XML, text based scripting
MIPS Debugger
GUI
Tcl/TK
Command Line
Interface
Trace/Trigger
GUI
MDI
MIPS Debugger
GUI
MDI
EJTAG API
Nav. API
EJTAG API
Other
Debug GUI
MDI
Other API
Multicore ABI - Probe Drivers
USB, Ethernet
FS2 System
Navigator Probe
Off-Chip
TRACE PORT
OR
JTAG IO
On-Chip
34K
Other MIPS
EJTAG/
PDTrace
EJTAG/ PDTrace
Bus
Trace
OCI
Cross
Trigger
OCI
Other
OCI
Bus Fabric
MIPS Technologies copyright 2006 – All rights reserved
13
At the core of the user experience.®
On Chip Vs. Off Chip Instrumentation Solutions
On Chip (JTAG) trace
• Buffers signal trace on chip
• Requires on chip RAM
• Uses JTAG port for IO
•Simpler, cheaper Sys Nav probe
• All logic analyzer functions on chip
- several 10K gates on-chip
• Trace is function of on chip RAM
For more options with no extra debug
IO, On Chip approach is right choice.
Off Chip (Streaming) trace
• Streams data through parallel port
• Limitation is IO bandwidth
• Simpler OCI - Less logic on chip
• Logic analyzer is in probe
- Trace RAM & trigger logic is in probe
For very deep trace or reduced on-chip
debug gates, Off Chip is right choice.
OCI 1
Bus
Trace
RAM
OCI 2
Perf
Anal.
RAM
JTAG
JTAG
Probe
4 pins
OCI 3
PDTrace
OCI 1
Bus
Trace
OCI 2
Perf
Anal.
RAM
DEBUG
FUNNEL
1-64
pins
Streaming
Trace
Probe
OCI 3
PDTrace
MIPS Technologies copyright 2006 – All rights reserved
14
At the core of the user experience.®
Bus Navigator OCI IP Overview
PDTrace
----------EJTAG
Other IP blocks
MIPS32®
24KTM
(security, video,
BUS NAVIGATORTM OCI
Performance Time
stamp
counters
imaging . . . )
Trigger/trace
control
OCP/AMBA
System Backplane
JTAG IF
Trace Port
Trace
RAM
MIPS32®
34KTM
PDTrace
----------EJTAG
Mem
Cntl
Cross triggers





Wide trace capability (256 signals)
to support for >1 bus channel
Programmable event monitoring
Configurable triggers, counters
Trace filtering and alignment
Trace limited by RAM size or Port Bandwidth
MIPS Technologies copyright 2006 – All rights reserved
15
At the core of the user experience.®
Bus Navigator Trace GUI
Complete Visibility into Your SOC Design
Waveform
Display
State
Display
Timestamps and Complex Event Triggers
MIPS Technologies copyright 2006 – All rights reserved
16
At the core of the user experience.®
Bus Navigator Integrated with Processor Debug
• Processor operations can drive system debug operations and vice versa
• Example: Cross-Triggering Bus Trace with MIPS Source Code
MIPS Technologies copyright 2006 – All rights reserved
17
At the core of the user experience.®
Case Study : Mobileye EyeQ2 Architecture

Complex automotive image processor IC





Debug Performance and bottlenecks
 Bus latency and throughput analysis






10 cores (two MIPS 34K, DSPs, DMA)
Complex OCP/AMBA system network
Multi-layer Sonics SMX
Complex memory subsystems
Trace concurrent bus transactions
Trace full address for any transaction
Correlate Bus transactions to processor
Instructions, load/store operations
Track active threads to bus operations
Trace at least one image frame (>1 Gbyte)
Low overhead debug solution (minimal buffering)
MIPS Technologies copyright 2006 – All rights reserved
18
At the core of the user experience.®
Instrumentation Solutions for Mobileye (RRT)


Request-Response Trace – Real time Bus Transaction Analysis
Solution built around FS2 System Navigator Pro Probe

64 pin target interface


Deep (2 Gbyte) Probe Trace Buffer




Complex triggers, timestamps, . . .
Minimized on chip Logic
Complex trace resources in probe
Multicore PDtrace Funnel IP
PDtrace/RRT Correlation in SW



Request-Response delay analysis
PDtrace/RRT Bus Correlation
Inferred thread to bus analysis
RRT Agent
(capture,
filter,
format)
Multicore Mictor 1
PDtrace
Funnel/
Port
JTAG
port
FS2
System
Navigator
Pro
Probe
RRT Agent
Upgraded PDtrace for multicore trace


MIPS 1
(34K 2x
OCP)
Multi-frame trace
RRT agents and funnel IP


MIPS 0
(34K 2x
OCP)
Allows processor and bus trace
VCE
(XB1
OCP)
DMA
(AHB)
RRT Trace Funnel
(combiner/
Scheduler)
RRT
Trace
Port
Mictor 2
RRT Agent
RRT Agent
MIPS Technologies copyright 2006 – All rights reserved
19
At the core of the user experience.®
System Level Performance Analysis

Types of analysis that Navigator supports






Measure activity - bus utilization, caches efficiency,
coprocessors activity, interrupts, peripheral device events
Measure latencies - interrupts, bus access, DMA transfers
Loop times of processing network packets, DSP Blocks
Monitoring bus bandwidth utilization, efficiency
Caches hit/miss ratios, DRAM pages, processor stalls
FS2 Navigator enables Analysis of System operations

Free running timestamps allow interval measurements
relative to real time

Counter and trigger resources allow real time event rates or
duration measures
MIPS Technologies copyright 2006 – All rights reserved
20
At the core of the user experience.®
So. What are open issues

Standardization

Most current solutions are proprietary.

There are standardization efforts ongoing - next slide

More end user and academic support will be needed

Better Methods

Biggest bottleneck is trace bandwidth and size

New, better trace compression is needed for bigger SoC

Design for Debug Awareness

Too often, problems are not understood until post silicon

More formal methodology for addressing instrumentation needs

EDA integration

Post silicon analysis and pre-silicon analysis are handled differently

Open areas in addressing common tools and interoperability
MIPS Technologies copyright 2006 – All rights reserved
21
At the core of the user experience.®
Some Post Silicon Verification Related
Standards efforts

Nexus Forum – IEEE 5001

Nexus Addresses higher performance processor debug interfaces

Affiliate membership is available to Academic groups

OCP-IP Debug Working Group

OCP is open bus protocol for complex SoC designs

Debug group is working on standardized methods for SoC
Instrumentation

SPIRIT Debug Working Group

SPIRIT is vender neutral format for passing IP data to EDA tools

Debug working group is working on standardized extensions for
Instrumentation and debug SW#

MultiCore Association Debug Working Group

Addressing API level interfaces for Multicore debug
MIPS Technologies copyright 2006 – All rights reserved
22
At the core of the user experience.®
FS2 Solutions for MIPS Systems

FS2 offers sophisticated debug tools for SoC systems.

System Navigator probe concurrently supports range of System OCI
options for SoC debug and analysis

Trace Support for all MIPS cores
 True Plug-and-Play integration with leading MIPS Debuggers

Bus (OCP/AMBA/Custom) Navigator debug/trace solutions
 Customizable for specific customer requirements

Supported by FS2 Cross triggering, and analysis software
www.fs2.com gives you the details

System Navigator Pro (deep trace) probe expends options

Allows smaller on-chip component (more debug pins)

System On Chip Instrumentation for is available now
MIPS Technologies copyright 2006 – All rights reserved
23
At the core of the user experience.®
FS2 Comprehensive
Debug Solutions
Software Tools and Interfaces
• Integrated with GDB/Insight
• New Eclipse IDE
• Supports 3rd party debuggers via MDI
• RTOS awareness
Embedded Instrumentation IP
• EJTAG, PDTrace, iFLowtrace
• Complex Triggers
• Integrated Bus Analyzers
• Multi-Core debug
• Performance Analysis
• Application specific debug blocks
System Navigator Probes
• USB 2.0 and Ethernet host
PC connections
• 14-pin (EJTAG & on-chip PDTrace)
or 38-pin Mictor (EJTAG & off-chip
• PDTrace) target connections
MIPS Technologies copyright 2006 – All rights reserved
24
At the core of the user experience.®
Eclipse Gaining Wide Acceptance

Eclipse IDE and CDT Debugger
 Eclipse is an modern IDE gaining wide acceptance in
the EDA and tools marketplace
 CDT (or C/C++ Debug Tools) is the native Eclipse
debugger for C/C++ code
 Eclipse “Plug-Ins” are built on well defined API’s
allowing third parties to enhance the debug
experience with their specific tools
 Create “views” for application specific solutions
Eclipse is an integrated development environment (IDE) that
combines a code editor, compiler, debugger, text editor, graphical user
interface (GUI) builder, and other components into a single, user-friendly application
MIPS Technologies copyright 2006 – All rights reserved
25
At the core of the user experience.®
View all thread
information after hitting
breakpoint, including
name, running state,
priority, etc
If thread suspended,
shows responsible
kernel component(s)
causing suspension
“cpu context” view
added to denote
execution in nonthread or ISR context
View of ThreadX
objects – TIMER,
QUEUE,
SEMAPHORE,
MUTEX,
BYTE_POOL
MIPS Technologies copyright 2006 – All rights reserved
26