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

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

Tutorial M02. Software Debug on ARM Processors in Emulation. March 24, 2014

100M Gate Designs in FPGAs

Test and Verification Solutions. ARM Based SOC Design and Verification

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

Validation Strategies with pre-silicon platforms

Strato and Strato OS. Justin Zhang Senior Applications Engineering Manager. Your new weapon for verification challenge. Nov 2017

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

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

NS115 System Emulation Based on Cadence Palladium XP

Will Everything Start To Look Like An SoC?

Early Software Development Through Emulation for a Complex SoC

Will Everything Start To Look Like An SoC?

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

Hardware Modelling. Design Flow Overview. ECS Group, TU Wien

Graph-Based Verification in a UVM Environment

Software Driven Verification at SoC Level. Perspec System Verifier Overview

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

S2C K7 Prodigy Logic Module Series

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

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

Efficient use of Virtual Prototypes in HW/SW Development and Verification

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

Verification Futures Nick Heaton, Distinguished Engineer, Cadence Design Systems

SoC Verification Strategies for Embedded Systems Design

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

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

Accelerating Networking Products to Market by Lauro Rizzatti, Rizzatti LLC

Figure 1: Target environment includes peripherals.

Digital Design Methodology

Designing with ALTERA SoC Hardware

Creating hybrid FPGA/virtual platform prototypes

High Speed Multi-User ASIC/SoC Prototyping system

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Introduction. White Paper. Author

HW & SW co-verification of baseband HSPA Processor with Seamless PSP

Digital Design with FPGAs. By Neeraj Kulkarni

Testbench and Simulation

The SOCks Design Platform. Johannes Grad

Lorenz Kolb, Missing Link Electronics

FPGA: What? Why? Marco D. Santambrogio

Verifying big.little using the Palladium XP. Deepak Venkatesan Murtaza Johar ARM India

ADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts

Hardware/Software Co-Verification Using the SystemVerilog DPI

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

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

Fujitsu SOC Fujitsu Microelectronics America, Inc.

The Nios II Family of Configurable Soft-core Processors

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

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

Qsys and IP Core Integration

RISC-V based core as a soft processor in FPGAs Chowdhary Musunuri Sr. Director, Solutions & Applications Microsemi

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

Hardware Design and Simulation for Verification

LSN 1 Digital Design Flow for PLDs

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

Code Generation for QEMU-SystemC Cosimulation from SysML

Designing Embedded Processors in FPGAs

World Class Verilog & SystemVerilog Training

Transaction-Based Acceleration Strong Ammunition In Any Verification Arsenal

INDUSTRIAL TRAINING: 6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD

Overview of Microcontroller and Embedded Systems

An approach to accelerate UVM based verification environment

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

Contents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)

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

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

Finite State Machines

Final Presentation. Network on Chip (NoC) for Many-Core System on Chip in Space Applications. December 13, 2017

Platform for System LSI Development

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.

Place Your Logo Here. K. Charles Janac

LEON4: Fourth Generation of the LEON Processor

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

Copyright 2014 Xilinx

Qualification of Verification Environments Using Formal Techniques

Deterministic high-speed serial bus controller

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

System On Chip: Design & Modelling (SOC/DAM) 1 R: Verilog RTL Design with examples.

Effective System Design with ARM System IP

An introduction to CoCentric

Introduction to VHDL Design on Quartus II and DE2 Board

Early Models in Silicon with SystemC synthesis

SoC Verification Methodology. Prof. Chien-Nan Liu TEL: ext:

Employing Multi-FPGA Debug Techniques

Ethernet Switch. WAN Gateway. Figure 1: Switched LAN Example

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

Overview of SOC Architecture design

Introduction to Embedded Systems

IBM PowerPC Enablement Kit: ChipBench-SLD: System Level Analysis and Design Tool Suite. Power.org, September 2005

Integrate Ethernet QVIP in a Few Hours: an A-to-Z Guide by Prashant Dixit, Questa VIP Product Team, Mentor Graphics

Power Aware Architecture Design for Multicore SoCs

DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE

Designing a Multi-Processor based system with FPGAs

Post processing techniques to accelerate assertion development Ajay Sharma

ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations

Glossary. ATPG -Automatic Test Pattern Generation. BIST- Built-In Self Test CBA- Cell Based Array

Shortest path to the lab. Real-world verification. Probes provide observability

Transcription:

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 Emulation Use models Veloce Architecture Overview Veloce Software Practical : Use Veloce to verify Veloce 2

Agenda What is Emulation Use models Veloce Architecture Overview Veloce Software Practical : Use Veloce to verify Veloce 3

Verification Challenges Systems Software Debug 4

Typical Development Cycle Hardware Hardware Development Development Fab System Integration Software Development Block-level Verification Chip-level Verification System Verification Time to Market Design Cycle 5

Typical System Development Hardware Development Fab System Integration Software Development Block-level Verification Chip-level Verification System Verification Time to Market Design Cycle 6

Software Simulation module counter (ck, en, step, dout); input ck, en; input [3:0] step output [3:0] dout reg [3 : 0] dout; always @ (posedge ck) begin if ( en ==1 ) dout = dout+step; end endmodule RTL Model Model is represented in Data Structures Compute and propagate signal values module counter (ck, en, step, dout); input ck, en; input [3:0] step output [3:0] dout reg [3 : 0] dout; always @ (posedge ck) begin if ( en ==1 ) dout = dout+step; end endmodule Test bench 7

Clock Speed Scaling Stalls Emulation Required to Extend Performance Source: Recording Microprocessor History 4/6/2012 Andrew Danowitz, Kyle Kelley, James Mao, John P. Stevenson, Mark Horowitz http://queue.acm.org/detail.cfm?id=2181798

Emulation module counter (ck, en, step, dout); input ck, en; input [3:0] step output [3:0] dout reg [3 : 0] dout; always @ (posedge ck) begin if ( en ==1 ) dout = dout+step; end endmodule RTL Model Map RTL model in Programmable Logic Programmable Control execution and get results Logic Multiples FPGA reproduce Model behavior from high level description 9

Start Early Continue for Entire SoC Life Architecture Phase Block-level Verification Fullchip/SoC Verification Software, Firmware & Device Drivers Systems Validation Post Silicon Bringup and Validation

Agenda What is Emulation Use models Veloce Architecture Overview Veloce Software Practical : Use Veloce to verify Veloce 11

RSP Modern SOC environment Embedded SW Debugger SoC PHY PHY PHY PHY CPU USB Ethernet SATA Display Processor Master IF SlaveIF Slave IF Slave IF Slave IF Arbiter JTAG Master IF CPU Master IF Software Memory Fabric Slave IF UART Slave IF GPIO Fabric PCI Express PHY 12

ICE use Model The emulator is connected to actual Hardware DUT Cables External Hardware 13 Veloce

Ethernet Verification With ICE Ethernet Network Stimulus Generation / Analysis Tools Live Traffic isolve Ethernet 14

Co Emulation Testbench Xpress (TBX) Testbench Transactions PCI E 1/2 X-actor AGP 1/2 X-actor USB 1/2 X-actor 1/2 X- actor DUT Testbench divided in 2 parts one in emulator the other in Station Communication via transactor Software sends commands that are interpreted by transactor to generate DUT stimulus High-speed Interface Software Hardware 15

Veloce Use Models Simulation Acceleration OVM/UVM SystemVerilog C/SystemC Accelerated Transactors SW Debug Codelink VProbe Fast ISS QEMU Software Debug Virtual Protocol Solutions USB SATA Video Ethernet VirtuaLAB Solutions PCIe Testbench Xpress Co-Model Channels Physical Protocol Solutions PCIe SATA Video USB Ethernet... Physical I/O isolve Solutions 16

Agenda What is Emulation Use models Veloce Architecture Overview Veloce Software Practical : Use Veloce to verify Veloce 17

Veloce 2 Architecture 2 Chip AVB2 Maximus2 X 16 X 64 + 40 SXB (Switch boards) + 4 CXB (clock board) Quattro2 16 AVB2 + 6 SXB (Switch boards) + 1 CXB (clock board) 18

2 IC Programmable Logic Array Memories Control Debug Resources Virtual Wire Logic Programmable Logic Array Set of LUT an Sequential elements Interconnect Network Memories : User Memories model Virtual Wire Logic Transport signals between chips Debug Resources Trace every Sequential element and memories Triggers Control Load configuration Control emulation 19

Agenda What is Emulation Use models Veloce Architecture Overview Veloce Software Compile Software Runtime Software Practical : Use Veloce to verify Veloce 20

Software Overview PC Farm Compile Servers N e t w o r k Emulator host User design Compile SW Configuration bitstream Runtime SW Low Level SW Transform design in bistream User Interface Control Emulator Collect debug data 21

Compile software Design +Testbench TBX Partition Testbench between SW and Emulator RTL RTLC Perform RTL Synthesis Gate netlist Platform Compile Partitioning in Sytem Routing Place and Route Ressource Allocation Bitstream 22

Runtime Software Mainten ance Server Ressour ce Server Emulator Message Bus User Message Bus Runtime Server Emulator Host Server LLSW Visibility Server UI 23 Veloce DAC 2014

Agenda What is Emulation Use models Veloce Architecture Overview Veloce Software Practical : Use Veloce to verify Veloce Challenges The verification infrastructure Verifying ASIC Verifying the Compilation software Low level software integration Firmware validation debug Runtime software integration 24

Challenges Complex system ASIC FPGAs Firmware Mutliple software components Verifying all component of the system and their interactions Time to get a bug Size : Detailed model of a full Emulator of next generatio will not fit in current generation 25

Addressing the challenges Use a comodel approach for more abstraction level and connection with the software Divide verification in steps based on functionality Simplify the model by using different abstraction level depending on what functionality is tested 26 Veloce DAC 2014

Verification Infrastructure More details on Veloce LLSW on host Control Chip Control Control Veloce Control Bus Control Commands 27 Veloce

Verification Infrastructure Emulation model Software Control Chip Transactor Control Control Veloce Control Bus Emulator Nature of the Software, Transactor and Model in emulator depend on abstraction level 28 Veloce

ASIC verification : example of Trace Data Comodel SW Transac tor Control DDR Controler DDR SW translator Macro Block Trace Capture Trace control Veloce Comands Design Emulation Model Trace Capture, Trace Control and DDR Controler are Accurate models Design is a gate level netlist generating random data Data are either manually generated or come from actual compile Run million cycles on multiple designs 29 Veloce

Verification of compile SW Bitstream Comodel SW Transac tor Control Configuration Block LLSW Bitstream reader Macro Block Veloce Comands Emulation Model Macro and Configuration blocks are Accurate models Bitstream is the output of actual compile flow Verify behavior of design 30 Veloce

Verification of Low Level Software 1/2 Example : Virtual Wire Synchronisation Control Virtual Wire Logic Data multiplexed on serial link Virtual Wire Logic Control Virtual Wire need a training/calibration sequence This sequence is controled by Low Level Software 31 Veloce

Verification of Low Level Software 2/2 Actual LLSW Comodel SW Trans actor Control Chip Control Control VW Block VW Block Emulation Model Control block in and VW block are accurate model Actual LLSW communicate with the model through comodel SW and transactor 32 Veloce

Verification of Firmware 1/2 Example : Trigger Reduction AVB Level reduction Trigger Logic FPGA AVB Level reduction FPGA Trigger Logic System Level reduction CXB FPGA Trigger Logic Macro Block Trigger Logic Macro Block Macro Block Macro Block AVB AVB 33 Veloce A trigger express a condition on values coming from the design At AVB and System level it is implemented in FPGA A binary is genrerated by runtime SW to express condition

Verification of Firmware Trigger binary Comodel SW Transac tor Control AVB Level reduction FPGA System Level reduction SW translator AVB Level reduction FPGA Trig ger Logi c Macro Block Trig ger Logi c Macro Block FPGA CXB Trig ger Logi c Trig ger Logi c AVB Veloce Comands Macro Block Macro Block AVB Emulation Model Design is modeled as gate level netlist Trigger binary is generated by actual runtime SW Verify behavior of trigger in multiple design sequences 34 Veloce

Runtime SW Verification Ressource Server Emulator Message Bus Emulator Host Server LLSW Runtime Server Comodel SW User Message Bus UI Actual Runtime Server is used High level model for the HW Transac tor Control Macro Block Design Memories Emulation Model 35 Veloce

QUESTIONS Veloce 36