1 IMEC / KHBO June 2004 Micro-electronics SystemC Dorine Gevaert.

Slides:



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

A hardware-software co-design approach with separated verification/synthesis between computation and communication Masahiro Fujita VLSI Design and Education.
SoC Challenges & Transaction Level Modeling (TLM) Dr. Eng. Amr T. Abdel-Hamid ELECT 1002 Spring 2008 System-On-a-Chip Design.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
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.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
Evolution and History of Programming Languages Software/Hardware/System.
Synchron’08 Jean-François LE TALLEC INRIA SOP lab, AOSTE INRIA SOP lab, EPI AOSTE ScaleoChip Company SoC Conception Methodology.
MotoHawk Training Model-Based Design of Embedded Systems.
Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
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.
Digital System Design Verilog ® HDL Maziar Goudarzi.
O VERVIEW OF DIGITAL SYSTEMS Hardware Description Language 1.
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
SystemC: Introduction. SystemC  A C++ based class library and design environment for system-level design.  Suitable for functional description that.
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
TM Efficient IP Design flow for Low-Power High-Level Synthesis Quick & Accurate Power Analysis and Optimization Flow JAN Asher Berkovitz Yaniv.
CSET 4650 Field Programmable Logic Devices
From Scenic to SystemC Mehrdad Abutalebi. Outline Introducing Scenic Scenic Implementation Modeling Reactivity A Simple example From Scenic to SystemC.
EECE **** Embedded System Design
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
SystemC: A Complete Digital System Modeling Language: A Case Study Reni Rambus Inc.
Extreme Makeover for EDA Industry
A New Method For Developing IBIS-AMI Models
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
1 H ardware D escription L anguages Modeling Digital Systems.
System Design with CoWare N2C - Overview. 2 Agenda q Overview –CoWare background and focus –Understanding current design flows –CoWare technology overview.
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.
Digital System 數位系統 Verilog HDL Ping-Liang Lai (賴秉樑)  
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Languages for HW and SW Development Ondrej Cevan.
Winter-Spring 2001Codesign of Embedded Systems1 Methodology for HW/SW Co-verification in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE.
Winter-Spring 2001Codesign of Embedded Systems1 Introduction to System-Level Modeling in SystemC 2.0 Part of HW/SW Codesign of Embedded Systems Course.
Module 1.2 Introduction to Verilog
SpecC stands for “specification description language based on C”.
Fall 08, Oct 29ELEC Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
CHAPTER 8 Developing Hard Macros The topics are: Overview Hard macro design issues Hard macro design process Physical design for hard macros Block integration.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
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.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
Way beyond fast © 2002 Axis Systems, Inc. CONFIDENTIAL Axis Common Transaction Interface (CTI) Architecture Highlights 9/11/2003 Ching-Ping Chou Axis Systems,
Introduction to ASIC flow and Verilog HDL
System-on-Chip Design Hao Zheng Comp Sci & Eng U of South Florida 1.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
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.
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
DAC50, Designer Track, 156-VB543 Parallel Design Methodology for Video Codec LSI with High-level Synthesis and FPGA-based Platform Kazuya YOKOHARI, Koyo.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
System-on-Chip Design
ASIC Design Methodology
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
IP – Based Design Methodology
Design Flow System Level
CoCentirc System Studio (CCSS) by
VHDL Introduction.
H a r d w a r e M o d e l i n g O v e r v i e w
Introduction to System-Level Modeling in SystemC 2.0
Digital Designs – What does it take
Presentation transcript:

1 IMEC / KHBO June 2004 Micro-electronics SystemC Dorine Gevaert

2 Part 1 : SystemC introduction Why SystemC ? Design flow mid 70’s to mid 90’s Design flow 2002 & beyond Motivation for SystemC Modeling levels and accuracy Design time is money

3 Why SystemC ? Main message of the International Roadmap for Semiconductors (ITRS) “ Cost of design” is the greatest threat to the continuation of the semiconductor roadmap” AIM : reduction of design cost

4 Why SystemC ? “nature of systems” change PastFuture Small block reuseIntelligent test benches Large block reuseEmbedded system-level IC implementation toolstechnology ▼ NEED of a modeling language that can support this level

5 mid 70’s to mid 90’s RTL level Verilog, VHDL Gate Level Polygon Level Traditional bottom-up design replaced with HDL’s top-down design approach Design abstraction moves upwards New levels of IP emerge EDA tools move up to enable path to silicon

6 Mid 90’s Specs Word/Excel EDA confronted with: –System = software running on silicon! –Serious gap between system design & RTL RTL level Verilog, VHDL Gate Level Polygon Level

& beyond RTL level SystemC Verilog, VHDL Gate Level Polygon Level Designs continue to move up to ever higher levels of abstraction SystemC bridges the gap with abstract modeling & RTL IP moves up, Again! EDA tools move up to ensure path to silicon UML, etc. unTimed Level SystemC Transaction Level SystemC

8 Motivation for SystemC Major contribution : To provide a modeling frame-work for systems in which high-level functional models can be verified in a SINGLE language To improve the protection of Intellectual Property A common format for system level IP exchange and tool interoperability

9 Architecture Co-Design Implement Co-Verify Verify Implement Verify SW CodeHW Design Implement Verify Design Reuse IP Code Reuse IP Software Product Hardware Environment Specify Concept to RTL to GDSII Reusable IP Integration

10 Modeling levels Executable Specification Untimed Functional Model Timed Functional Model Transaction Level Model Platform Transaction Level Model Behavior Hardware Model Pin-accurate, cycle-accurate hardware Model

11 Accuracy of SW/HW models Structural accuracy Timing accuracy Functional accuracy Data organization accuracy Communication protocol accuracy

12 Industry Standard Architecture Co-Design Implement Co-Verify Verify Implement Verify SW CodeHW Design Implement Verify Design Reuse IP Code Reuse IP Software Product Hardware Environment Specify Concept to RTL to GDSII Reusable IP Integration HW & SW Environment Untimed models Transaction- Level Models Code RTL Models IEEE Standard

13 Design flow in the past ! System Level Integration is always done last, is always on the critical path - and is always done too late for architectural redesign Module Verification Module Design Architecture Phase Q0Q1Q2Q3Q4Q5 System Level Int./Verif.

14 SystemC AIM : reduction of design cost System Level Integration is done throughout the lifetime of the project Module Verification System Level Int. / Verif. Module Design Architecture Phase Q0Q1Q2Q3Q4Q5

15 Part 2 : SystemC generalities Main goal of the language Enabling System Level Design What is SystemC SystemC language architecture Methodology Evolution and steering group Pro’s and contra’s

16 SystemC – main goal of the new language! Specification / design refinement Incorporation of HW / SW parts in ONE language Describe executable spec Flexible HW / SW partitioning Fast simulation speed Reusability Not an entirely new language  C++ with HW extension library

17 What is SystemC ? C++ extension library (classes) System Level Design Gradual refinement to gate level HW modeling in SW language Concurrency Concept of time HW data types Hierarchy Controlled by “open SystemC Initiative”

18 Architecture of SystemC 2.0 SystemC Scheduler Events, Dynamic Sensitivity Channels, Interfaces, Ports Elementary channels (signals, FIFOs, …) Methodology-specific and User-Defined Channels

19 SystemC language architecture SystemC language architecture

20 System RTL Physical HW Implementation Verification & Analysis System Level IP SW Implementation C-Compiler Soft IP Hard IP

21 Hardware Software BCA RTL RTOS TF Assign ‘execution time’ HW / SW Partition Architectural mapping Abstr. RTOS Refine communication Functional decomposition UTF SystemC Refine behavior Untimed Functional Timed Functional Bus Cycle Accurate Cycle Accurate Design Exploration Performance Analysis HW/SW partitioning Task Partitioning Target RTOS/Core SpecC Esterel SDL Others Matlab

22 Key to the methodology is that a design may be refined in a gradual step-wise fashion, rather than in one giant step… it need not be “all or nothing”. UTF TF UTFTF BCARTL UTFRTL Details added to portions of the system. Simulation Gradual Refinement of the Design

23 Evolution of SystemC Synthesis / Place & Route etc. Advanced & Functional Verification Links to Verification and Implementation Algorithm Design System Architecture Design Space Exploration Full System Specification x/3.y

24 Open SystemC inititative Steering group

25 Pro’s and contra’s Pro’s One common language Shorter design time Different levels of abstraction Free source code (only C++ compiler is necessary) Contra’s Rapidly evolving Still difficult for one person to go through the entire flow Strictly platform dependent

26 SystemC versus VHDL SystemC Higher level of abstraction that offers a faster simulation speed Access to all of C/C++ Object orienting Programming Built-in system-level modeling capabilities It is easier to protect IP (object files instead of code) VHDL Better for RTL (Register Transfer Level) descriptions RTL descriptions have a better accuracy compared to high level descriptions More tools available

27 Summary Design challenges are moving up to the System Level SystemC provides critical capabilities for modeling, design and verification for HW/SW systems SystemC offers broad commercial tool support Join OSCI to help influence the future of System-level design at:

28 Part 3 : SytemC design example Basic example : LFSR (Linear Feedback Shift Register) General system in SystemC Modules in SystemC Processes in SystemC LFSR SystemC description

29 First design

30 LFSR (Linear Feedback Shift Register)

31 General System in SystemC

32 Modules Definition Ports Instantiation Interconnection Hierarchy Initialization

33 Basic blocks in SystemC SC_MAIN : top level of the system 3 modules : stimuli, functionality, monitor

34 Module : definition Basic SystemC building blocks Break large systems in smaller pieces and insert hierarchy A module can contain : ports, local signals, local data, other modules, functions, processes and constructor Keyword SC_MODULE(name) Describe modules in 2 parts * Module definition (.h file)  Communication * Module functionality (.cpp file)  Functionality

35 Module (signal-) Ports Communication with outside world 3 built-in modes : input port : SC_IN<> output port: SC_OUT<> bidirectional : SC_INOUT<> Each port has a data type f. e. : int, sc_logic, … Special module ports : input clock pin : SC_IN_CLK output clock pin : SC_OUT_CLK

36 Module (signal-) Ports

37 Module : inside Local data member internal calculations Processes contain functionality Constructor Keyword : SC_CTOR(name) initialization mapping member functions to processes

38 Example : my_module.h

39 Hierarchy : interconnect signals Keyword : SC_signal Used to interconnect module ports Used to communicate between processes

40 Hierarchy : example modules inside modules

41 Processes : definition Called to emulate behavior Model hardware : concurrency! No hierarchy Defined as member functions Use sensitivity lists (event driven) 2 types : SC_METHOD SC_THREAD

42 SC_METHOD Can not be suspended Have a sensitivity list Combinatorial logic Fastest process Executed during initialization phase Syntax : SC_METHOD(processname); sensitivity << port (or signal) Supported for RT-synthesis (Synopsys)

43 Example : SC_METHOD

44 SC_THREAD Can be suspended and reactivated (wait( )) Have a sensitivity list Sequential logic Syntax : SC_THREAD(processname); sensitivity << port (or signal); Synthesis support is on-going and hot research topic !

45 Example : SC_THREAD

46 Sensitivity lists Used to activate processes Processes are activated due to the occurrence of an event on an element in the sensitivity list

47 Process versus function Process is defined as a member function A member function becomes a process when it is mapped to a process type : SC_THREAD(my_funtion); Processes are executed in parallel Functions are executed inline

48 FIRST design : LFSR

49 First design : LFSR

50 FIRST DESIGN : LFSR