Functional Verification of the SiCortex Multiprocessor System-on-a-Chip. Oleg Petlin, Wilson Snyder

Similar documents
Test E. R.: Our Goal to Triage a Million Tests A Day. Wilson Snyder Bryce Denney and Robert Woods-Corwin

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

505 Registers or Bust. Wilson Snyder Nauticus Networks

Verilator & Internals

Verilator: Speedy Reference Models, Direct from RTL

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015

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

Early Models in Silicon with SystemC synthesis

Incisive Enterprise Verifier

The SystemC Verification Standard (SCV) Stuart Swan Senior Architect Cadence Design Systems, Inc.

Verification Futures Nick Heaton, Distinguished Engineer, Cadence Design Systems

Software Driven Verification at SoC Level. Perspec System Verifier Overview

Validation Strategies with pre-silicon platforms

Mixed Signal Verification Transistor to SoC

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

Will Everything Start To Look Like An SoC?

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

Abstraction Layers for Hardware Design

PCIe Verification in a SystemC environment using the Cadence VIP

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

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

OSCI Update. Guido Arnout OSCI Chief Strategy Officer CoWare Chairman & Founder

An introduction to CoCentric

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

ADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts

Will Everything Start To Look Like An SoC?

Test and Verification Solutions. ARM Based SOC Design and Verification

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

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

100M Gate Designs in FPGAs

Appendix SystemC Product Briefs. All product claims contained within are provided by the respective supplying company.

Guide for getting started with SystemC development

Advanced Verification Topics. Bishnupriya Bhattacharya John Decker Gary Hall Nick Heaton Yaron Kashai Neyaz Khan Zeev Kirshenbaum Efrat Shneydor

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

System Level Design with IBM PowerPC Models

NS115 System Emulation Based on Cadence Palladium XP

Can You Even Debug a 200M+ Gate Design?

ASIC world. Start Specification Design Verification Layout Validation Finish

IMPROVES. Initial Investment is Low Compared to SoC Performance and Cost Benefits

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

Network simulation with. Davide Quaglia

Graph-Based Verification in a UVM Environment

Architecture for Massively Parallel HDL Simulations Rich Porter Art of Silicon

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

INDUSTRIAL TRAINING: 6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD

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

Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification

Modeling Performance Use Cases with Traffic Profiles Over ARM AMBA Interfaces

System On Chip: Design & Modelling (SOC/DAM)

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

EE 4755 Digital Design Using Hardware Description Languages

Simulation Based Analysis and Debug of Heterogeneous Platforms

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

JL Gray July 30, 2008

Accelerating FPGA/ASIC Design and Verification

Programmable Logic Devices HDL-Based Design Flows CMPE 415

Parallel Simulation Accelerates Embedded Software Development, Debug and Test

Hardware Design and Simulation for Verification

EE 4755 Digital Design Using Hardware Description Languages

How to Automate A Complete Register. Verification Environment

Samsung and Cadence. Byeong Min, Master of Infrastructure Design Center, System LSI Business, Samsung. The Customer. The Challenge. Business Challenge

Leveraging Formal Verification Throughout the Entire Design Cycle

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

Unifying Design and Verification

Cycle Approximate Simulation of RISC-V Processors

Verification of Clock Domain Crossing Jitter and Metastability Tolerance using Emulation

Modular SystemC. In-house Training Options. For further information contact your local Doulos Sales Office.

FPGA Verification How to improve verification without throwing everything away

EEL 5722C Field-Programmable Gate Array Design

101-1 Under-Graduate Project Digital IC Design Flow

Wai Chee Wong Sr.Member of Technical Staff Freescale Semiconductor. Raghu Binnamangalam Sr.Technical Marketing Engineer Cadence Design Systems

Benefits of Network on Chip Fabrics

The SOCks Design Platform. Johannes Grad

Software Engineering at VMware Dan Scales May 2008

Performance Tools for Technical Computing

QEMU for Xilinx ZynqMP. V Aug-20

6 Month Certificate Program in VLSI Design & Verification" with Industry Level Projects. Tevatron Technologies Prívate Limited

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

Simulation-Based FlexRay TM Conformance Testing an OVM success story

Mentor Graphics Solutions Enable Fast, Efficient Designs for Altera s FPGAs. Fall 2004

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

USING RTL-TO-C++ TRANSLATION ENGINEERING: A CASE STUDY

Making the Most of your MATLAB Models to Improve Verification

ENHANCED TOOLS FOR RISC-V PROCESSOR DEVELOPMENT

Verifying the Correctness of the PA 7300LC Processor

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

Top-Down Transaction-Level Design with TL-Verilog

Software Development Using Full System Simulation with Freescale QorIQ Communications Processors

Overview of Digital Design with Verilog HDL 1

Early Software Development Through Emulation for a Complex SoC

Ten Reasons to Optimize a Processor

System-On-Chip Design with the Leon CPU The SOCKS Hardware/Software Environment

Choosing an Intellectual Property Core

High Performance Computing with Accelerators

Employing Multi-FPGA Debug Techniques

CASE STUDY: Using Field Programmable Gate Arrays in a Beowulf Cluster

Transaction level modeling of SoC with SystemC 2.0

VCS AMS. Mixed-Signal Verification Solution. Overview. testing with transistor-level accuracy. Introduction. Performance. Multicore Technology

Maximizing heterogeneous system performance with ARM interconnect and CCIX

Post processing techniques to accelerate assertion development Ajay Sharma

Transcription:

Functional Verification of the SiCortex Multiprocessor System-on-a-Chip Oleg Petlin, Wilson Snyder wsnyder@wsnyder.org June 7, 2007

Agenda What we ve built Verification challenges Verification productivity Substitution modelling Co-verification Verification statistics Conclusions Q&A 2

What We ve Built Complete computer system Rethought how a cluster should be built Custom processor chip Reduced power Maximized memory performance Integrated high performance interconnect Software Open Source: Linux, GNU, and MPI 3

Our Product: SC5832 5832 Gigaflops 7776 Gigabytes DDR memory 972 6-core 64-bit nodes 2916 2 GByte/s fabric links 500 GByte/s bisection bandwidth 270 GByte/s PCI-E bandwidth 18 KW 1 Cabinet There s a small version too 4

Verification Challenges High design complexity 1.2 million lines of RTL -> 198 million transistors Both purchased IP and internal developments High programmability - 6 CPUs and DMA Co-verification of Linux kernel and device drivers Control the overall verification cost Verilog simulator speed and license limitations How to find more bugs for less w/o compromising the quality of verification? Project deadlines 5

Verification Productivity Verification Tools Languages, libraries, and simulators C++, STL SystemC verification library and TLM OSCI SystemC Cadence Incisive Open source productivity tools (http://www.veripool.com) Vregs (Register documentation -> headers & verification code) Verilog-Mode (saves writing 30% of the Verilog lines!) SystemPerl (saves writing 40% of SystemC lines!) Verilator (Verilog RTL -> C++/SystemC cycle-accurate model) 6

Verilator and Incisive Verilator + OSC Full SystemC Synthesizable Verilog-2005 C++ Interface Two-State Cycle accurate Limited PSL assertions Line and Block coverage Waveforms, GDB/DDD Faster simulations (2-5x) Limited support Free Incisive Full SystemC Fully Verilog-2005 compliant PLI/VPI compliant interface Four-State (0,1,X,Z) and strengths Timing accurate (thus required for PLL, PHY and gate simulations) Full PSL assertions Block, FSM, expression coverage Waveforms, source debugger Slower simulations Excellent customer support Not quite 7

Verification Productivity (cont.) Code Reuse C++ encapsulation, inheritance Verification infrastructure Test components Test Writing Methodology Every test is a class that inherits the test base class The test base class specifies the execution order for a set of virtual methods Chip-level tests are constructed from subchip tests Regression Testing Hourly, nightly and weekly runs with random seeds Background random runs Automated web-based reporting system (next slide) 8

Tracking all Tests All tests were tracked in a database with web front-end: Did this test ever work, and when? What versions did the test work in? What changes were made? Rev Num Run History Rev User Rev Description r5333 1 fail denney DMA engine support for mandelbrot r5332 denney Add PCI express test r5331 2 pass wsnyder Doing something nasty 2 fail w/mod r5330 r5329 1 pass pholmes New incredible MPI fabric test added 9

Substitution Modeling We allowed many types of modules to be substituted into the same consistent chip model cell, and can compare outputs: VerBfm.sp Bus Functional Model VerShad.sp Shadow Module VerBeh.sp Behavioral Module VerRtl.sp RTL Wrapper Module Ver.sp Translated automatically from Ver.v Conversion Wrapper(s) 10

Co-Verification: Booting Linux Our major software goal was to boot Linux Linux kernel 2.6 with some modifications Initialization trimmed to 16 million instructions Model Simulator Boot Time Hardware N/A ~1 sec Beh SimH 50 sec Beh CPU + rest SystemC OSC 13 h. Verilated CPU + SysC Verilator+OSC 18 h. Verilog RTL Cadence NCSIM 140 h. 11

Verification Statistics 20,000 tests 5,000+ per night (<20% of the tests required any license) 22,000,000 test runs over the last 12 months: 230 compute years 2.1 hours of real chip time 1,300 critical bugs found, as follows: Block HLM RTL Total L2 Cache 304 (90%) 34 (10%) 338 DMA Engine 217 (82%) 47 (18%) 264 FSW Switch 158 (79%) 41 (21%) 199 PCIe-PMI 159 (84%) 30 (16%) 189 CHIP 3 (21%) 11 (79%) 14 12

Verification Statistics 20,000 tests 5,000+ per night (<20% of the tests required any license) 22,000,000 test runs over the last 12 months: 230 compute years 2.1 hours of real chip time 1,300 critical bugs found, as follows: Teaser 230 compute years cost us $250K in Opteron Servers. Block HLM RTL Total L2 Cache 304 (90%) 34 (10%) 338 DMA Engine 217 (82%) 47 (18%) 264 FSW Switch 158 (79%) 41 (21%) 199 PCIe-PMI 159 (84%) 30 (16%) 189 CHIP 3 (21%) 11 (79%) 14 Our system with 648 cores delivers more than 3x the simulations per dollar, in 1/12 th the space. And this isn t even in the market it is tuned for. And we d save $17,000 in power/year! 9 cents /kwh, 24KW for 86 servers drops to 2KW per SC648 13

How did we do? Initial debug went smoothly Dec 28, 2006: Chips arrive Jan 22, 2007: Linux, NFS, Emacs, make. Jan 29, 2007: MPI networking node-to-node. Only a few bugs found in Silicon, all with workarounds All due to verification holes Filled now, of course 14

Conclusions Mixing Verilog RTL and SystemC/C++ worked well Fast simulation models enabled early software debug Our strategy provided for a higher level of control over: Simulation speed Accuracy License usage & overall verification cost Open source tools allowed the team to run more tests and find bugs earlier Used the best public domain and commercial tools each for what they do best 15

Public Tool Sources The public domain design tools we used are available at http://www.veripool.com Make::Cache - Object caching for faster compiles Schedule::Load Load Balancing (ala LSF) SystemPerl - /*AUTOs*/ for SystemC Verilator Compile SystemVerilog into SystemC Verilog-Mode - /*AUTO */ Expansion Verilog-Perl Verilog preprocessor Vregs Extract register and class declarations from documentation The SIMH instruction set simulator is at http://simh.trailing-edge.com 16