On-Chip Instrumentation and In-Silicon Debug Tools for SoC Dr. Neal Stollon HDL Dynamics

Similar documents
Certus TM Silicon Debug: Don t Prototype Without It by Doug Amos, Mentor Graphics

7 Nov 2017 Testing and programming PCBA s

Remote Diagnostics and Upgrades

Ilmenau, 9 Dec 2016 Testing and programming PCBA s. 1 JTAG Technologies

A Primer: ARM Trace. Including: ETM, ETB and Serial Wire Viewer, JTAG and SWD V 2.1

EXOSTIV TM. Frédéric Leens, CEO

BTW03 DESIGN CONSIDERATIONS IN USING AS A BACKPLANE TEST BUS International Test Conference. Pete Collins

18 Nov 2015 Testing and Programming PCBA s. 1 JTAG Technologies

Section 24. Programming and Diagnostics

Overview of BDM nc. The IEEE JTAG specification is also recommended reading for those unfamiliar with JTAG. 1.2 Overview of BDM Before the intr

16 Dec Testing and Programming PCBA s. 1 JTAG Technologies

Tools to Debug Dead Boards

Sharif University of Technology. SoC: Introduction

Ashling Product Brief APB219 v1.0.3, 12 th October 2018

Comparing JTAG, SPI, and I2C

Raspberry Pi debugging with JTAG

Testing Sequential Logic. CPE/EE 428/528 VLSI Design II Intro to Testing (Part 2) Testing Sequential Logic (cont d) Testing Sequential Logic (cont d)

Saving time & money with JTAG

Section 24. Programming and Diagnostics

How to overcome/avoid High Frequency Effects on Debug Interfaces Trace Port Design Guidelines

Using SignalTap II in the Quartus II Software

Using the XC9500/XL/XV JTAG Boundary Scan Interface

FPGA Development for Radar, Radio-Astronomy and Communications

3. Configuration and Testing

SignalTap Analysis in the Quartus II Software Version 2.0

CoLinkEx JTAG/SWD adapter USER MANUAL

A Briefing on IEEE Standard Test Access Port And Boundary-Scan Architecture ( AKA JTAG )

the Boundary Scan perspective

Remote programming. On-Board Computer

TMS320C6000: Board Design for JTAG

Logic Analysis Basics

Logic Analysis Basics

SignalTap Plus System Analyzer

Using the XSV Board Xchecker Interface

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

Prototyping an ASIC with FPGAs. By Rafey Mahmud, FAE at Synplicity.

Introduction to JTAG / boundary scan-based testing for 3D integrated systems. (C) GOEPEL Electronics -

LAX_x Logic Analyzer

Using on-chip Test Pattern Compression for Full Scan SoC Designs

Chapter 19 IEEE Test Access Port (JTAG)

OpenOCD - Beyond Simple Software Debugging

DSTREAM ARM. System and Interface Design Reference. Version 4.4. Copyright ARM. All rights reserved. ARM DUI 0499E (ID091611)

Y. Tsiatouhas. VLSI Systems and Computer Architecture Lab. Boundary Scan (JTAG ) 2

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

L12: Reconfigurable Logic Architectures

ARM JTAG Interface Specifications

FPGA Design with VHDL

Laboratory Exercise 4

At-speed Testing of SOC ICs

SAU510-USB ISO PLUS v.2 JTAG Emulator. User s Guide 2013.

Virtex-II Pro and VxWorks for Embedded Solutions. Systems Engineering Group

UNIT IV CMOS TESTING. EC2354_Unit IV 1

Design and analysis of microcontroller system using AMBA- Lite bus

EEM Digital Systems II

Training JTAG Interface

High Performance Microprocessor Design and Automation: Overview, Challenges and Opportunities IBM Corporation

Zebra2 (PandA) Functionality and Development. Isa Uzun and Tom Cobb

SoC IC Basics. COE838: Systems on Chip Design

12. IEEE (JTAG) Boundary-Scan Testing for the Cyclone III Device Family

International Journal of Scientific & Engineering Research, Volume 5, Issue 9, September ISSN

Solutions to Embedded System Design Challenges Part II

BSDL Validation: A Case Study

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

ECE532 Digital System Design Title: Stereoscopic Depth Detection Using Two Cameras. Final Design Report

CMOS Testing-2. Design for testability (DFT) Design and Test Flow: Old View Test was merely an afterthought. Specification. Design errors.

L11/12: Reconfigurable Logic Architectures

2.6 Reset Design Strategy

Embest Emlink for ARM Cortex-M3. User Manual

DEDICATED TO EMBEDDED SOLUTIONS

Verification Methodology for a Complex System-on-a-Chip

Memec Spartan-II LC User s Guide

EECS 578 SVA mini-project Assigned: 10/08/15 Due: 10/27/15

RAPID SOC PROOF-OF-CONCEPT FOR ZERO COST JEFF MILLER, PRODUCT MARKETING AND STRATEGY, MENTOR GRAPHICS PHIL BURR, SENIOR PRODUCT MANAGER, ARM

DC Ultra. Concurrent Timing, Area, Power and Test Optimization. Overview

Low-speed serial buses are used in wide variety of electronics products. Various low-speed buses exist in different

Digital Systems Design

Go BEARS~ What are Machine Structures? Lecture #15 Intro to Synchronous Digital Systems, State Elements I C

BABAR IFR TDC Board (ITB): system design

CHAPTER 3 EXPERIMENTAL SETUP

Design and Implementation of an AHB VGA Peripheral

Innovative Fast Timing Design

Logic Devices for Interfacing, The 8085 MPU Lecture 4

THE LXI IVI PROGRAMMING MODEL FOR SYNCHRONIZATION AND TRIGGERING

Achieving Timing Closure in ALTERA FPGAs

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

1 Terasic Inc. D8M-GPIO User Manual

JTAG Test Controller

Digital Blocks Semiconductor IP

TKK S ASIC-PIIRIEN SUUNNITTELU

ScanExpress JET. Combining JTAG Test with JTAG Emulation to Reduce Prototype Development Time. Ryan Jones Corelis, Inc. An EWA Technologies Company

Design of Vision Embedded Platform with AVR

CS61C : Machine Structures

Review C program: foo.c Compiler Assembly program: foo.s Assembler Object(mach lang module): foo.o. Lecture #14

Boolean, 1s and 0s stuff: synthesis, verification, representation This is what happens in the front end of the ASIC design process

Lattice Embedded Vision Development Kit User Guide

ASTRIX ASIC Microelectronics Presentation Days

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

Subjects. o JTAG Technologies (Rik Doorneweert, Area Manager) o JTAG Technologies B.V. activities o Introduction to (classic) Boundary Scan

UNIVERSITY OF TORONTO JOÃO MARCUS RAMOS BACALHAU GUSTAVO MAIA FERREIRA HEYANG WANG ECE532 FINAL DESIGN REPORT HOLE IN THE WALL

Lab Assignment 2 Simulation and Image Processing

Transcription:

On-Chip Instrumentation and In-Silicon Tools for SoC Dr. Neal Stollon HDL Dynamics neals@hdldynamics.com

So What do we mean by On-Chip Instrumentation and In-Silicon?

What will this talk cover An Overview of What is On-chip debug A quick example of different types of On Chip Instruments A survey of industry standards efforts.

Some quick definitions Some Quick Definitions Verification - process of analyzing, fixing errors, and optimizing a model or design - process of analyzing, fixing errors, and optimizing a product (chip, board or box) EDA - Any tool used to manage the tedium and complexity of analysis and verification of a design. Instrumentation - any logic (on chip or off) used to manage the tedium and complexity of analysis and debug of a product

Verification vs. Efforts Pre-silicon EDA based analysis Post-silicon In System centric analysis System Platform System Analysis Focus Core IP Focus on Architecture Bugs Instruction Level/ Bus Functional RTL Diagnostics System Initialization Focus on System Bugs RTOS Integration Application Software Multi-core Integration issues Point were Hardware is assumed working ESL Hardware Simulation Hardware Prototype/Emulation Modeling and Verification Abstraction Software ger System platform

Advantages of Solutions On-chip Instrumentation (OCI) facilitates embedded design success It s difficult to fix what you can not see Compliments other analysis for more complete verification OCI provides real-time analysis of what is happening in the chip Measure events and operations on core, buses, caches, peripherals... Enables core and system debug and optimization Visibility, synchronization and control of all system components Speeds up getting system software working and optimized Inter-core communications and interfaces Better = Faster time to Market = $$

SoC Evolution 50K - 20K Difficulty (gates/pins) 8K 2.5K 1K ICE BDM JTAG (Scan, BIST Run Control) Embedded Single Systems processor ASICS FPGAs Embedded Processor / Logic Trace SoC (RISC+IP +RAM) 1980s 1990s 2000s Multi-Core Embedded System Platform SoC (Multi-Core) System FPGA (PLD+RISC IP) Embedded Complexity keeps increasing Gates increase geometrically - Pins increase linearly Significant debug difficulties for leading architectures More complex debug needs Instrumentation on the chip The New Frontier

Consider a Typical SoC Design Processor Core System Bus Fabric cores OCP/AMBA IP (security, video,... ) OCP/AMBA Mem Cntl RAM Complex processors Multithreaded, superscalar, etc. Complex bus fabric options lots of data transfers Differing bus interfaces More than one core multiple processors other blocks of IP Differing clock domains IO constrained Embedded operations of interest not accessible by outside world Problems show up in real time hard to emulate or reproduce SO HOW DO WE ADDRESS SoC DEBUG?!?

1. Instrument the processor Processor Core Block System Bus Fabric cores OCP/AMBA IP (security, video,... ) OCP/AMBA Mem Cntl Processor instrumentation types Run control start, stop, single-step HW/SW breakpoints Trace Instruction and data Complex Triggering Trace compression Performance statistics Processor SW Commercial gers GNU/GDB

2. Instrument the IP Processor Core Block System Bus Fabric cores OCP/AMBA IP (security, video,... ) OCP/AMBA Mem Cntl Logic Trace Bus Trace Mem Add debug control and trace Logic Trace Capture logic sequences Complex triggering Bus Trace Special features for on-chip bus properties Detect abnormal sequences Correlate transfers and responses Make Bus Performance measurements Viewing and analysis similar to EDA based simulation Ex. Waveform views

3. Synchronize and control Processor Core Block Cross- triggers IP (security, video,... ) Logic Trace Cross Trigger blocks Synchronized on chip control Trigger on system information Complex trigger actions Direct on chip configuration actions System Bus Fabric Bus Trace Bus Master Emulation Bus Master cores Mem Cntl Direct control of bus operations Analyze bus properties Latency Measurements Access peripherals

JTAG Processor Core Bus Master 4. Controlling Instrumentation Block System Bus Fabric cores Cross- triggers IP (security, video,... ) Mem Cntl RAM Logic Trace Bus Trace JTAG interfaces JTAG is standard on chip IF Independent of system speed Simple RD/WR protocol Instruments on separate or merged JTAG chains. However Slow Instrument control is limited Requires on-chip trace buffers Under Processor control Memory mapped debug Simple SW control blocks as peripherals However SW changes operation Tricky for core to debug itself

5. Improving debug performance Bus Master Trace Funnel JTAG Processor Core Block System Bus Fabric cores Cross- triggers IP (security, video,... ) Mem Cntl Logic Trace Bus Trace Add Additional interfaces Mainly for deep trace Allow higher speed access Reduce need for on chip buffers Several configurable options Nexus Interface, MIPI Narrow Band Trace port Serdes IO parallel ports, etc. Requires specialized probes or Logic Analyzers High IO, High Capacity buffers

Key Open issues in On Chip Merging debug operations for several cores Control/data transfer via a single JTAG compliant TAP Global control signals for multi-core cross triggering and synchronous actions (go, halt and breaks) Multi-core trace with timestamps Probes and tool API s to support multi-core trace Handle multiple instantiations of source level debuggers Standard ways to measure on chip activity buses, caches, execution cores, co-processors, interrupts, peripheral device events,...

On Chip Standards Efforts

On Chip Standards Standards will enable building better solutions 1149.1 JTAG are most notable and widespread Several efforts in standards driven progress for SoC Design for is coming on its own as a ility Many variants on theme needed to address range of silicon debug requirements, time to market Need to encompass proprietary solutions - varying levels of focus, completeness and depth Several standards efforts are ongoing Nexus OCP-IP MIPI SPIRIT 1149.6 (AJTAG), P4687 (IJTAG)

The Standards Landscape IJTAG AJTAG MIPI SPIRIT Tool Level of Integration SW/EDA Tool level APIs HW tools level APIs IO Level of Integration JTAG different flavors Nexus 5001 MIPI NIDnT Software Probe TAP Nexus Protocol Level of Integration Nexus 5001 Multicore IP & probe APIs Proprietary Multicore Trace formats System Level Communications (SoC level run control, Cross-triggers, etc.) OCP Instrument Level Many vender/ip solutions MIPS EJTAG, PDtrace ARM ETM, CoreSight Bus Analyzers Core Analyzers Core A Bus Fabric Core B

Nexus Overview The Nexus 5001 TM Forum is a program of the IEEE/ISTO Focused on embedded system and processor debug interface standard and applications The Nexus standard defines classes of standard onchip features, auxiliary pins, transfer protocol, connectors and API for communication between an embedded instrumentation and a host computer IEEE-ISTO 5001-1999 IEEE-ISTO 5001-2003

Nexus - IEEE 5001 Focus has been on implementing vender neutral high performance trace and calibration solution Moving out of traditional Automotive IC focus Many solutions have been implemented in silicon and tools 2007 Spec Updates are ongoing SerDes IO for debug Aurora protocol Convergence with P1049.7 2 wire JTAG Data In Data Out Control TCODE & Message Control/ Formatting Nexus Registers JTAG (IR/DR) Registers AUX In FSM AUX Out FSM JTAG TAP FSM AUX In Port AUX Out Port JTAG Port Software Solutions Hardware Solutions www.nexus5001.org

Nexus Port Configurations Aux Port only: Auxiliary Input and Output ports Combined JTAG/Aux Port Commands and Responses go in and out of the JTAG port, including Read and Write accesses Auxiliary Out is used primarily for trace output Aux Input Port MDI: Message Data In MSEI: Message Start End Input MCKI: Message Input Clock EVTI Aux Output Port MDO: Message Data Out MCKO: Message Output Clock MSEO: Message Start/End Output EVTO: Event Output JTAG TDI:JTAG Input Data TDO: JTAG Output Data TCK: JTAG Clock TMS: Sequencing Control Combined JTAG/Aux Port Aux Port

OCP-IP Overview OCP is neutral On Chip Protocol for SoC IP connection Working Group Defining instrumentation related signaling between cores and other embedded subsystems Leverage other work for IOs (JTAG, Nexus), APIs, etc. Defined subset architecture for on chip debug Proposal is in review by OCP Standards group RISC DSP IP OCP 2.1 Socket OCP Fabric Mem Ctrlr RAM IP Standardized Bus Transfer Master and Slave sockets Sockets handshakes Cross Triggers Trace Synchronizers Trace Triggers Power Management Security OCP Socket RISC IP DSP OCP Fabric Socket Specific Features Mem Ctrlr RAM IP

Core A 1 OCP-IP Systems SoC focus on 5 Hardware and 2 Software Interfaces IF control (JTAG) Bus test socket Software SYS API Cross trigger IF IF 4 5 3 Trace IF OCP Bus fabric data-trace( Nexus) EDA API B 2 Memory-mapped JTAG-mapped Nexus-mapped -IP registers www.ocpip.org SoC Instrument connections 1. CORE-INTERFACE 2. BUS-INTERFACE 3. CROSS-TRIGGER INTERFACE 4. PIN-INTERFACE CONTROL 5. PIN-INTERFACE DATA System SW Issues A. ger Tools API B. EDA APIs

MIPI T&DWG MIPI - Mobile Industry Processor Interface and Test Interface specification A low and high (>1Gbit/s) mode trace port for realtime trace. System Trace Module (STM) for software debug Connector Recommendations System Trace Protocol (STP) Specification Parallel Trace Interface (PTI) Specification Basic Connector Recommendation Function Protocol Electrical Connection Pin Connection Mating Connection www.mipi.org

1149.7 AJTAG Superset of IEEE 1149.1 Addressing high performance Two wire JTAG solution New protocol with additional levels of control hierarchy SW mode switches from standard and advanced protocol Non Serial mode of operations Better JTAG utilization less time in idling, pause states Current JTAG Boundary Scan JTAG Chip TAPs Narrow (2) or Wide (4) P1149.7 Controller Instrumentation Sources Legacy Modes - BDM SWD others Chip Power and Reset Controller Test and Private Interface Modes For more information contact Gary Swoboda, g-swoboda@ti.com

SPIRIT WG SPIRIT Industry Consortium for EDA tools architectural exchange IP-XACT standard - human and machine-independent XML format Describes configuration / integration data for IP extensions for core registers, buses instances, connectivity, timing, etc. IP vendor ETB TRACE FUNNEL CPU DAP PERIPHERALS IP Components DSP PERIPHERALS 3 rd Party IP System designer Software developer SoC Emulator DAP ETM CTI FUNNEL Reads debug access descriptions from IP-XACT files ARM CPU ROM, RAM DSP PERIPHERALS PERIPHERALS Component, I/O, IP memory map. EDA / ESL Tools Topology, System Memory Map ger Reads programmer s model from IP-XACT files www.spiritconsortium.org

Lessons Learned since 2002 JTAG remains key JTAG as the catchall debug interface is pervasive norm Keep stuff small IC designers have sensitivity to adding gate count for debug IP Cross Triggering is key Coordinate multicore debug Customers like standards sometimes still lots of proprietary buses, IP debug approaches, etc. Custom(er) is king SoC architectures vary, therefore debug requirements and solutions do as well Work with your Eco-system - does not stand-alone close ties to EDA flow, IP, test, SW are needed It is all about the tools Interfaces / SW tools have significant and ongoing effort to use new debug features

Summing it up Multi-core SoC requires next wave in debug Industry at large is to recognizing needs for On Chip Standards efforts on Architectures, interfaces, tools IC debug is still running on 15 year old JTAG concepts Several efforts to re-vitalize JTAG (1149.7, P1687, ) fills a hole in SoC design/verification flow Analysis not be otherwise provided Not just debug - multi-core optimization, performance analysis, etc. Value of on-chip More design visibility + better Real Time Analysis Faster time to market, better silicon quality, Better ease of use

#&&! &#'! Next Stage Challenges Integrating ESL and!" Data Transaction Transaction! & &# # # & &# % % Inferences Correlation ) (!#$%