0% found this document useful (0 votes)
141 views

Lecture6 PDF

This document summarizes Lecture 6 of the EECS222 course on embedded system modeling. It introduces SystemC, an open-source C++ library for modeling electronic systems. The lecture covers an overview of SystemC, including its goals, standardization body, and abstraction levels. It also describes a presentation on the SystemC language given by Stuart Swan of Cadence. Finally, it outlines the third homework assignment, which involves translating a producer-consumer example from SpecC to SystemC.

Uploaded by

Frankie Liu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
141 views

Lecture6 PDF

This document summarizes Lecture 6 of the EECS222 course on embedded system modeling. It introduces SystemC, an open-source C++ library for modeling electronic systems. The lecture covers an overview of SystemC, including its goals, standardization body, and abstraction levels. It also describes a presentation on the SystemC language given by Stuart Swan of Cadence. Finally, it outlines the third homework assignment, which involves translating a producer-consumer example from SpecC to SystemC.

Uploaded by

Frankie Liu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

EECS222: Embedded System Modeling Lecture 6

EECS 222:
Embedded System Modeling
Lecture 6

Rainer Dömer

[email protected]

The Henry Samueli School of Engineering


Electrical Engineering and Computer Science
University of California, Irvine

Lecture 6: Overview
• SystemC System Description Language
– SystemC Overview
– Resources

• Introduction to the SystemC Language


– Presentation by Stuart Swan, Cadence

• Homework Assignment 3
– Producer-consumer example in SystemC

EECS222: Embedded System Modeling, Lecture 6 (c) 2019 R. Doemer 2

(c) 2019 R. Doemer 1


EECS222: Embedded System Modeling Lecture 6

SystemC Overview
• Goals
– Common C++ Modeling Platform
• System level modeling
• Register Transfer Level (RTL) modeling
– Seamless Co-Design of Hardware and Software
– Intellectual Property (IP) Reuse
– Free licensing, Open Source
– Standard, de-facto and official
• Accellera Systems Initiative
– Formerly Open SystemC Initiative (OSCI)
– Standardization body and consortium of leading companies
• Synopsys, Cadence, CoWare, Frontier, ...
• Intel, AMD, Qualcomm, Infineon, NEC, …
– Open community
EECS222: Embedded System Modeling, Lecture 6 (c) 2019 R. Doemer 3

SystemC Overview
• System-Level Description Language
– C++ class library, layered software architecture
– Hierarchy of modules connected by ports
– Communication via interfaces and channels
– Discrete Event Simulation
• Abstraction Levels, Modeling Methodology
– Untimed Model
– Transaction-level Model
– Bus-functional Model
– Cycle-accurate Model

EECS222: Embedded System Modeling, Lecture 6 (c) 2019 R. Doemer 4

(c) 2019 R. Doemer 2


EECS222: Embedded System Modeling Lecture 6

SystemC Overview
• Online Resources (EECS 222 course website)
– Accellera Systems Initiative, SystemC Standardization Body
– SystemC Standard Language Reference Manual
• IEEE 1666-2011 (free download)
 SystemC: From the Ground Up (2nd edition)
 Text book (free download from UCI network)
– SystemC 2.0:
• Introduction, functional specification, user's guide
– SystemC 2.1:
• Overview and features
– SystemC 2.3.1: (recent version, installed on servers)
• New features 2011
– SystemC TLM-2.0:
• Introduction, whitepaper, and requirements

EECS222: Embedded System Modeling, Lecture 6 (c) 2019 R. Doemer 5

Introduction to SystemC
• Presentation by Stuart Swan,
Cadence, 2002
– Goals and Requirements
– History and Organization
– Versions, Contents, Coverage
– Language Architecture
– Modeling, Models of Computation, Examples
– Communication Refinement
– Outlook
• Example:
– simple_fifo.cpp

EECS222: Embedded System Modeling, Lecture 6 (c) 2019 R. Doemer 6

(c) 2019 R. Doemer 3


EECS222: Embedded System Modeling Lecture 6

Homework Assignment 3
• Task: Introduction to SystemC Language and Simulation
• Steps
– SystemC library installed at /opt/pkg/systemc-2.3.1/
– Study and simulate the simple_fifo reference example
– Build and simulate a Producer-Consumer example
• Producer sends “Beans and Potatoes” to consumer
 Translate the SpecC model of Assignment 2 to SystemC
– Reference model ~eecs222/public/ProdCons.sc
 Use the same structure and functionality
 Use the same simple protocol with Ack, Req, and Data
 Hint: For notifications use Ack.notify(SC_ZERO_TIME)
• Deliverables
– Source and log file: ProdCons.cpp, ProdCons.log
• Due
– January 30, 2019, 6pm
EECS222: Embedded System Modeling, Lecture 6 (c) 2019 R. Doemer 7

(c) 2019 R. Doemer 4

You might also like