SystemC Synthesis Standard: Which Topics for Next Round? Frederic Doucet Qualcomm Atheros, Inc

Similar documents
Improvements to SystemC Datatypes: A Community Discussion

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

A New Electronic System Level Methodology for Complex Chip Designs

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

NEW FPGA DESIGN AND VERIFICATION TECHNIQUES MICHAL HUSEJKO IT-PES-ES

SystemVerilog Essentials Simulation & Synthesis

Sunburst Design - Advanced SystemVerilog for Design & Verification by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

High-Level Information Interface

Verilog for High Performance

An introduction to CoCentric

81920**slide. 1Developing the Accelerator Using HLS

Abstraction Layers for Hardware Design

UVM for VHDL. Fast-track Verilog for VHDL Users. Cont.

Verilog Execution Semantics

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Digital VLSI Design with Verilog

EEL 5722C Field-Programmable Gate Array Design

VHDL for Synthesis. Course Description. Course Duration. Goals

OUTLINE RTL DESIGN WITH ARX

World Class Verilog & SystemVerilog Training

Introduction to SystemC

Top-Down Transaction-Level Design with TL-Verilog

Algorithmic C synthesis (High-level synthesis)

EEL 4783: HDL in Digital System Design

Advanced Synthesis Techniques

SystemVerilog Design: User Experience Defines Multi-Tool, Multi-Vendor Language Working Set Experience from Four Years of SVD Adoption

RTL design in python:

Programmable Logic Devices HDL-Based Design Flows CMPE 415

An approach to accelerate UVM based verification environment

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

High Level Synthesis for Design of Video Processing Blocks

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

R3-7. SASIMI 2015 Proceedings. A Verilog Compiler Proposal for VerCPU Simulator. January 29,

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks

VHDL simulation and synthesis

MOJTABA MAHDAVI Mojtaba Mahdavi DSP Design Course, EIT Department, Lund University, Sweden

Definitions. Key Objectives

SystemVerilog For Design Second Edition

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

Agenda. How can we improve productivity? C++ Bit-accurate datatypes and modeling Using C++ for hardware design

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

Unit 2: High-Level Synthesis

From Concept to Silicon

RIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM. SYNTHESIS OF COMBINATIONAL LOGIC (Chapter 8)

Modular SystemVerilog

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

Sunburst Design - Verilog-2001 Design & Best Coding Practices by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

VHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses

Introduction to Verilog HDL

PA GLS: The Power Aware Gate-level Simulation

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Verilog for Synthesis Ing. Pullini Antonio

VHDL vs. BSV: A case study on a Java-optimized processor

EECS 470 Lab 6. SystemVerilog. Department of Electrical Engineering and Computer Science College of Engineering. (University of Michigan)

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23

Introduction to Verilog

EITF35: Introduction to Structured VLSI Design

CREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION

ECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016

S2CBench : Synthesizable SystemC Benchmark Suite for High-Level Synthesis

Can High-Level Synthesis Compete Against a Hand-Written Code in the Cryptographic Domain? A Case Study

Icarus Verilog Status and Goals

COMPREHENSIVE SYSTEMVERILOG-SYSTEMC-VHDL MIXED-LANGUAGE DESIGN METHODOLOGY

Multi-level Design Methodology using SystemC and VHDL for JPEG Encoder

S2CBench : Synthesizable SystemC Benchmark Suite for High-Level Synthesis

EE 4755 Digital Design Using Hardware Description Languages

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton

Fine-Grained Interconnect Synthesis

Lecture 20: High-level Synthesis (1)

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

Hardware Description Languages. Introduction to VHDL

ESL design with the Agility Compiler for SystemC

High Level Synthesis Evaluation of Tools and Methodology

SimBSP Enabling RTL Simulation for Intel FPGA OpenCL Kernels

Using SystemC for Hardware Design Comparison of results with VHDL, Cossap and CoCentric

The Pipeline Lab Copyright Bluespec Inc

Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design

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

ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point FFT Simulation

SystemVerilog Assertions in the Design Process 213

SystemVerilog 3.1: It s What The DAVEs In Your Company Asked For

Simple Behavioral Model: the always block

INTRODUCTION TO CATAPULT C

Vivado Design Suite Tutorial: High-Level Synthesis

Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification

International Training Workshop on FPGA Design for Scientific Instrumentation and Computing November 2013

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

FCUDA-NoC: A Scalable and Efficient Network-on-Chip Implementation for the CUDA-to-FPGA Flow

Department of Computer Science and Electrical Engineering. CMPE 415 Synthesis. Prof. Ryan Robucci

Vivado HLx Design Entry. June 2016

קורס SystemVerilog Essentials Simulation & Synthesis.. SystemVerilog

VHDL Essentials Simulation & Synthesis

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

SystemVerilog Design: User Experience Defines Multi-Tool, Multi-Vendor Language Working Set No Excuses for Not Using SystemVerilog in Your Next Design

Hardware Description Languages (HDLs) Verilog

FlexRay The Hardware View

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

Transcription:

SystemC Synthesis Standard: Which Topics for Next Round? Frederic Doucet Qualcomm Atheros, Inc

2/29/2016 Frederic Doucet, Qualcomm Atheros, Inc 2 What to Standardize Next Benefit of current standard: Provides clear guidelines for synthesizability for C++/SystemC Set clear subset for synthesis tools We are currently discussing the options for the next standard A big list of topics What is important to us designers? What is valuable to EDA vendors? What are the priorities? Did we think of everything? Join the discussion! Join the SWG calls!

2/29/2016 Frederic Doucet, Qualcomm Atheros, Inc 3 C++ Language and Math Libraries C++ / C++11 Unions Constructor arguments Automatic port naming VCD tracing for all ports for all ports Safe array class Type handling advances (auto, decl) Many other features of interest Math libraries AC datatypes and SystemC datatypes sc_complex sc_float

2/29/2016 Frederic Doucet, Qualcomm Atheros, Inc 4 Channel Libraries Which elements : FIFOs point-to-point pulse ring buffer line buffers CDC etc. Standard interpretation of the TLM interface in synthesis Must blocking vs. may-block vs. non-blocking Use TLM 1.0 as reference or not (need add reset)

2/29/2016 Frederic Doucet, Qualcomm Atheros, Inc 5 Micro-architecture Directives Standard list of directives : Loop handling: unroll, partial unroll, pipeline, sequential Function handling Sequential function, pipelined, parallel, map to custom resource, etc. Array handling: flatten, map-to-memory, map-to-reg-file, split, combine, resize, etc. Custom resource: pipelined, combinational Inputs: stable, delay Latencies: Min latency, max-latency Etc.

2/29/2016 Frederic Doucet, Qualcomm Atheros, Inc 6 Micro-architecture Directives How to specify the directives: Pragma in the code Tcl commands in synthesis directive file Directive in code (empty functions or variables with specific meaning) How to apply the directives How to label and find structures in the code The loop filter_kernel, unroll it

2/29/2016 Frederic Doucet, Qualcomm Atheros, Inc 7 Synthesis Structures How to interpret the SystemC CDFG and synthesis directive The generated RTL behaves equivalently in all tools Consistent interpretation across tools How to write a pipeline Where to freeze, where to free the I/O Where to expand the pipeline Cycle-accurate, cycle close and super-cycle modes Clearly define and implement the scheduling mode How to specify and create custom resources Specified as C++ functions or C++ scopes What interfaces to they implement Specify to characterize the custom resource or not with logic synthesis

2/29/2016 Frederic Doucet, Qualcomm Atheros, Inc 8 Memories Where are the memories in the SystemC code: Mapping of C++ array into memories (implicit) Using memory channel (explicit) How to describe the memory macro to the HLS tool Memory ports, timing, simulation model file, lib file, etc. Standard format Using the memory macro in the design (architecture model) Memory port sharing by more than one process in a module Memory port sharing by sub-modules Multi-clock memories Memories inside or outside the module

2/29/2016 Frederic Doucet, Qualcomm Atheros, Inc 9 Tools and Flows Standard interpretation of module hierarchy How to set up project with submodules Many modules and processes to synthesize, process them one by one or all at once Where are the memories instantiated Standard minimal wrapper generation Tool to provide wrapper for input SystemC in SystemVerilog context Tool to provide wrapper for generated Verilog in SystemC Mostly about datatype conversions Make the wrapper lightweight enough so it can be used with various HDL simulators Help ease flow migration

2/29/2016 Frederic Doucet, Qualcomm Atheros, Inc 10 Summary HLS is rapidly growing in adoption and proving its value for multiple users (design, verification, accelerated software ) Accellera SystemC synthesis subset standardization helps focus so the ecosystem can grow around it There are great areas for what s next to standardize to complete the ecosystem for HLS Join the discussion! Join the SWG calls! Drive what you need in the standard!

Thank You!