Tutorial M02. Software Debug on ARM Processors in Emulation. March 24, 2014
|
|
- Lora Collins
- 6 years ago
- Views:
Transcription
1 Tutorial M02 Software Debug on ARM Processors in Emulation Tutorials Chair Franco Fummi - Università di Verona Italy March 24, 2014 Fill in, please, the tutorial evaluation form, available on the conference room desk (fac simile in the next page). Return it, please, to the front desk. This will help us to improve the quality of the Date Monday Tutorials.
2 Conference Evaluation: Monday Tutorials On behalf of the Monday Tutorial Chair, you are kindly asked to hand in a short feedback regarding the Monday Tutorial you participated at after the end of the session to the session chair. Your opinions will be most appreciated and will help the committee to maintain future DATE conferences at the highest quality and even increase the relevance of the event in the European Design and Test community. Thank you for your time and support! Monday Tutorial (please indicate the code): M Rating Please indicate: Quality of oral presentations 5 (very good) 4 (good) 3 (average) 2 (poor) 1 (very poor) Quality of written materials Level of the tutorial Global Evaluation Which topics would you like to be covered by DATE 15 Monday Tutorials? Additional Comments: Please also use the back side of the paper for any additional comments, if required. Name (optional) (optional) K.I.T. Group GmbH Dresden Münzgasse Dresden Germany Phone: Fax: info@kitdresden.de
3 Software Debug in Emulation on Veloce DATE 2014 Russell Klein Joe Hamman Agenda! Session 1 9:30 to 11:00 Options for Debug and Trace in the context of emulation Trade-offs for different debug/trace facilities! Session 2 11:30 to 13:00 Concurrent debug of multiple cores in emulation Correlation of hardware and software views Efficient utilization of emulation resources during software debug 1
4 SESSION 1 OPTIONS FOR DEBUG AND TRACE Agenda! Introduction to Emulation! Debug methods JTAG Virtual JTAG Trace based state reproduction! Trace Systems ETM (hardware trace systems) Tarmac (simulation/emulation trace systems) 2
5 Veloce-2! 2nd Generation Veloce System Improves functionality, performance and capacity over Veloce-1 Crystal-2 Chip! Configurable logic for 1 million gates! 512 megabytes on chip SRAM! Logic analyzer on a chip Trace controller Debug engine! Full visibility for all signals! 512K clocks of trace buffer For all signals! Rich routing resources Trace Controller 32 MB Macro 96K SDRAM Elements Macro Debug (500K Elements Gates Equivalent) 32 MB SDRAM Engine Virtual 1M SRAM Bytes SRAM Wire Logic 3
6 Advanced Verification Board! Employs 16 Crystal-2 chips! 16 Million gates of configurable logic! Additional 2 gigabytes on board memory! Additional routing resources High Speed Link! Data path from Veloce to host computer! Enables interaction with host based testbenches! Waveform upload! Design download! Up to 1 for each 4 AVBs 4
7 Veloce Chassis! Quattro Capacity for 16 AVBs 256 Million gate capacity when fully populated Up to 4 high speed links Up to 16 concurrent users! Maximus Capacity for 64 AVBs 1 billion gate capacity when fully populated Up to 16 high speed links Up to 64 concurrent users! Double Maximus Capacity for 128 AVBs 2 Billion gate capacity when fully populated Up to 32 high speed links Up to 128 concurrent users Veloce Chassis Quattro 256 MG; 16 Users Maximus 1 BG; 64 Users Double Maximus 2 BG; 128 Users 5
8 Software Debug with Veloce Veloce compiler flow blp RTL Design module ddr1_core (DOUT, DIN, WA, RA, WE); input [23 : 0] WA, RA; input [7 : 0] DIN; input WE; output [7 : 0] DOUT; reg [7 : 0] DOUT; reg [7 : 0] mem [ : 0]; RDFF_P RUN_N BITLINE_P CPB_I_P [3:0] Compiler Compiler (posedge WE) begin mem[wa] = DIN; end LUT 0 CPB_OUT D Q WRFF_P FREEZE_P LEG_P[2:0 ] VCLK 1 (RA) begin DOUT = mem[ra]; end endmodule Compiler Memory point Emulation Division Mentor Graphics Confidential Crystal 2 overview Slide 3 Compiler Compilation Flow! Complete flow developed by Mentor No dependence on FPGA vendor SW Fast turnaround on compile issues Encryption! Continuously enhanced Capacity utilization Runtime speed Compile speed Language support Distributed Distributed ANALYZE ANALYZE ANALYZE RTLC RTLC RTL Synthesis Incremental Distributed Distributed Partitioning & Routing (Velsyn) 25-35M gates per hour VELCC VELCC Chip Compile Scheduling Distributed SSRMODELGEN SSRMODELGEN Waveform Replay 6
9 Veloce Use Model In Circuit Emulation Transaction based Acceleration VirtuaLab Software Development Full-Chip Validation! OS and device drivers run on RTL processor model! VirtuaLAB peripheral models exercise interfaces! HW/SW debug performed with Codelink Codelink Multi-core SW/HW debug SoC PHY$ PHY$ PHY$ PHY$ CPU$ USB$ Ethernet$ SATA$ Display$ Processor$ Master$IF$ SlaveIF$ Slave$IF$ Slave$$IF$ Slave$IF$ Arbiter$ $$ Master$IF$ CPU$ Master$IF$ Software Memory Fabric$ Slave$IF$ UART$ Slave$IF$ GPIO$ Fabric$ PCI$ Express$ PHY$ 7
10 Emulation Uses! Execution of system level behavior, including software Connections to live data sources networks, peripherals, etc.! Early access for software developers Software Bring-up all code from reset to debug prompt Early driver development Including performance or throughput verification Diagnostics and low-level start-up code, boot loaders Debug and Trace Interfaces! JTAG Physical Virtual! ETM ARM embedded trace hardware! TARMAC ARM Trace ARM ACtivity logs for simulation and emulation! Codelink Trace based debug facility 8
11 Software Debug with Veloce JTAG Debug with Veloce Mentor Embedded Codebench Debugger Mentor Embedded Sourcery Probe isolve JTAG Veloce isolve JTAG Hardware Description Front of the Chassis Figure 2-1. Back of an isolve ARM Cortex JTAG Trace Chassis Emulator Connector The solution is equipped with a single 100-pin female AMP connector, which mates the VStation-legacy data cables of the Veloce emulators. The detailed pin-out is listed in the section Pinout of Veloce Connector on page 17. Front of the Chassis Figure 2-2 shows the front of the chassis. Figure 2-2. Front of the isolve ARM Cortex JTAG Trace Chassis From left to right there are: 12 Two female DSUB-9 connectors (labeled UART1 and UART2 ). A 20-pin standard ARM JTAG connector (internally labelled H1 ). JTAG Connector isolve ARM Cortex JTAG Trace User s Guide, V1.0.1 August
12 Mentor Embedded Sourcery Probes Physical JTAG Probe Embedded SW Debugger Design Memory Memory RSP CORE 0 CORE 1 PCIe / USB Peripheral Port JTAG JTAG Interface Memory Jtag Probe Memory 10
13 Probe Architecture " SW Debugger Provides the Visibility and Control # CodeBench Virtual Edition # Lauterbach TRACE32 " Virtual Probe is a Debug Server # VMAJIC + Sprite # T32MCIServer + HostMCI " CPU Provides Debug Controller # Accessed via JTAG Design Probe IP Mem CPU DBG JTAG Signal Interface Probe Logic Simplified CPU and Debug Controller Debug controller can: Jam opcodes into decoder Jam data on loads Intercept data on stores Register File Inst Pipe Inst. Dec. ALU JTAG Debug Control Ld/Str Mem Ifc 11
14 Debug Server Primitives Read a Register: Jam a store instruction Intercept the datum Return datum to the debugger Write a Register: Datum provided by the debugger Jam a load instruction Jam the datum Read Memory: Write the address to a register Jam a load (from mem) Jam a store Intercept the datum Return datum to the debugger Write Memory: Datum and address provided by debugger Write the address to a register Write the datum to a register Jam a store (to mem) Debug Server Execution Control Software Breakpoints: Read and save the opcode at BP address Write SWBP opcode CPU stops in debug mode at SWBP opcode HWBP & Watchpoints: Set an address comparator to break address Set control bits (exec, load, store, size, value, masks, ) Comparator match stops CPU in debug mode Stopping Execution: Wait for debug mode indication Save all register state Remove SWBPs and disable HWBP & WP Notify debugger Starting Execution: Install SWBP Configure HWBP and Watchpoint logic Restore all register state Exit debug mode 12
15 Software Debug with Veloce Virtual Probe Embedded SW Debugger RSP Design Virtual Probe JTAG Memory Memory CORE 0 CORE 1 PCIe / USB Peripheral Port JTAG Interface Memory Memory Virtual Probe Mentor Embedded Codebench Debugger Mentor Embedded Network Sourcery Probe Connection + Transactor isolve JTAG Veloce 13
16 Virtual Probe benefits! Virtual probe allows emulation clocks to be stopped Enables time for waveform uploads Debug, analyze hardware while system is stopped Compatibility with Transactors VirtualLAB compatibility! Design no longer tied to location of I/O card, physical probe! No need to maintain physical hardware Hardware Trace Modules! Many processor and SoC vendors have jhardware based trace facilities! Enables real-time and multi-core debug visibility Not possible with JTAG and interactive debug techniques! Generates large amounts of data As cores get faster, and there are more of them and memory bandwidth is not increasing this technique is getting less effective Large fast memories are needed for even short executions 14
17 ARM Trace Hardware! Part of the Core-Sight debug package! Trace Modules: ETM embedded trace module PTM program trace module ITM instrumentation trace module HTM AHB trace module (bus activity tracing) ARM Trace Modules! ETM Embedded Trace Module Collects register data and instruction execution Available for Cortex M, R and A5, A7, and A8! PTM Program Trace Module Collects instructions execution (branches only) Instructions between branches are assumed to execute and can be filled-in as a post processing step Available for Cortex A9 and higher processors! ITM Instrumentation Trace Module Allows program to store events (interrupt entry, lock acquisition, etc.) Provides rough timing of events! HTM AHB Trace Module Traces AHB bus infrastructure 15
18 ARM ETM example ARM ETM example! Data is collected in trace buffer (ETB) or sent to port to host system! Compressed, encoded data needs to be expanded and decoded to make use of the data! ETM is part of core-sight Core-sight needs to be implemented and configured ETM needs to implemented and configured! ETM is *very* configurable/programmable 16
19 A7 Configuration and programming registers A7 ETM Registers - continued 17
20 A7 ETM registers - continued A7 ETM registers - continued 18
21 A7 ETM Registers - continued A7 ETM Registers - continued 19
22 A7 ETM Registers the fine print ETM - Summary! ETM is complex! Newer larger processors, multi-core systems generate too much data and are migrating to PTMs (instruction only)! Once configured and programmed correctly emits compressed encoded data In emulation/simulation needs to be sent to decompress/decode program for interpretation! Debugging in emulation is preferred over debugging in silicon In emulation, hardware configuration bugs can still be fixed Many SoCs go to market with limited or non-functional ETMs due to insufficient testing! Not practical to be used early in design cycle for debug 20
23 TARMAC! Trace ARM ACtivity Simulation/emulation debug facility for tracing code execution on ARM processors! Text file which shows many artifacts of code execution Instructions executed Register updates Memory references Mode changes Exceptions! In simulation fairly straight forward to configure and use Emulation is a bit more complex Limits performance in emulation! Included in DSM models of the processor Required TARMAC module for RTL processors and emulation TARMAC example Register Regiter New Update Value Record Memory Size Operation (in access bytes) Data Instruction Physical Simulation/ Processor Opcode Disassembly (Read/Write) record of access Address state taken/skipped Physical Virtual address address and operands Emulation record time (ARM/THUMB) 21
24 TARMAC! Text based file! Generated during simulation/emulation! Multiple lines per instruction About 100 bytes per instruction 10 million instructions = ~ 1 gigabyte file! Great facility for short runs (simulation) Impractical for long runs (emulation) State trace debug Veloce Codelink Transactor! Collects data from in and around the processor GP registers Instruction/data bus Debug signals Codelink Processor Logger (SCE-MI pipe) Replay Database! Sends signal data over SCE-MI pipe to host! Host process converts it to replay database Processor/memory state change events 22
25 State trace debug Waveform View SW Debugger Codelink Replay Server Standard GDB RSP interface Replay Database! After emulation, replay database can be used to drive a virtual target Benefits of trace based debug! State of system can be reconstructed to any point in time in the emulation Enabling forward and backward debug operation! The state information can be used to provide a processor trace, like ETM or TARMAC! Debug of the design can be done off-line More on this later 23
26 Trace Debug! Compressed/encoded file used by Codelink (mentor graphic product) logs ~3 bytes per instruction! When running emulation at ~1 MHz and assuming 1 instruction per clock (optimistic) Results in 10 Gbytes per hour of emulation! Too large for long emulations Flight Recorder Mode Tracing Trigger Point Waveforms Processor State User selected buffer size May be larger/smaller than waveform buffers ~15K - ~100K instructions 24
27 Selective Tracing Waveforms Processor State Area of interest Begin log End log Summary! Debug methods JTAG Virtual JTAG Trace based state reproduction! Trace Systems ETM (hardware trace systems) Tarmac (simulation/emulation trace systems) 25
28 SESSION 1 TRADE-OFFS DEBUG AND TRACE When available in design cycle! Debug methods JTAG Virtual JTAG Trace based state reproduction! Trace Systems ETM (hardware trace systems) Tarmac (simulation/emulation trace systems) 26
29 Timeline TARMAC/Codelink JTAG/ETM Prototype FPGA prototype Emulation Simulation Timeline! Codelink/TARMAC Are available as soon as processor is running instructions No practical for FPGA prototypes or live silicon! JTAG/ETM Are available after Coresight is integrated into the design a dfull configured and debugged Often only available late in emulation cycle 27
30 Configuring Coresight! Multiple IP blocks instantiated around the processor core! Programming configuration registers! Defining ROM table Coresight Logic (Multi-core system) 28
31 Coresight ROM Table Capability! Codelink Full debugger view Instruction/data trace! Tarmac Instruction/data trace! JTAG probe Full debugger view Instruction/data trace! ETM Instruction/data trace 29
32 Performance! Codelink 20 to 25 Million instructions per second! JTAG/Probe 1 to 2 Million instructions per second Capacity! Codelink 3 bytes per instruction 1 hour of emulation = 10 Gbytes! ETM Undefined! TARMAC ~150 bytes per instruction 1 minute of emulation = 10 Gbytes! JTAG N/A 30
33 Codelink/Veloce Flight Recorder Mode Trigger Point Waveforms Processor State User selected buffer size May be larger/smaller than waveform buffers ~15K - ~100K instructions Selective Logging Waveforms Processor State Area of interest Begin log End log 31
34 ETM! Provides triggers for enabling or disabling of data collection Facility varies by processor and coresight implementation Intrusiveness! Codelink Completely non-intrusive! TARMAC Completely non-intrusive! ETM Completely non-intrusive! JTAG/Probe Stops processor execution while requiring remainder of design to be clocked Millions of clocks to perform simple operations May impact execution by varying timing of code execution 32
35 JTAG Intrusiveness! A single JTAG transaction takes 150,000 to 200,000 clock cycles Read Register Step Instruction! A high level operation can take over 1,000,000 Step 1 line of code Read several memory locations! Processor is suspended in Debug mode, design continues to be clocked State of ASIC and peripherals may advanced! JTAG introduces non-determinism When you press on a debugger button decides when the operation takes place Number of design clocks run between button pushes will vary This might impact your debug ability Trace of JTAG debugger on Veloce! 5 to 20 clocks of advancing the circuit! 150,000 to 200,000 clocks of JTAG operation 33
36 153,000 clocks of debugger overhead Design Activity Debug Overhead 18 clocks of design activity 34
37 Timeline TARMAC/Codelink JTAG/ETM Prototype FPGA prototype Emulation Simulation SESSION 2 CONCURRENT DEBUG OF MULTIPLE CORES 35
38 Multi-Core Debug! Multi-core problems are synchronization and timing problems Run and debug the code on a single core, using traditional techniques, to address all functional problems! Bare metal level Correlate program artifacts! Process/thread/task level Must resolve process details for correlation Relevant data is not on a per core basis, but is per process/ thread/task Note that processes migrate from core to core over time Time correlation! ETM trace file Time stamps are not global or absolute (unless specifically modified by SoC developer) so files from multiple cores cannot be correlated! TARMAC trace file Timestamps can be used to correlate execution artifacts 36
39 Time correlation! Codelink Automatically correlates times across cores Native debugger displays multiple cores concurrently Advances state across cores correctly Works well at bare metal level, limited support at the process level! JTAG Can stop multiple cores at the same time with cross triggers when implemented in hardware If not, there is no way to stop multiple cores at the same time Cannot correlate state with hardware (hardware advances while processor state is extracted) Most debugger front-ends can only display one core at a time Determinism! Synchronization bugs are non-deterministic! Codelink Within a given trace it will be deterministic and repeat the bug identically Allows systematic analysis of the problem! JTAG May not repeat the bug from run to run One bug may exhibit different symptoms depending on alignment of events making debug harder 37
40 Codelink Debugger View Multi-Core Debug! Debug issues will revolve around Shared data regions Synchronization primitives Locks, semaphores, atomic operations, barriers, etc! Putting watch points on shared data and sync. primitives can give insight need! Adding log (printf) events on the same data may expose patterns leading to the problem! Displaying sync events on a timeline can help 38
41 View Synchronization events over time View process data over time across cores 39
42 Debugging Multi-core! Multiple concurrent interacting state machines Same thing as debugging hardware Similar techniques can be applied! Sourcery Analyzer Shows software events on a timeline Enables hardware like debug for multi-core problems! Codelink databases can be imported into sourcery analyzer to enable multi-core debug Can be time synchronized at the source level back to source views in debugger SESSION 2 CORRELATION OF HW AND SW VIEWS 40
43 Cross Domain Views! JTAG triggering across domains! Codelink cross tool cursors! ETM time stamps! Tarmac time stamps Hardware/Software Correlation 41
44 Processor Trace (Tarmac) View! Trace files can be coordinated with other debugger views! Trace files can be generated from Codelink trace files or native tarmac files can be included Design Visibility Core0 Cache miss counter 42
45 ETM data correlation! ETM data has a 48 bit timestamp Timestamp derivation is implementation dependent By default is relative, not absolute Enables one to determine time differences, but not correlate with other views Some implementations can use higher fidelity/correlated timestamps Ask your SoC developer Tarmac time stamps! Early tarmac files had timestamps But they were not initialized correctly and cannot be used in any way! ARM has fixed this issue and timestamps in tarmac files should match emulation time Waveforms, list outputs and reports may be correlated by timestamp 43
46 SESSION 2 EFFICIENT UTILIZATION OF EMULATION RESOURCES Traditional Debug! Step through code Break on next instruction/line Run for a very short period of time Stop at next instruction/line More time spent stopped than running! Run to a breakpoint Set breakpoint Run Stop at breakpoint State of processor/software explored More time spent stopped than running 44
47 JTAG Debug with Emulation! Software debug is primarily spent examining a stopped system! When an emulator is stopped it is running at 0 MHz One user at a time Off-line Debug with Codelink! Codelink runs jobs to completion, then moves to the next job! The same emulation resource can support 10 times as many software debug sessions Many users at the same time 45
48 Logged output! Most complex software systems have some type of logging system for debug purposes! In simulation/emulation there is usually not a stdout! Codelink enables a virtual console Allowing logging to be used as a debug tool! Use a null printf to maximize performance #define printf null_printf null_printf(format_str, ) { return; } Print output! If a printf routine is part of the source code, resulting print statements can be directed to a terminal window 46
49 Logged output! Add additional printf statements through debugger No need to recompile source No need to re-run emulation! As additional logging is needed, simply add in the debugger! Re-compile and re-emulate only to determine if a code change has corrected a problem If more logging is needed, add it virtually If you need to back up, don t restart, just go backwards! Results in fewer emulations needed to debug a problem Our results show about 1/4 th as many iterations needed Overall efficency! Fewer iterations through the emulator reduces emulation demand by about 75%! Off-line debug reduces emulation demand by a factor of 5 to 10! Conservatively, one design slot on the emulator can support at least 10 software developers concurrently 47
50 Questions/Comments! Thank you for attending 48
Veloce2 the Enterprise Verification Platform. Simon Chen Emulation Business Development Director Mentor Graphics
Veloce2 the Enterprise Verification Platform Simon Chen Emulation Business Development Director Mentor Graphics Agenda Emulation Use Modes Veloce Overview ARM case study Conclusion 2 Veloce Emulation Use
More informationThe Veloce Emulator and its Use for Verification and System Integration of Complex Multi-node SOC Computing System
The Veloce Emulator and its Use for Verification and System Integration of Complex Multi-node SOC Computing System Laurent VUILLEMIN Platform Compile Software Manager Emulation Division Agenda What is
More informationOptimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics
Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics INTRODUCTION Emulators, like Mentor Graphics Veloce, are able to run designs in RTL orders of magnitude faster than logic
More informationValidation Strategies with pre-silicon platforms
Validation Strategies with pre-silicon platforms Shantanu Ganguly Synopsys Inc April 10 2014 2014 Synopsys. All rights reserved. 1 Agenda Market Trends Emulation HW Considerations Emulation Scenarios Debug
More informationFPGA Adaptive Software Debug and Performance Analysis
white paper Intel Adaptive Software Debug and Performance Analysis Authors Javier Orensanz Director of Product Management, System Design Division ARM Stefano Zammattio Product Manager Intel Corporation
More informationDoes FPGA-based prototyping really have to be this difficult?
Does FPGA-based prototyping really have to be this difficult? Embedded Conference Finland Andrew Marshall May 2017 What is FPGA-Based Prototyping? Primary platform for pre-silicon software development
More informationTest and Verification Solutions. ARM Based SOC Design and Verification
Test and Verification Solutions ARM Based SOC Design and Verification 7 July 2008 1 7 July 2008 14 March 2 Agenda System Verification Challenges ARM SoC DV Methodology ARM SoC Test bench Construction Conclusion
More informationKeil uvision development story (Adapted from (Valvano, 2014a))
Introduction uvision has powerful tools for debugging and developing C and Assembly code. For debugging a code, one can either simulate it on the IDE s simulator or execute the code directly on ta Keil
More informationMulti-core microcontroller design with Cortex-M processors and CoreSight SoC
Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Joseph Yiu, ARM Ian Johnson, ARM January 2013 Abstract: While the majority of Cortex -M processor-based microcontrollers are
More information100M Gate Designs in FPGAs
100M Gate Designs in FPGAs Fact or Fiction? NMI FPGA Network 11 th October 2016 Jonathan Meadowcroft, Cadence Design Systems Why in the world, would I do that? ASIC replacement? Probably not! Cost prohibitive
More informationA Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes
A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes Presented at Design Automation Conference (DAC) San Francisco, CA, June 4, 2012. Presented by Chuck Cruse FPGA Hardware
More informationTRACE32. Product Overview
TRACE32 Product Overview Preprocessor Product Portfolio Lauterbach is the world s leading manufacturer of complete, modular microprocessor development tools with 35 years experience in the field of embedded
More informationARM Processors for Embedded Applications
ARM Processors for Embedded Applications Roadmap for ARM Processors ARM Architecture Basics ARM Families AMBA Architecture 1 Current ARM Core Families ARM7: Hard cores and Soft cores Cache with MPU or
More informationExtending Fixed Subsystems at the TLM Level: Experiences from the FPGA World
I N V E N T I V E Extending Fixed Subsystems at the TLM Level: Experiences from the FPGA World Frank Schirrmeister, Steve Brown, Larry Melling (Cadence) Dave Beal (Xilinx) Agenda Virtual Platforms Xilinx
More informationStrato and Strato OS. Justin Zhang Senior Applications Engineering Manager. Your new weapon for verification challenge. Nov 2017
Strato and Strato OS Your new weapon for verification challenge Justin Zhang Senior Applications Engineering Manager Nov 2017 Emulation Market Evolution Emulation moved to Virtualization with Veloce2 Data
More informationSoftware Driven Verification at SoC Level. Perspec System Verifier Overview
Software Driven Verification at SoC Level Perspec System Verifier Overview June 2015 IP to SoC hardware/software integration and verification flows Cadence methodology and focus Applications (Basic to
More information_ V Renesas R8C In-Circuit Emulation. Contents. Technical Notes
_ V9.12. 225 Technical Notes Renesas R8C In-Circuit Emulation This document is intended to be used together with the CPU reference manual provided by the silicon vendor. This document assumes knowledge
More informationSYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS
SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS Embedded System System Set of components needed to perform a function Hardware + software +. Embedded Main function not computing Usually not autonomous
More informationEarly Software Development Through Emulation for a Complex SoC
Early Software Development Through Emulation for a Complex SoC FTF-NET-F0204 Raghav U. Nayak Senior Validation Engineer A P R. 2 0 1 4 TM External Use Session Objectives After completing this session you
More informationNext Generation Verification Process for Automotive and Mobile Designs with MIPI CSI-2 SM Interface
Thierry Berdah, Yafit Snir Next Generation Verification Process for Automotive and Mobile Designs with MIPI CSI-2 SM Interface Agenda Typical Verification Challenges of MIPI CSI-2 SM designs IP, Sub System
More informationYafit Snir Arindam Guha Cadence Design Systems, Inc. Accelerating System level Verification of SOC Designs with MIPI Interfaces
Yafit Snir Arindam Guha, Inc. Accelerating System level Verification of SOC Designs with MIPI Interfaces Agenda Overview: MIPI Verification approaches and challenges Acceleration methodology overview and
More informationNS115 System Emulation Based on Cadence Palladium XP
NS115 System Emulation Based on Cadence Palladium XP wangpeng 新岸线 NUFRONT Agenda Background and Challenges Porting ASIC to Palladium XP Software Environment Co Verification and Power Analysis Summary Background
More informationOn-Chip Debugging of Multicore Systems
Nov 1, 2008 On-Chip Debugging of Multicore Systems PN115 Jeffrey Ho AP Technical Marketing, Networking Systems Division of Freescale Semiconductor, Inc. All other product or service names are the property
More informationDesigning Embedded Processors in FPGAs
Designing Embedded Processors in FPGAs 2002 Agenda Industrial Control Systems Concept Implementation Summary & Conclusions Industrial Control Systems Typically Low Volume Many Variations Required High
More informationSupport for RISC-V. Lauterbach GmbH. Bob Kupyn Lauterbach Markus Goehrle - Lauterbach GmbH
Company Lauterbach Profile Debug Support for RISC-V Lauterbach GmbH Bob Kupyn Lauterbach USA @2016 Markus Goehrle - Lauterbach GmbH Leading Manufacturer of Microprocessor Development Tools Founded in 1979
More informationSoftware Quality is Directly Proportional to Simulation Speed
Software Quality is Directly Proportional to Simulation Speed CDNLive! 11 March 2014 Larry Lapides Page 1 Software Quality is Directly Proportional to Test Speed Intuitively obvious (so my presentation
More informationMCUXpresso IDE Instruction Trace Guide. Rev May, 2018 User guide
MCUXpresso IDE Instruction Trace Guide User guide 14 May, 2018 Copyright 2018 NXP Semiconductors All rights reserved. ii 1. Trace Overview... 1 1.1. Instruction Trace Overview... 1 1.1.1. Supported Targets...
More informationDoCD IP Core. DCD on Chip Debug System v. 6.02
2018 DoCD IP Core DCD on Chip Debug System v. 6.02 C O M P A N Y O V E R V I E W Digital Core Design is a leading IP Core provider and a System-on-Chip design house. The company was founded in 1999 and
More informationThe Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006
The Use Of Virtual Platforms In MP-SoC Design Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 1 MPSoC Is MP SoC design happening? Why? Consumer Electronics Complexity Cost of ASIC Increased SW Content
More informationDesigning with ALTERA SoC Hardware
Designing with ALTERA SoC Hardware Course Description This course provides all theoretical and practical know-how to design ALTERA SoC devices under Quartus II software. The course combines 60% theory
More informationVerifying big.little using the Palladium XP. Deepak Venkatesan Murtaza Johar ARM India
Verifying big.little using the Palladium XP Deepak Venkatesan Murtaza Johar ARM India 1 Agenda PART 1 big.little overview What is big.little? ARM Functional verification methodology System Validation System
More informationRM3 - Cortex-M4 / Cortex-M4F implementation
Formation Cortex-M4 / Cortex-M4F implementation: This course covers both Cortex-M4 and Cortex-M4F (with FPU) ARM core - Processeurs ARM: ARM Cores RM3 - Cortex-M4 / Cortex-M4F implementation This course
More informationPerformance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models. Jason Andrews
Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models Jason Andrews Agenda System Performance Analysis IP Configuration System Creation Methodology: Create,
More informationPractical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim
Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim Ray Duran Staff Design Specialist FAE, Altera Corporation 408-544-7937
More informationThe Challenges of System Design. Raising Performance and Reducing Power Consumption
The Challenges of System Design Raising Performance and Reducing Power Consumption 1 Agenda The key challenges Visibility for software optimisation Efficiency for improved PPA 2 Product Challenge - Software
More informationHardware Software Bring-Up Solutions for ARM v7/v8-based Designs. August 2015
Hardware Software Bring-Up Solutions for ARM v7/v8-based Designs August 2015 SPMI USB 2.0 SLIMbus RFFE LPDDR 2 LPDDR 3 emmc 4.5 UFS SD 3.0 SD 4.0 UFS Bare Metal Software DSP Software Bare Metal Software
More informationCONSIDERATIONS FOR THE DESIGN OF A REUSABLE SOC HARDWARE/SOFTWARE
1 2 3 CONSIDERATIONS FOR THE DESIGN OF A REUSABLE SOC HARDWARE/SOFTWARE DEVELOPMENT BOARD Authors: Jonah Probell and Andy Young, design engineers, Lexra, Inc. 4 5 6 7 8 9 A Hardware/Software Development
More informationCreating hybrid FPGA/virtual platform prototypes
Creating hybrid FPGA/virtual platform prototypes Know how to use the PCIe-over-Cabling interface in its HAPS-60-based system to create a new class of hybrid prototypes. By Troy Scott Product Marketing
More informationDQ8051. Revolutionary Quad-Pipelined Ultra High performance 8051 Microcontroller Core
DQ8051 Revolutionary Quad-Pipelined Ultra High performance 8051 Microcontroller Core COMPANY OVERVIEW Digital Core Design is a leading IP Core provider and a System-on-Chip design house. The company was
More informationA Seamless Tool Access Architecture from ESL to End Product
A Seamless Access Architecture from ESL to End Product Albrecht Mayer Infineon Technologies AG, 81726 Munich, Germany albrecht.mayer@infineon.com Abstract access to processor cores is needed from the first
More informationThe Nios II Family of Configurable Soft-core Processors
The Nios II Family of Configurable Soft-core Processors James Ball August 16, 2005 2005 Altera Corporation Agenda Nios II Introduction Configuring your CPU FPGA vs. ASIC CPU Design Instruction Set Architecture
More informationTN0132 Technical note
Technical note STM32 Serial Wire Viewer and ETM capabilities with EWARM 5.40 and MDK-ARM 3.70 Introduction This document presents Serial Wire Viewer (SWV) and Embedded Trace Macrocell (ETM) capabilities
More informationThe Design of a Debugger Unit for a RISC Processor Core
Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 3-2018 The Design of a Debugger Unit for a RISC Processor Core Nikhil Velguenkar nv8840@rit.edu Follow this and
More informationSystem Debugging Tools Overview
9 QII53027 Subscribe About Altera System Debugging Tools The Altera system debugging tools help you verify your FPGA designs. As your product requirements continue to increase in complexity, the time you
More informationSoftware Design Challenges for heterogenic SOC's
Software Design Challenges for heterogenic SOC's René Janssen, Product manager Logic Technology 1 Agenda 1. Advantages of heterogenous devices 2. How to manage inter-processor communication 3. Example
More informationESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)
ESE Back End 2.0 D. Gajski, S. Abdi (with contributions from H. Cho, D. Shin, A. Gerstlauer) Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu 1 Technology advantages
More informationVerification Futures Nick Heaton, Distinguished Engineer, Cadence Design Systems
Verification Futures 2016 Nick Heaton, Distinguished Engineer, Cadence Systems Agenda Update on Challenges presented in 2015, namely Scalability of the verification engines The rise of Use-Case Driven
More informationUniversität Dortmund. ARM Architecture
ARM Architecture The RISC Philosophy Original RISC design (e.g. MIPS) aims for high performance through o reduced number of instruction classes o large general-purpose register set o load-store architecture
More informationRM4 - Cortex-M7 implementation
Formation Cortex-M7 implementation: This course covers the Cortex-M7 V7E-M compliant CPU - Processeurs ARM: ARM Cores RM4 - Cortex-M7 implementation This course covers the Cortex-M7 V7E-M compliant CPU
More informationOptimizing ARM SoC s with Carbon Performance Analysis Kits. ARM Technical Symposia, Fall 2014 Andy Ladd
Optimizing ARM SoC s with Carbon Performance Analysis Kits ARM Technical Symposia, Fall 2014 Andy Ladd Evolving System Requirements Processor Advances big.little Multicore Unicore DSP Cortex -R7 Block
More informationManaging Complex Trace Filtering and Triggering Capabilities of CoreSight. Jens Braunes pls Development Tools
Managing Complex Trace Filtering and Triggering Capabilities of CoreSight Jens Braunes pls Development Tools Outline 2 Benefits and challenges of on-chip trace The evolution of embedded systems and the
More informationSimplifying the Development and Debug of 8572-Based SMP Embedded Systems. Wind River Workbench Development Tools
Simplifying the Development and Debug of 8572-Based SMP Embedded Systems Wind River Workbench Development Tools Agenda Introducing multicore systems Debugging challenges of multicore systems Development
More informationECE332, Week 2, Lecture 3. September 5, 2007
ECE332, Week 2, Lecture 3 September 5, 2007 1 Topics Introduction to embedded system Design metrics Definitions of general-purpose, single-purpose, and application-specific processors Introduction to Nios
More informationECE332, Week 2, Lecture 3
ECE332, Week 2, Lecture 3 September 5, 2007 1 Topics Introduction to embedded system Design metrics Definitions of general-purpose, single-purpose, and application-specific processors Introduction to Nios
More informationEmbedded Linux kernel and driver development training 5-day session
Embedded Linux kernel and driver development training 5-day session Title Embedded Linux kernel and driver development training Overview Understanding the Linux kernel Developing Linux device drivers Linux
More informationMPLAB SIM. MPLAB IDE Software Simulation Engine Microchip Technology Incorporated MPLAB SIM Software Simulation Engine
MPLAB SIM MPLAB IDE Software Simulation Engine 2004 Microchip Technology Incorporated MPLAB SIM Software Simulation Engine Slide 1 Welcome to this web seminar on MPLAB SIM, the software simulator that
More information_ V Intel 8085 Family In-Circuit Emulation. Contents. Technical Notes
_ V9.12. 225 Technical Notes Intel 8085 Family In-Circuit Emulation This document is intended to be used together with the CPU reference manual provided by the silicon vendor. This document assumes knowledge
More informationImplementing debug. and trace access. through functional I/O. Alvin Yang Staff FAE. Arm Tech Symposia Arm Limited
Implementing debug and trace access through functional I/O Alvin Yang Staff FAE Arm Tech Symposia 2017 Agenda Debug and trace access limitations A new approach Protocol based Bare metal vs mission mode
More informationS2C K7 Prodigy Logic Module Series
S2C K7 Prodigy Logic Module Series Low-Cost Fifth Generation Rapid FPGA-based Prototyping Hardware The S2C K7 Prodigy Logic Module is equipped with one Xilinx Kintex-7 XC7K410T or XC7K325T FPGA device
More informationProgramming in the MAXQ environment
AVAILABLE The in-circuit debugging and program-loading features of the MAXQ2000 microcontroller combine with IAR s Embedded Workbench development environment to provide C or assembly-level application
More informationStrongARM** SA-110/21285 Evaluation Board
StrongARM** SA-110/21285 Evaluation Board Brief Datasheet Product Features Intel offers a StrongARM** SA-110/21285 Evaluation Board (EBSA-285) that provides a flexible hardware environment to help manufacturers
More informationIntroduction to LEON3, GRLIB
Introduction to LEON3, GRLIB Adi Katav akatav@kaltech.co.il 6201129 4(0) 972+ Ext 101 Introduction to LEON3, GRLIB Few words about KAL: KAL provides professional ASIC consultancy for Digital/Analog ASIC
More informationIt's not about the core, it s about the system
It's not about the core, it s about the system Gajinder Panesar, CTO, UltraSoC gajinder.panesar@ultrasoc.com RISC-V Workshop 18 19 July 2018 Chennai, India Overview Architecture overview Example Scenarios
More informationThe Embedded computing platform. Four-cycle handshake. Bus protocol. Typical bus signals. Four-cycle example. CPU bus.
The Embedded computing platform CPU bus. Memory. I/O devices. CPU bus Connects CPU to: memory; devices. Protocol controls communication between entities. Bus protocol Determines who gets to use the bus
More informationZeBu : A Unified Verification Approach for Hardware Designers and Embedded Software Developers
THE FASTEST VERIFICATION ZeBu : A Unified Verification Approach for Hardware Designers and Embedded Software Developers White Paper April, 2010 www.eve-team.com Introduction Moore s law continues to drive
More informationWS_CCESBF7-OUT-v1.00.doc Page 1 of 8
Course Name: Course Code: Course Description: System Development with CrossCore Embedded Studio (CCES) and the ADSP-BF70x Blackfin Processor Family WS_CCESBF7 This is a practical and interactive course
More informationEmploying Multi-FPGA Debug Techniques
Employing Multi-FPGA Debug Techniques White Paper Traditional FPGA Debugging Methods Debugging in FPGAs has been difficult since day one. Unlike simulation where designers can see any signal at any time,
More informationUsing Virtual Platforms To Improve Software Verification and Validation Efficiency
Using Virtual Platforms To Improve Software Verification and Validation Efficiency Odin Shen Staff FAE Arm Arm Tech Symposia Taiwan 2017 Software complexity and best practices Software Costs Increasing
More informationXDS560 Trace. Technology Showcase. Daniel Rinkes Texas Instruments
XDS560 Trace Technology Showcase Daniel Rinkes Texas Instruments Agenda AET / XDS560 Trace Overview Interrupt Profiling Statistical Profiling Thread Aware Profiling Thread Aware Dynamic Call Graph Agenda
More information_ V ST STM8 Family On-Chip Emulation. Contents. Technical Notes
_ V9.12. 225 Technical Notes ST STM8 Family On-Chip Emulation This document is intended to be used together with the CPU reference manual provided by the silicon vendor. This document assumes knowledge
More informationENABLING A NEW PARADIGM OF SYSTEM-LEVEL DEBUG PRODUCTIVITY WHILE MAINTAINING FULL IN-CIRCUIT EMULATION PERFORMANCE. CDNLive! Silicon Valley 2012
ENABLING A NEW PARADIGM OF SYSTEM-LEVEL DEBUG PRODUCTIVITY WHILE MAINTAINING FULL IN-CIRCUIT EMULATION PERFORMANCE CDNLive! Silicon Valley 2012 Alex Starr March 13, 2012 INTRODUCTION About the author Alex
More informationV8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs
V8-uRISC 8-bit RISC Microprocessor February 8, 1998 Product Specification VAutomation, Inc. 20 Trafalgar Square Nashua, NH 03063 Phone: +1 603-882-2282 Fax: +1 603-882-1587 E-mail: sales@vautomation.com
More informationEEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools
EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools Wen-Yen Lin, Ph.D. Department of Electrical Engineering Chang Gung University Email: wylin@mail.cgu.edu.tw March 2013 Agenda Introduction
More informationHigh Speed Multi-User ASIC/SoC Prototyping system
High Speed Multi-User ASIC/SoC Prototyping system Technical Resource Document Date: August 23, 2010 About GiDEL GiDEL has become one of the market leaders as a company that continuously provides cuttingedge
More informationRon Emerick, Oracle Corporation
PCI Express PRESENTATION Virtualization TITLE GOES HERE Overview Ron Emerick, Oracle Corporation SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted.
More informationSoC Design Environment with Automated Configurable Bus Generation for Rapid Prototyping
SoC esign Environment with utomated Configurable Bus Generation for Rapid Prototyping Sang-Heon Lee, Jae-Gon Lee, Seonpil Kim, Woong Hwangbo, Chong-Min Kyung P PElectrical Engineering epartment, KIST,
More informationEffective Verification of ARM SoCs
Effective Verification of ARM SoCs Ron Larson, Macrocad Development Inc. Dave Von Bank, Posedge Software Inc. Jason Andrews, Axis Systems Inc. Overview System-on-chip (SoC) products are becoming more common,
More informationECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego
Advanced Digital Winter, 2009 ECE Department UC San Diego dey@ece.ucsd.edu http://esdat.ucsd.edu Winter 2009 Advanced Digital Objective: of a hardware-software embedded system using advanced design methodologies
More informationUsing the Agilent Technologies Series Logic Analysis System with the Xilinx ChipScope ILA
Using the Agilent Technologies 16700 Series Logic Analysis System with the Xilinx ChipScope ILA Product Note This product note describes the ability to combine internal and external logic analysis traces
More informationCOMPUTER ORGANIZATION AND DESI
COMPUTER ORGANIZATION AND DESIGN 5 Edition th The Hardware/Software Interface Chapter 4 The Processor 4.1 Introduction Introduction CPU performance factors Instruction count Determined by ISA and compiler
More informationCopyright 2016 Xilinx
Zynq Architecture Zynq Vivado 2015.4 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Identify the basic building
More informationCombining Arm & RISC-V in Heterogeneous Designs
Combining Arm & RISC-V in Heterogeneous Designs Gajinder Panesar, CTO, UltraSoC gajinder.panesar@ultrasoc.com RISC-V Summit 3 5 December 2018 Santa Clara, USA Problem statement Deterministic multi-core
More informationUAD2 + Universal Access Device2 plus
UAD2 + Universal Access Device2 plus The access to the whole choice of C166, XC166, XC2000, XE166, C166CBC, C166S V2, TriCore, PowerPC, ST30, STR7, ARM7, ARM9, ARM11, XScale, SH-2A derivatives is supported
More informationGetting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05
Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop Version 1.05 Agenda Introduction to ARM Cortex Cortex -M4F M4F and Peripherals Code Composer Studio Introduction to StellarisWare, I iti
More informationLecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT
1 Lecture 5: Computing Platforms Asbjørn Djupdal ARM Norway, IDI NTNU 2013 2 Lecture overview Bus based systems Timing diagrams Bus protocols Various busses Basic I/O devices RAM Custom logic FPGA Debug
More informationNexus Instrumentation architectures and the new Debug Specification
Nexus 5001 - Instrumentation architectures and the new Debug Specification Neal Stollon, HDL Dynamics Chairman, Nexus 5001 Forum neals@hdldynamics.com nstollon@nexus5001.org HDL Dynamics SoC Solutions
More informationAssembling and Debugging VPs of Complex Cycle Accurate Multicore Systems. July 2009
Assembling and Debugging VPs of Complex Cycle Accurate Multicore Systems July 2009 Model Requirements in a Virtual Platform Control initialization, breakpoints, etc Visibility PV registers, memories, profiling
More informationProfiling and Debugging OpenCL Applications with ARM Development Tools. October 2014
Profiling and Debugging OpenCL Applications with ARM Development Tools October 2014 1 Agenda 1. Introduction to GPU Compute 2. ARM Development Solutions 3. Mali GPU Architecture 4. Using ARM DS-5 Streamline
More informationPost processing techniques to accelerate assertion development Ajay Sharma
Post processing techniques to accelerate assertion development Ajay Sharma 2014 Synopsys, Inc. All rights reserved. 1 Agenda Introduction to Assertions Traditional flow for using ABV in Simulations/Emulation/Prototyping
More informationGetting Started with Red Trace
Getting Started with Red Trace Getting Started with Red Trace Red Suite 5 Version 5.1.2 Getting Started with Red Trace 16 April, 2013 Copyright 2012-2013 Code Red Technologies, Inc All rights reserved.
More informationModeling Performance Use Cases with Traffic Profiles Over ARM AMBA Interfaces
Modeling Performance Use Cases with Traffic Profiles Over ARM AMBA Interfaces Li Chen, Staff AE Cadence China Agenda Performance Challenges Current Approaches Traffic Profiles Intro Traffic Profiles Implementation
More informationAtmel Exploits FPGA Flexibility in Application Development for Customizable Microcontroller-based Systems Peter Bishop, Atmel Corporation 22-Dec-2008
Atmel Exploits Flexibility in Application Development for Customizable Microcontrollerbased Peter Bishop, Atmel Corporation 22Dec2008 Introduction Designing an embedded microcontrollerbased system poses
More informationRenesas 78K/78K0R/RL78 Family In-Circuit Emulation
_ Technical Notes V9.12.225 Renesas 78K/78K0R/RL78 Family In-Circuit Emulation This document is intended to be used together with the CPU reference manual provided by the silicon vendor. This document
More informationFigure 1: Target environment includes peripherals.
Virtualization Delivers Total Verification of SoC Hardware, Software, and Interfaces by Jim Kenney, Marketing Director, Emulation Division, Mentor Graphics With the majority of designs today containing
More informationEmbedded Software Dynamic Analysis. A new life for the Virtual Platform
Embedded Software Dynamic Analysis A new life for the Virtual Platform The Software Part of HW/SW Co-Design Integrated with DA flow: regression and up-to-date interfaces Simultaneous development and test
More informationDigital Systems Design. System on a Programmable Chip
Digital Systems Design Introduction to System on a Programmable Chip Dr. D. J. Jackson Lecture 11-1 System on a Programmable Chip Generally involves utilization of a large FPGA Large number of logic elements
More informationSystem-on-Chip Architecture for Mobile Applications. Sabyasachi Dey
System-on-Chip Architecture for Mobile Applications Sabyasachi Dey Email: sabyasachi.dey@gmail.com Agenda What is Mobile Application Platform Challenges Key Architecture Focus Areas Conclusion Mobile Revolution
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
NIOS CPU Based Embedded Computer System on Programmable Chip 1 Lab Objectives EE8205: Embedded Computer Systems NIOS-II SoPC: PART-I This lab has been constructed to introduce the development of dedicated
More informationVirtual Platform Software Simulation for Enhanced Multi-core Software Verification
Virtual Platform Software Simulation for Enhanced Multi-core Software Verification Simon Davidmann Company: Imperas Software Ltd, 17 March 2014 Event: TVS Software Testing Location: UWE Conference Centre,
More informationWelcome to the Future of Industrial Communication. Introducing the netx Family of Controllers by Hilscher
Welcome to the Future of Industrial Communication Introducing the netx Family of Controllers by Hilscher netx: ONE CONTROLLER FOR EVERY NETWORK THE FUTURE OF AUTOMATION WILL CENTER ON YOUR ABILITY TO OPTIMIZE
More information