Test and Verification Solutions. ARM Based SOC Design and Verification

Similar documents
Designing with ALTERA SoC Hardware

Veloce2 the Enterprise Verification Platform. Simon Chen Emulation Business Development Director Mentor Graphics

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Software Driven Verification at SoC Level. Perspec System Verifier Overview

Early Software Development Through Emulation for a Complex SoC

The Veloce Emulator and its Use for Verification and System Integration of Complex Multi-node SOC Computing System

Designing with ALTERA SoC

Copyright 2014 Xilinx

Validation Strategies with pre-silicon platforms

Introduction to the Qsys System Integration Tool

Introduction to Embedded System Design using Zynq

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

An approach to accelerate UVM based verification environment

Does FPGA-based prototyping really have to be this difficult?

100M Gate Designs in FPGAs

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)

Effective Verification of ARM SoCs

Copyright 2016 Xilinx

Qualification of Verification Environments Using Formal Techniques

Modeling Performance Use Cases with Traffic Profiles Over ARM AMBA Interfaces

Designing Embedded Processors in FPGAs

)8-,768'HY.LW 2YHUYLHZ. )XMLWVX0LNURHOHNWURQLN*PE+ Am Siebenstein Dreieich-Buchschlag, Germany

Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models. Jason Andrews

Assertion Based Verification of AMBA-AHB Using System Verilog

Next Generation Verification Process for Automotive and Mobile Designs with MIPI CSI-2 SM Interface

ARM Processors for Embedded Applications

StrongARM** SA-110/21285 Evaluation Board

ADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts

Using Virtual Platforms To Improve Software Verification and Validation Efficiency

Extending Fixed Subsystems at the TLM Level: Experiences from the FPGA World

Responding to TAT Improvement Challenge through Testbench Configurability and Re-use

NS115 System Emulation Based on Cadence Palladium XP

Hardware Software Bring-Up Solutions for ARM v7/v8-based Designs. August 2015

Designing with Nios II Processor for Hardware Engineers

ASIC Logic. Speaker: Juin-Nan Liu. Adopted from National Chiao-Tung University IP Core Design

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC

Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics

Practical Approaches to Formal Verification. Mike Bartley, TVS

Formal for Everyone Challenges in Achievable Multicore Design and Verification. FMCAD 25 Oct 2012 Daryl Stewart

SoC Verification Strategies for Embedded Systems Design

S2C K7 Prodigy Logic Module Series

INDUSTRIAL TRAINING: 6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD

DO-254 Testing of High Speed FPGA Interfaces by Nir Weintroub, CEO, and Sani Jabsheh, Verisense

Yafit Snir Arindam Guha Cadence Design Systems, Inc. Accelerating System level Verification of SOC Designs with MIPI Interfaces

Virtual PLATFORMS for complex IP within system context

Leveraging Formal Verification Throughout the Entire Design Cycle

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim

Optimizing ARM SoC s with Carbon Performance Analysis Kits. ARM Technical Symposia, Fall 2014 Andy Ladd

Revolutioni W zi h Wn e hgn e n F a Mi i s liu lsir u e ro e Cri I ti s Ic N al o t V A e n ri n O fi p c ti a o ti n oo

Agile Hardware Design: Building Chips with Small Teams

The Challenges of System Design. Raising Performance and Reducing Power Consumption

Fujitsu System Applications Support. Fujitsu Microelectronics America, Inc. 02/02

Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience

ZeBu : A Unified Verification Approach for Hardware Designers and Embedded Software Developers

Creating hybrid FPGA/virtual platform prototypes

Rad-Hard Microcontroller For Space Applications

Effective System Design with ARM System IP

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT

Accelerating RTL Simulation Techniques by Lior Grinzaig, Verification Engineer, Marvell Semiconductor Ltd.

MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증

A Seamless Tool Access Architecture from ESL to End Product

WS_CCESBF7-OUT-v1.00.doc Page 1 of 8

Basic ARM Modules and Systems

Vertical Reuse of functional verification from subsystem to SoC level (with seamless SoC emulation)

Glossary. AHDL A Hardware Description Language, such as Verilog-A, SpectreHDL, or VHDL-A, used to describe analog designs.

ECE 448 Lecture 15. Overview of Embedded SoC Systems

VERIFICATION OF AHB PROTOCOL USING SYSTEM VERILOG ASSERTIONS

Rapidly Developing Embedded Systems Using Configurable Processors

SimXMD Simulation-based HW/SW Co-debugging for field-programmable Systems-on-Chip

DRAFT. Joined up debugging and analysis in the RISC-V world RISC-V Workshop November DRAFT

SoC Design Environment with Automated Configurable Bus Generation for Rapid Prototyping

Zynq Architecture, PS (ARM) and PL

Product Series SoC Solutions Product Series 2016

Alligator_OS: An embedded OS. Adrian Alonso January 2011

A comprehensive approach to scalable framework for both vertical and horizontal reuse in UVM verification

Designing, developing, debugging ARM Cortex-A and Cortex-M heterogeneous multi-processor systems

System-on-a-Programmable-Chip (SOPC) Development Board

FPQ6 - MPC8313E implementation

System-on-Chip Architecture for Mobile Applications. Sabyasachi Dey

Verification Futures The next three years. February 2015 Nick Heaton, Distinguished Engineer

FPGA Adaptive Software Debug and Performance Analysis

AN OPEN-SOURCE VHDL IP LIBRARY WITH PLUG&PLAY CONFIGURATION

FPGA chip verification using UVM

The CoreConnect Bus Architecture

Place Your Logo Here. K. Charles Janac

It's not about the core, it s about the system

SoC Systeme ultra-schnell entwickeln mit Vivado und Visual System Integrator

SimXMD: Simulation-based HW/SW Co-Debugging for FPGA Embedded Systems

SimXMD Co-Debugging Software and Hardware in FPGA Embedded Systems

In Circuit Emulators. In-Circuit Emulators.

9. Verification and Board Bring-Up

New System Solutions for Laser Printer Applications by Oreste Emanuele Zagano STMicroelectronics

The Design of a Debugger Unit for a RISC Processor Core

Configurable Processors for SOC Design. Contents crafted by Technology Evangelist Steve Leibson Tensilica, Inc.

V8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

Design, Verification and Emulation of an Island-Based Network Flow Processor

Introduction. White Paper. Author

Microcontrollers Applications within Thales Alenia Space products

Transcription:

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 Q&A

7 July 2008 14 March 3 System Verification Challenges High Potential Bug Areas in SoC Unexpected access conflict between the shared resources. Complexities arising out of interaction between subsystems which were verified stand alone. Cache coherency in multi-core system. Interrupt connectivity and Priority scheme. Arbitration priority related issues and access dead-locks. Unexpected HW/SW sequencing. Exception handling conflicts and priority scheme. Multiple power domain region, clock domain crossing. Multiple reset and clock region.

7 July 2008 14 March 4 ARM Based SoC Architecture Debug & Trace ARM Boot ROM Test I/F Controller Boot Config ARM Core High Speed Pheripheral PLL TIMER External Bus Interface ARM Interconnect DMA Controller Memory SubSystem DDR Cntrl SRAM Cntrl On Chip Memory Bridge UART I2C GPIO Low Speed Pheripheral

7 July 2008 14 March 5 ARM SoC DV Methodology This session describe the current verification methodology used in SoC verification. Formal Verification Hardware Software Co Verification FPGA Prototyping

Formal Verification Formal verification is a systematic process that uses mathematical reasoning to verify the design. Formal verification works algorithmically and exhaustively explores all possible input values over time. It is sometimes difficult to figure out how stimulate the design or create multiple scenarios to high observability to do that formal will come into the picture. 7 July 2008 14 March 6

7 July 2008 14 March 7 Formal Verification Typical Formal Verification Flow-1 ARM Core ARM Interconnect(PL301) IP IP

7 July 2008 14 March 8 Formal Verification Typical Formal Verification Flow -2 ARM Core Master side Port binding Model Checking engine ARM Interconnect(PL301) Score Board Slave side Port binding IP

7 July 2008 14 March 9 Formal Verification Below is the technique to verify the AXI interface using formal verification tools Construct the CSV file to describing the registers. Runs the conversation script to generate the SVAs. Bind the proof kit to DUT, run the tools to read DUT and SVAs. Prove and Analyse the tool results and logs.

Formal Verification Property Check Develop a formal specification of the AXI protocol. Various kinds of components >1 Masters Slave(s) Example:- property (@(posedge ACLK) disable iff (!ARESETn) (ARVALID) =>##n ( RVALID); End property; 7 July 2008 14 March 10

7 July 2008 14 March 11 Formal Verification Example: Connectivity/Integrity check connect {clk_in} "CORTEX.CLK" \ connect {clk_out} "SOC.CLK" \ connect {valid_in} "CORTEX.AWVALID && CORTEX.AWREADY \ connect {valid_out} "SOC.AWVALID && SOC.AWREADY"

7 July 2008 14 March 12 Formal Verification Limitations of Formal Size limit Not always feasible Good for control checking but not for data

7 July 2008 14 March 13 Hardware Software Co Verification In SoC verification, co-simulation provide the facility to verifying hardware and software functionality together. The ability to achieve first silicon and first software success relies on the capabilities of a verification environment to support full-system hardware/software coverification. Software engineer to access hardware design to integrate software functionality with hardware. Hardware engineer by providing additional stimulus.

7 July 2008 14 March 14 Hardware Software Co-Verification Flow Software Environment Hardware Environment SW Tools (Compiler, Linker, Debugger) Executable Object file HDL Simulation Tools DUT Memory Model Output for debugger tools

7 July 2008 14 March 15 FPGA Prototyping It allows faster simulation and close to real time operation performance which would help in identifying bugs. Comprehensive Verification, Integrated hardware-software testing. Provides rapid debug capability through JTAG and specialized debug infrastructure which is built in to the FPGA.

7 July 2008 14 March 16 FPGA Prototyping Microprocessor evaluation board with logic simulation Microprocessor evaluation board Inter-Processor Communication (socket) Bus Transaction read/write BFM Logic Simulation With Hardware Design

7 July 2008 14 March 17 FPGA Prototyping Limitations Many FPGAs are required for SoC partitioning, leading to prototype system complexity Only synthesizable modules can be mapped into an FPGA and run for debugging. Unable to partition multiple clocks and reset trees. FPGA provides limited debug capability and visibility during single iteration and hence multiple iterations may be required to narrow down to the specific bug.

7 July 2008 14 March 18 ARM SoC Test Bench Construction The system verification environment planned in a way such that it is able to classify the functionality in terms of active and passive components SoC Verification Env ARM ARM Core ARM Core Core Emulation Pins other Pins TB TB configuration DUT Resets clocks Active BFM Active BFM Active BFM Active BFM Active BFM Passive BFM

7 July 2008 14 March 19 Active component An active component can be synthesizable or behavioral, typically modeling functionalities required for supporting the DUT. Active component can interact with DUT and influences behavior of DUT. Passive component Passive components are observers in Test bench which does not influence DUT behavior. Passive component are usually behavioral model, extracting information and validating the correctness of design behavior.

7 July 2008 14 March 20 Conclusion As with the growing complexity of SoC designs, verification strategies should evolve and mature enough to handle the complex challenges of identifying bugs and functional issue. A robust verification environment planning which starts as early as the design phase coupled with thoughtful usage of latest tools and verification technologies, which help in achieving the desired quality objective.

7 July 2008 14 March 21 Q&A Q&A