Adding SystemC TLM to a RTL Design Flow Bill Bunton Principal Engineer LSI Networking Components Group Austin, Texas.

Slides:



Advertisements
Similar presentations
Digital System Design Subject Name : Digital System Design Course Code : IT-314.
Advertisements

SoC Challenges & Transaction Level Modeling (TLM) Dr. Eng. Amr T. Abdel-Hamid ELECT 1002 Spring 2008 System-On-a-Chip Design.
1 System Level Verification of OCP-IP based SoCs using OCP-IP eVC Himanshu Rawal eInfochips, Inc.,4655 Old Ironsides Drive, Suite 385,Santa Clara, CA
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Using emulation for RTL performance verification
High Level Languages: A Comparison By Joel Best. 2 Sources The Challenges of Synthesizing Hardware from C-Like Languages  by Stephen A. Edwards High-Level.
February 28 – March 3, 2011 Stepwise Refinement and Reuse: The Key to ESL Ashok B. Mehta Senior Manager (DTP/SJDMP) TSMC Technology, Inc. Mark Glasser.
Synchron’08 Jean-François LE TALLEC INRIA SOP lab, AOSTE INRIA SOP lab, EPI AOSTE ScaleoChip Company SoC Conception Methodology.
1 Speed, Drunkenness, and the Wall Does High Level Design/ESL Make Sense? Kris Konigsfeld Sr. Principal Engineer Oregon CPU Architecture Intel Corporation.
OSCI TLM-2.0 The Transaction Level Modeling standard of the Open SystemC Initiative (OSCI)
LOGO HW/SW Co-Verification -- Mentor Graphics® Seamless CVE By: Getao Liang March, 2006.
Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.
Transaction Level Modeling with SystemC Adviser :陳少傑 教授 Member :王啟欣 P Member :陳嘉雄 R Member :林振民 P
Usage of System C Marco Steffan Overview Standard Existing Tools Companies using SystemC.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
1 EE249 Discussion A Method for Architecture Exploration for Heterogeneous Signal Processing Systems Sam Williams EE249 Discussion Section October 15,
Tejas Bhatt and Dennis McCain Hardware Prototype Group, NRC/Dallas Matlab as a Development Environment for FPGA Design Tejas Bhatt June 16, 2005.
Transaction Level Modeling Definitions and Approximations Trevor Meyerowitz EE290A Presentation May 12, 2005.
Dipartimento di Informatica - Università di Verona Networked Embedded Systems The HW/SW/Network Cosimulation-based Design Flow Introduction Transaction.
Foundation and XACTstepTM Software
Embedded Systems Design at Mentor. Platform Express Drag and Drop Design in Minutes IP Described In XML Databook s Simple System Diagrams represent complex.
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
Role of Standards in TLM driven D&V Methodology
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
TLM and its evolution Copyright © 2007 Tata Elxsi Ltd. Shwetha Pai.
I N V E N T I V EI N V E N T I V E EDA360 - Is End-to-End Design a Riddle, a Rebus, or a Reality? April 6, 2011.
Trigger design engineering tools. Data flow analysis Data flow analysis through the entire Trigger Processor allow us to refine the optimal architecture.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
SystemC: A Complete Digital System Modeling Language: A Case Study Reni Rambus Inc.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
REXAPP Bilal Saqib. REXAPP  Radio EXperimentation And Prototyping Platform Based on NOC  REXAPP Compiler.
Automated Design of Custom Architecture Tulika Mitra
1 Integration Verification: Re-Create or Re-Use? Nick Gatherer Trident Digital Systems.
Some Course Info Jean-Michel Chabloz. Main idea This is a course on writing efficient testbenches Very lab-centric course: –You are supposed to learn.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
ASIP Architecture for Future Wireless Systems: Flexibility and Customization Joseph Cavallaro and Predrag Radosavljevic Rice University Center for Multimedia.
1 H ardware D escription L anguages Modeling Digital Systems.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
System Design with CoWare N2C - Overview. 2 Agenda q Overview –CoWare background and focus –Understanding current design flows –CoWare technology overview.
SystemC and Levels of System Abstraction: Part I.
J. Christiansen, CERN - EP/MIC
Workshop - November Toulouse Paul Brelet TRT Exploration and application deployment on a SoC: efficient application.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Hardware/Software Co-design Design of Hardware/Software Systems A Class Presentation for VLSI Course by : Akbar Sharifi Based on the work presented in.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
ESL and High-level Design: Who Cares? Anmol Mathur CTO and co-founder, Calypto Design Systems.
F. Gharsalli, S. Meftali, F. Rousseau, A.A. Jerraya TIMA laboratory 46 avenue Felix Viallet Grenoble Cedex - France Embedded Memory Wrapper Generation.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
The Macro Design Process The Issues 1. Overview of IP Design 2. Key Features 3. Planning and Specification 4. Macro Design and Verification 5. Soft Macro.
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
1 IMEC / KHBO June 2004 Micro-electronics SystemC Dorine Gevaert.
MODUS Project FP7- SME – , Eclipse Conference Toulouse, May 6 th 2013 Page 1 MODUS Project FP Methodology and Supporting Toolset Advancing.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
SOC Virtual Prototyping: An Approach towards fast System- On-Chip Solution Date – 09 th April 2012 Mamta CHALANA Tech Leader ST Microelectronics Pvt. Ltd,
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
ISCUG Keynote May 2008 Acknowledgements to the TI-Nokia ESL forum (held Jan 2007) and to James Aldis, TI and OSCI TLM WG Chair 1 SystemC: Untapped Value.
Problem: design complexity advances in a pace that far exceeds the pace in which verification technology advances. More accurately: (verification complexity)
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Some Historical Context And Some Prognostication
IEEE1666 SystemC TLM2.0 Coulpling gem5 with Dipl.-Ing. Matthias Jung
IP – Based Design Methodology
Design Flow System Level
CoCentirc System Studio (CCSS) by
Matlab as a Development Environment for FPGA Design
HIGH LEVEL SYNTHESIS.
Presentation transcript:

Adding SystemC TLM to a RTL Design Flow Bill Bunton Principal Engineer LSI Networking Components Group Austin, Texas

2 Electronic System Level (ESL) Design  Raises the level of design abstraction  Early performance model validates architecture concepts  Allows engineers to create, change, and validate concepts without implementing RTL  Supports hardware/software co-design  Virtual Prototype for early software bring-up  ESL is supported by a collection of Accellera standards, tools, and concepts –SystemC & TLM –SystemRDL(Register Description Language) –Control and Status Register code generators –SystemC & RTL co-simulation –RTL to SystemC conversions

3 What is SystemC  IEEE Standard SystemC  It’s not an RTL (SystemVerilog or VHDL)  SystemC allows higher level of abstraction than RTL  SystemC allows much faster simulation  SystemC extends C++ with classes, macros, and adds a scheduler, providing –Hierarchy and structure familiar to hardware designers –Block-to-Block communications –Hardware data types –Event driven scheduler that allows concurrent execution  SystemC and RTL co-simulation is supported by all suppliers Simulation Kernel C++STL Events Modules & Hierarchy Threads & Methods Channels & Interfaces Data Types Logic Integers Fixed Point Primitives Mutexs, FIFOs, Signals TLM2 Sockets & Generic Protocol Existing IPNew IPVendor IP

4 What is Transaction-Level Modeling (TLM)  TLM is a high-level approach to modeling digital systems that separates: –Details of interconnect (communication) –Details of functionality (computation)  OSCI SystemC TLM-2 available June 2008  IEEE 1666–2011 includes TLM-2: –Sockets for block-to-block interconnect –Generic protocol (memory mapped bus)  SystemC TLM defines two modeling styles –Loosely-timed (LT) Sufficient timing detail for Virtual Prototypes Temporal decoupling (run ahead) Uses direct memory interface (DMI) –Approximately timed (AT) Sufficient timing detail for architecture exploration Processes run in lock-step with simulation time LT CA AT Functional Accuracy LT AT CA LTATCA UT Interconnect Accuracy UT UT -- Untimed LT -- Loosely timed AT -- Approximately timed CA -- Clock & Pin Accurate (D Gajski 2003) RTL Performance Models Virtual Prototype

5 Initial Conditions: RTL and Software Design Flows Exist  Your development process is proven  You have customers using generations of your chips  Chip complexity is growing more processors and more RAMs, all running faster  Re-spins will be very costly  Customers need the next generation systems sooner  Each new system has more and more software  Software is always the last to finish

6 Example Project Design Flow System On a Chip (SoC) Specification Hardware Design Software FPGA Prototype Tape-out First Si Bring-Up Requirements Ship

7 Example Project Design Flow System On a Chip (SoC) Specification Hardware Design Software FPGA Prototype Tape-out First Si Bring-Up Requirements Specification Hardware Design FPGA Prototype Requirements HW Software FPGA Prototype Bring-Up Ship

8 Where Can You Start ? Three Common SystemC TLM Use-Cases  System Architecture –Architecture exploration –System performance models –Functional block development –System architecture validation  Software Bring-Up –Virtual Prototype –Early software development –System-level performance modeling –Software performance optimizations  Logic Design –Design of High Level Synthesis (HLS) –Replace RTL for design entry –Tools optimize structure –Power aware synthesis

9 System Architecture

10 Traditional System Architecture  Requirements provided by marketing  New algorithms developed using MATLAB, C, or C++  System architecture –Requirements and specification –Block-level partitioning –Interconnect selection or definition –Performance requirements for blocks and shared resources –Power and area allocation –Identify needed IP (build or buy) –Block-level design specification Documents & Algorithm Details Requirements Experience, Reviews & Spreadsheets Experience, Reviews & Spreadsheets System Specification Block Level Requirements System Specification Block Level Requirements Design Reviews Design Specification

11 System Architecture Modeling Objectives  Architecture Optimization –Validated system-level block diagram –Optimized interconnect structure –Bottleneck analysis –Establish interconnect behavior Bandwidth Latency Priority –Allocate system resources Bandwidth Priority  Validate Requirements –Performance –New functions –Buffering Requirements

12 Performance Model Block Diagram Traffic Generator Memory Subsystem Interconnect Cache DDR3 Controller DDR3 Controller Cache Coverage and Performance Metrics Protocol-Checker

13 SystemC Performance Model Construction  SystemC Approximately Timed (AT) modeling style –Non-blocking transport with multiple timing points –Processes run in lock-step with simulation time  Probably does not include Software  Specialized traffic generators model functional blocks and software  IP blocks come from multiple sources –New and Existing AT models –Supplier’s AT models –RTL Converted to SystemC (faster than RTL) –RTL (very slow simulation)  Includes simulation instrumentation –Performance –Functional coverage –Protocol-checker

14 SystemC Performance Modeling Results  Optimized interconnect structure  Bottlenecks identified and corrected  System resource allocation –Bandwidth –Latency –Priority  Block-level performance requirements  Test bench for tracking performance  Foundation for future system sodels  Domain-specific traffic generators Products Reusable

15 SystemC Performance Modeling Results  Optimized interconnect structure  Bottlenecks identified and corrected  System resource allocation –Bandwidth –Latency –Priority  Block-level performance requirements  Test bench for tracking performance  Foundation for future System Models  Domain Specific Traffic generators Products Reusable You can’t trust Performance Models

16 New Functional Block Architecture Modeling Objectives  Capture executable functional description  Verify functional behavior  Verify functional performance  Define hardware and software interfaces –Control and Status Registers –Shared data structures  Explore block-level structures, functions, and storage  Identify and model resource contention  Size FIFO and buffer memories  Eliminate low-level details from paper specification SystemC Test Bench

17 Functional Block Architectural Modeling SystemC Test Bench Bus Initiator Ethernet MAC Functional Logic Block PHY CSR Block FIFO Ethernet MAC Functional Logic Block FIFO Bus Functional Model Ethernet Environment Model

18 New Functional Block Architectural Modeling Construction  SystemC Approximately Timed (AT) modeling style  SystemC environment provides C++, SystemC, and TLM library components –C++ Standard template library –SystemC data types –FIFO –Payload event queues (PEQ)  Model implementation using –New functions –Sub-block reuse (arbiters and pipeline models) –Known accurate TLM interface s  Vender supplied sub-block models  Mix of TLM generic & system unique TLM protocols  Code generator provided SystemC Control and Status Registers (CSR)  Configurable delays allow exploration and tracking of RTL implementation  Test bench models hardware and software environment  Test bench includes directed and constrained random tests

19 New Functional Block Architectural Modeling Results  Executable functional model of the new design  Documentation and test for the most active CSRs  Functional test bench  Performance parameters for feedback to system performance model  Complete and detailed structure for RTL design  Design base for High Level Synthesis (HLS)  Near-complete model for a Virtual Prototype  Functional test for RTL and HLS implementation  Reference model for SystemVerilog RTL test bench  System unique TLM protocols  New sub-components for future models Products Reusable

20 Software Bring-Up

21 Traditional Software Bring-Up  Hardware team implements RTL  Software team continues working on previous project  Initial Software bring-up waits for a Hardware Prototype –Hardware emulation –FPGA prototypes  Hardware prototype shortcomings –Only a limited number of prototype systems available –Difficult to fit complete SoC on prototyping hardware –Prototypes run at a reduced clock rate –I/O clock-rates may be fast or slow relative to prototype core clock –Low-level physical interfaces may not be the same as ASIC  Final software bring-up and debug requires complete System on a Chip Design Specification Communication Design Specification Communication Requires Completed RTL Not Complete SoC Always True Timing & Function Not 100% Accurate Timing & Function Not 100% Accurate

22 Virtual Prototype Model Objectives  Minimize post-silicon software delays (deliver product sooner)  Allow time for interface refinement before RTL design freeze  Start software bring-up and debug as early as possible  Provide a superior software debug environment  Provide a bit-accurate prototype of the system  Favor execution speed over fine-grain operation ordering  May have performance-accurate mode

23 SystemC Virtual Prototype Model ISS Packet Processor Ethernet & Switch Packet Content Inspection Security System Processor Memory Subsystem Interconnect Cache DDR3 Controller DDR3 Controller Cache ISS

24 Virtual Prototype Model Construction  SystemC Loosely Timed (LT) modeling style –Blocking transport with only two timing points –Temporal decoupling to allow processes to run ahead of simulation time –Direct memory interface (DMI) for high-speed memory access  Use vendor-supplied processor models (ISS)  Reuse system performance model structure and memory subsystem  Speed up AT functional block by adding –Blocking transport –Debug transport –Direct memory interface –Optimized functional implementations for speed  Implement new LT models as needed for a complete system simulation  Use a code generator to implement complete CSRs for all blocks  Provide configuration options to select AT or LT simulation mode

25 Virtual Prototype Model Results  Pre-silicon full system model of software for software bring-up  Full system model for customer application development  Application performance optimization  Simulation prototypes are less expensive than hardware emulation  LT only block can be converted LT/AT for future performance modeling  AT and LT blocks are a design base for High Level Synthesis (HLS)  Virtual Prototype can be configured for performance modeling  Foundation for next generation Virtual Prototype Products Reusable

26 Virtual Prototype Model Results  Pre-silicon full system model for software for software bring-up  Full system model customer application development  Application performance optimization  Simulation prototypes are less expensive the hardware emulation  LT only block can be enhanced (AT) for future performance modeling  AT and LT blocks are a design base for High Level Synthesis (HLS)  Virtual Prototype could be configured for performance modeling  Foundation for next generation Virtual Prototype Products Reusable Can this thing really boot Linux?

27 Logic Design

28 Traditional Logic Design  System architecture team defines requirements –Function –Performance –Power and area allocation –bandwidth & priority  RTL team creates design specification –HW/SW interface definition –Functional sub-block description –Buffer and FIFO sizing  RTL team implements micro-architecture  Verification team creates test environment  Hardware team achieves design closure by iterating –Micro-architecture changes –RTL-to-gates compilation Requirements RTL & Test Bench Implementation RTL & Test Bench Implementation Design Closure Iterations Design Closure Iterations RTL Design Specification RTL Design Specification

29 Design of High Level Synthesis (HLS) Objectives  Let the tool do the implementation of RTL micro-architecture  Use architecture or Virtual Prototype model as design base  Use algorithms written in C or C++ as functional base  Eliminate RTL implementation of micro- architecture –Pipelining and state-machines –FIFO and arbiters  Create design that can be easily optimized –Speed –Area –Power SystemC Test Bench

30 Design of High Level Synthesis (HLS) SystemC Test Bench Bus Initiator Ethernet MAC Functional Logic Block PHY CSR Block FIFO Ethernet MAC Functional Logic Block FIFO Bus Functional Model Ethernet Environment Model

31 Design of High Level Synthesis (HLS) Construction  Existing SystemC models should be used as a design base. –Paper spec – not the best option –C C++ algorithm– better –An existing SystemC LT model– better still –AT models may over constrain – may be good  Synthesis tools cannot support the full richness of SystemC and C++ –Capabilities differ from vender to vendor  SystemC models may require restructuring for synthesis  Synthesis is controlled by directives and a technology library  Synthesis results can be optimized for –Speed –Power –Area  Synthesis-generated RTL merges with existing RTL design flow

32 Design of High Level Synthesis (HLS) Results  Optimized RTL implementation  Synthesizable SystemC code for reuse –Different ASIC technologies –Different optimizations of speed, area and power  SystemC models for future use –Performance modeling –Architectural exploration  SystemC models for functional design evolution Product Reusable

33 Observations and Recommendations

34 Recap  Each use-case is beneficial when used independently –System Performance Models Optimized system structure Improved block-level requirements –Block-level Architecture Modeling Executable functional description Early functional validation –Virtual Prototype Minimize post-silicon software delays Allow early software feedback –High Level Synthesis Focus on function, not micro-architecture Easy optimization of speed, area and power  A single model implementation can be used by multiple use-cases  SystemC models are reusable across projects and technologies  Benefits multiply as more use-cases are incorporated into a design-flow

35 Example RTL Project Design Flow System On a Chip (SoC) Specification Hardware Design Software FPGA Prototype Tape-out First Si Bring-Up Requirements Ship

36 Example ESL Project Design Flow System On a Chip (SoC) Specification Hardware Design Software FPGA Prototype Tape-out Bring-Up Architecture Ship Performance Modeling Virtual Prototype First Si

37 What To Do At DAC  Attend Accellera sponsored events at DAC –Breakfast and Town Hall Meeting –IP XACT Tutorial –Multi-Language Birds-of-a-Feather Meeting –IP Protection / P1735 Birds-of-a-Feather Meeting –North American SystemC User Group (NASCUG) meeting  Get involved with the Accellera design standards activities  Look for more SystemC presentations  Visit the DAC exhibitors and investigate –SystemC training –SystemC development environments –SystemC & RTL co-simulation environments –RTL to SystemC conversion tools –IP packages with SystemC models –IP packages with SystemRDL –Code generators for CSR (SystemC and RTL) –High Level Synthesis (HLS)

38 Visit the Accellera Members DAC Exhibitors  ARM Ltd.  Atrenta, Inc.  Cadence Design Systems  Doulos Ltd.  Duolog  Forte Design Systems  Fraunhofer IIS/EAS  IBM  Intel Corporation  Jasper Design Automation  Magillem Design Services  Mentor Graphic  Semifore, Inc.  Synopsys  Vayavya Labs

39 After DAC  Convince your organization that ESL and SystemC will –Increase productivity –Improve quality –Shorten schedules  Select tools suppliers  Schedule SystemC training for hardware and software engineers  Identify and implement an ESL pilot-project  Use SystemC code reviews as a training tool  Document your ESL design-flow based on best practices  Define SystemC code guidelines for each design style –Transaction-Level modeling interfaces –Loosely timed models –Approximately timed models –High Level Synthesis  Continue improving the ESL flow and update documentation  Merge the ESL flow with the existing design-flow

40 Questions?