SlideShare una empresa de Scribd logo
1 de 75
Electronic System Level Design
Basics
蘇文鈺
成大資訊
Why learn ESL
• if you are an undergraduate student, and/or
• if you are a C.S. student, and/or
• if you still do not know in which areas you are
really interested,
• when you still do not know what ESL is?
Because
• This is one of the best ways to start your
learning of C++,
• This is the best way for a C.S. student to study
SoC design,
• This is the biggest advantage C.S. students can
take over E.E. students in SoC related areas,
• This is one of the best ways to learn lots of
tools and languages in HW/SW designs.
What is ESL?
• ESL = Electronic System Level
• ESL doesn’t specify which levels of design should
be employed. It focuses on the concepts of
designing a system, instead of specific
components.
• Then, what is Electronic System Level design flow?
• Design, debug, verify the system using ESL
methodologies, languages, tools and CONCEPTS.
What does level mean?
• In HW design, level means the degree of the
design details, or the level of abstraction, of the
model of the target design. For example,
–
–
–
–
–
–
–
–

Transistor level
Gate level
Register transfer level (RTL)
Transaction level
Behavior level
Architecture level
Algorithmic level
…. And so on.
Before the answer is made
• Let’s ask “Why ESL design flow is needed?”
–
–
–
–
–
–
–
–
–

Huge system
Extraordinarily high complexity
Design reuse
Slow simulation speed
Difficulty in integration
Mixed/multiple disciplines
HW/SW co-design/co-simulation/co-….
And so on.
Most importantly, time-to-market
Design Complexity from Different Design
Generation

David C. Black
Jack Donovan
These are not reasons
• They are just problems. Imagine
– You have a system with 10 processor cores, each
having its own memory system. There are shared
memory spaces for the cores. 20 different peripherals
to control. There are 20 programmers using 8 different
languages to develop 30 different applications on this
system which needs to support 2 different OS. And the
biggest problem is

• To cope with these problems, what do we need?
We need
• A super fast simulator
• A simulator supports mixed abstraction level
designs
• An integrated HW/SW co-development
environment
• A super fast simulation environment
• … and so on.
• To do this, what are the first few steps?
How about …
• New modeling languages instead of HDL
– SystemC, an open standard adopted by OSCI and
IEEE. Since programming using SystemC is the
main subject of this course, we will leave the
introduction of SystemC later in this course.

• New Modeling methods instead of RTL
– TLM, Transaction Level Modeling
– New languages do not give you speed. New
Modeling methods do.
Various Abstraction Levels
are new levels good

Transistor Level

for ?
Gate Level

Register Transfer Level

Transaction Level

What else?

should they be used?
it worth the effort to
write models for another
new level?
Why Abstraction MAY give you more
speed?
• Detail implementation is skipped
• High level programming languages can
be used
•
•
•
•

Powerful multi-CPU computers can be used
Faster model implementation
Reusing existing models
…
Instead of modeling all the details,
• For example, just Modeling Transaction may be
enough. If this is the case, we call it TLM
(Transaction Level Modeling)
• Transaction means “Communication”, “Exchange”,
“Interaction”, …, and so on.
• Transaction between/among functional blocks,
components, models, ….
• What we care about are: the content of each
transaction and probably the timing of each
transaction.
• What we do not care about are: ……
Why only focus on Modeling
Transaction?
• Higher abstraction level (This is not really the purpose)
• Separate the implementation of communication and
computation
• Simplify the model implementation
• Focus on System integration
• Design reuse
• One can adopt CBSD (Component Based Software
Development) methodologies. (This is not really the
purpose, either)
• …
What may be sacrificed if higher
abstraction level is used?
• Accuracy
– Time accuracy, for example, not cycle accurate
– Circuit-wise accuracy, for example, not pin
accurate
– Information accuracy, such as performance related
instead of functionality related, for example,
amount of bits transferred in a certain time frame.
– The more abstract, the less accurate.
Abstraction Levels in SoC design

David C. Black
Jack Donovan
Model referred in this course
• When “model” is referred, we usually talk
about the correspondent form existing in a
computer the model wants to describe.
Usually, it is implemented with a certain
programming language in this course.
• Model can be model of the system or model
of one of the components of the system
Time Accuracy of Model
• Un-timed (UT): no timing information is included
in the models. Only functionality is implemented.
• Approximately-Timed (AT): usually a quantum is
used to describe the time information of the
model. A quantum may be a certain number of
cycles which may derived from estimation or
actual implementation. Time annotation is
usually required.
• Cycle-Timed (CT): also called cycle-accurate (CA).
Cycle Accurate and Cycle
Approximated
What is TLM?
• There is no clear definition except that ..
– Abstracts the expected behavior of a given system.
– Using function calls and events for data exchange,
and synchronization instead of using signals and
registers.
– Providing set of Application Programming Interfaces
(APIs) to facilitating architectural exploration, efficient
modeling of complex given system.
– No consideration of any implementation details - such
as architecture address mapping information.
– Now we have standard TLM library in SystemC to use.
Principles of TLM
• Independent of programming languages
• Separation of the modeling of computation and
communication.
• Modeling of components as modules.
• Communication structure by means of channels.
• Modules and channels are bound to each other by
communication ports.
• A set of data is exchanged by a transaction.
• System synchronization is an explicit action between modules.
Why is TLM so interesting ?
•
•
•
•
•

Fast and compact
Integrate SW and HW models
Early platform for SW development
Early system exploration and verification
Function verification reuse

2005 Cadence Design Systems
Keys
•
•
•
•
•
•
•
•
•

Model only what you need
Get the result early
Get the transaction behavior right first
Less code can lead to higher simulation speed
Use Increment design process
Build verification model in the process
Consider mixed-level modeling
Do not use slow C constructs
Avoid clock threads if possible
Be Careful
• What you see may not be what you get. Good
interpretation is always needed.
• Timing requirement may not be always
achievable
• Model consistency
• Data/memory consistency unless TLM library
is used
• Not to go into too many details too early as
most logic designers will do
Different Stages of TLM

Dan Gajsky, Lukai Cai
CODES 2003
What are not TLM?
• RTL: cycle accurate, pin accurate, and so on. Too
detailed, especially the computation part. This makes
the simulation very slow.
• SM (Specification Model): Only functionality
specification is ready. There is not even the
specification for the architecture.
• SAM(System Architecture Model): without any
timing annotation. Though too rough for HW
implementation, it is still valuable for system
modeling. It can be considered as the one close step
toward TLM.
TLM Model Terminologies
• module: each component, including computation and
communication ones, are called a module.
• channel/interconnect: an interface structure that
establish the communication among the modules.
• port: the binding between a module and the channel
associated with it.
• transaction: a data set to be exchanged among
modules.
• master/initiator: a module that requests a transaction.
• slave/target: a module that receive a transaction from
a master or is responsible for a transaction request.
TLM Implementation Terminologies
• processes/threads: a mechanism that allows one
to implement modules which are executed in
parallel using a simulator (or computer).
• synchronization: a mechanism that allows
modules to cooperate on common jobs over
time.
• timed/un-timed TLMs: the transaction level
models with or without timing annotations.
• channel cycle accurate (CCA): the
implementation is cycle accurate only for the
channels within the target system.
Rules To-be or Not-to-be
• Implementation details of the overall system
should not be included. Said too many times.
• synchronization is required to build up the
dependencies among modules which run in
parallel using processes or threads.
• modules must be bit-true
• component interfaces must be register
accurate
• communication must be bit-true
Bus Component Model (BCM)
• Abstract bus channels: pin assignment and
bus protocol be omitted
• Transaction count is available, but exact cycle
count for the transaction is not known.
• No timing annotation for the computation
modules
• Close to system architecture model (SAM)
Component Assembly Model (CAM)
• Similar to BCM, but
– timing annotation is available in computation
modules, instead of communication modules.

• Computation module is regarded as a
processing element (PE)
– An ISS (Instruction Set Simulator) based module.
Not cycle accurate, but provide instruction counts
for a job.
– A simple combinational and/or sequential logic
with I/O ports
Bus Arbitration Model (BAM)
• One step further from either BCM or ATCM
• Bus arbiter is included
• Bus protocol is implemented though not to
the cycle accurate level
Bus Functional Model (BFM)
• Cycle accuracy is required for communication
modules, but not computation modules.
• Bus protocol be implemented in full details
with respect to the master clock signal
• Pin accurate: virtual wires of the bus are
implemented with variables/signals.
• Good approximation of true system
performance
Cycle Accurate Computation Model
(CACM)
• Pin accurate
• Communication among modules goes through
abstract channels
• Suitable when some modules have finished
their designs and there are existing IPs which
include ESL simulation models.
Cycle Accurate Implementation Model
(CAIM)
• Cycle-accurate implementation of all
computation and communication
modules/components
• Slow in simulation speed
• Close to RTL
• Not a TLM
Design Stages of TLM
RTL in HDL
Target

Communication

CT

BFM

CAIM

CACM

AT

BCM

BAM

UT

SAM

CAM

SM
: TLM
UT

AT

Computation

CT
Others: Not TLM
Example used by Gajski
Specification Model (SM) or
System Architecture Model (SAM)
Example used by Gajski
Component Assembly Model (CAM)
Example used by Gajski
Bus Assembly Model (BAM)
Example used by Gajski
Set up the Timing Spec.
Example used by Gajski
Bus Functional Model (BFM)
Example used by Gajski
Cycle-Accurate Computation Model (CACM)
Example used by Gajski
CAIM
Incremental Design Flow using TLM
RTL in HDL

Communication

CT

BFM

CAIM

CACM

AT

BCM

BAM

UT

SAM

CAM
: TLM
Others: Not TLM

SM
UT

AT

Computation

CT
Characteristics of TLM models

By Gajski’s definition
Characteristics of TLM models
Models

Communication Computation
Time
Time

Communication PE interface
Scheme

SAM

no

no

Not specified

No PE or Rough
PE

BCM

appro.

no

Abstract bus
model

abstract

CAM

no

approx.

Message
passing channel

abstract

BAM

approx.

approx.

Abstract bus
model

abstract

BFM

Cycle accurate

approx.

Detail bus
model

abstract

CACM

approx.

Cycle accurate

Abstract bus
model

Pin accurate

CAIM

Cycle accurate

Cycle accurate

wire

Pin accurate
By this course
Basic SoC Design Flow
How TLM is used in ESL design flow?
Requirement Development

SM/SAM

Transaction Level Model
Development

TLM
SW
design,
Development
and
Profiling

HW Design/Refinement

RTL

HW
Verification,
Emulation
and
Profiling
Why simulation model is useful?
System
Requirement
System
Spec.
Executable
System Spec.

PIM

Simulation Model as the
Executable System Spec.

DSE

HW Spec.

SW Spec.

HW
Implementation

SW
Implementation

PSM

PIM: Platform Independent Model
PSM: Platform Specified Model
Speed Comparison of Different ESL/EDA
approaches
Modified from ARM

Chris Lennard, Davorin Mista

FPGA Based
Developers

50
Why ESL design flow is needed?
• Obviously, simulation speed.
• IP-based design flow
• Early HW/SW Co-design for parallel
development
• HW/SW development around a common
environment
• Mixed level simulation
• Save development time
However
• High abstraction level gives you speed, not
language,
– even when you use SystemC. Modeling methodology
determine the level, not the language.
– If your simulator does not give you speed, do not use
it.
– If you are modeling at a much higher level but get not
much speedup, something is wrong.
– Carefully choose timing accuracy. CA may slow down
simulation very much. Cycle accuracy may sometimes
be a myth.
Why IP-based design?
• Why use ESL if building a system from ground?
– You need an extra ESL platform.
– You usually have to spend lots of time on building
ESL models.
– You need a strong ESL team.
– Unless you have good roadmap toward develop
IP-based design flow.
HW/SW Co-design
• ESL is useful when you need to run SW on HW.
– Early system performance profiling
– Find HW bottleneck
– Parallel development
– Find bugs earlier
– Working on the same platform help
communication between HW and SW people

• ESL is still encouraged when no SW is present.
Mixed level simulation
• A very important feature to allow people of
different skills and levels to work on the same
project.
– Mixing models of gate-level, RTL, TLM, or even
algorithmic level
– Even Matlab and FPGA models
– Provide progressive design path
Development time
• If development time is not saved
– Do not use ESL, or
– There must be something wrong
Co-Design Environment
Eclipse IDE
Appilication

Hardware Models
(Simulator)

Software gdb

Simulator gdb

Native System (x86)
SW Tool Chain
Compiler

Eclipse Integrated
Developed Environment

Assembler

CDT plug-in
GDB/MI interface
GDB/MI interface

User interface

Debugger
Target side

RSP
RSP
Debugging Stub

Simulator
(SyetemC)

Linker
Progressive Design Flow
Three stage pipeline design:
A. SW model: high abstraction level model
B. TLM model:very close to architecture
C. HW model :HDL

交互驗證
Detailed Flow: Early stage
TLM/ESL Modeling stage
Final Integration Stage
Verification and Debugging
Impact of Development Cycle Change
• Traditional Design Procedure
SW Development

Specification

HW development

System testing

Integration & Debug

• New ESL Design Procedure
SW
HW/SW
development early integration

Specification

Modeling
Environment

Simulation
HW development

Integration
&
Debug

CoWare Inc. 2006
Virtual Platform

System testing

Time saving
Commercial tool: SOC Designer
Work Space

Cache Profiling window

Waveform Viewer

Assembly code window
Memory maps
Commercial tool: CoWare
Open Source: GreenSoc (not so open)
GreenScript

Config PlugIn

GreenAV PlugIn

GreenControl Core

ESL
Tools

Config User I/F

User IP 1 GreenBus I/F

GreenAV User I/F
Config User I/F

User IP 2 GreenBus I/F

Config User I/F

Specific PlugIn

User IP 3 GreenBus I/F

Specific User I/F

SystemC
SCREAM Lab OpenESL
SCREAM Lab OpenESL
FPGA tool:
Berkeley BEE2
FPGA tool: NCKU Multicore
FPGA tool: SMIMS
Where are we going?
The rest of related topics
• SystemC
– Some C++ review
– Threads and Processes
– SystemC programming

• Logic Design
– Simple digital design using Verilog at RTL
– HDL simulator
– FPGA

• Computer architecture
– Bus based
– NoC based

• OpenESL
– Start a SoC project
– Heterogeneous tools: SystemC, FPGA, Matlab, …..
Let’s kick off

Más contenido relacionado

La actualidad más candente

강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019
강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019
강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019devCAT Studio, NEXON
 
Linux KVM のコードを追いかけてみよう
Linux KVM のコードを追いかけてみようLinux KVM のコードを追いかけてみよう
Linux KVM のコードを追いかけてみようTsuyoshi OZAWA
 
Integrating PostgreSql with RabbitMQ
Integrating PostgreSql with RabbitMQIntegrating PostgreSql with RabbitMQ
Integrating PostgreSql with RabbitMQGavin Roy
 
Uvm cookbook-systemverilog-guidelines-verification-academy
Uvm cookbook-systemverilog-guidelines-verification-academyUvm cookbook-systemverilog-guidelines-verification-academy
Uvm cookbook-systemverilog-guidelines-verification-academyRaghavendra Kamath
 
Secure boot general
Secure boot generalSecure boot general
Secure boot generalPrabhu Swamy
 
UVM Driver sequencer handshaking
UVM Driver sequencer handshakingUVM Driver sequencer handshaking
UVM Driver sequencer handshakingHARINATH REDDY
 
System Verilog Functional Coverage
System Verilog Functional CoverageSystem Verilog Functional Coverage
System Verilog Functional Coveragerraimi
 
Hands on with CoAP and Californium
Hands on with CoAP and CaliforniumHands on with CoAP and Californium
Hands on with CoAP and CaliforniumJulien Vermillard
 
NHN 게임서버엔진팀 리빌딩과 운영 방침.pdf
NHN 게임서버엔진팀 리빌딩과 운영 방침.pdfNHN 게임서버엔진팀 리빌딩과 운영 방침.pdf
NHN 게임서버엔진팀 리빌딩과 운영 방침.pdfMancheol Jeon
 
Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징
Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징
Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징Yongjun Kim
 
03 Fichas e tomadas industriais- Tomas y clavijas industriales - Industrial p...
03 Fichas e tomadas industriais- Tomas y clavijas industriales - Industrial p...03 Fichas e tomadas industriais- Tomas y clavijas industriales - Industrial p...
03 Fichas e tomadas industriais- Tomas y clavijas industriales - Industrial p...JSL Material Eléctrico (JSantos)
 
Autosar basics by ARCCORE
Autosar basics by ARCCOREAutosar basics by ARCCORE
Autosar basics by ARCCOREARCCORE
 
NSC #2 - D2 02 - Benjamin Delpy - Mimikatz
NSC #2 - D2 02 - Benjamin Delpy - MimikatzNSC #2 - D2 02 - Benjamin Delpy - Mimikatz
NSC #2 - D2 02 - Benjamin Delpy - MimikatzNoSuchCon
 
A Journey into Hexagon: Dissecting Qualcomm Basebands
A Journey into Hexagon: Dissecting Qualcomm BasebandsA Journey into Hexagon: Dissecting Qualcomm Basebands
A Journey into Hexagon: Dissecting Qualcomm BasebandsPriyanka Aash
 
Advances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of EngineeringAdvances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of EngineeringRamdas Mozhikunnath
 
Wi-Fi Roaming Security and Privacy
Wi-Fi Roaming Security and PrivacyWi-Fi Roaming Security and Privacy
Wi-Fi Roaming Security and PrivacyKarri Huhtanen
 

La actualidad más candente (20)

Intro to CloudStack API
Intro to CloudStack APIIntro to CloudStack API
Intro to CloudStack API
 
강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019
강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019
강성훈, 실버바인 대기열 서버 설계 리뷰, NDC2019
 
Linux KVM のコードを追いかけてみよう
Linux KVM のコードを追いかけてみようLinux KVM のコードを追いかけてみよう
Linux KVM のコードを追いかけてみよう
 
VIRDI UNIS SERVER V3.0
VIRDI UNIS SERVER V3.0VIRDI UNIS SERVER V3.0
VIRDI UNIS SERVER V3.0
 
Integrating PostgreSql with RabbitMQ
Integrating PostgreSql with RabbitMQIntegrating PostgreSql with RabbitMQ
Integrating PostgreSql with RabbitMQ
 
OpenStack Heat
OpenStack HeatOpenStack Heat
OpenStack Heat
 
FlexRay
FlexRayFlexRay
FlexRay
 
Uvm cookbook-systemverilog-guidelines-verification-academy
Uvm cookbook-systemverilog-guidelines-verification-academyUvm cookbook-systemverilog-guidelines-verification-academy
Uvm cookbook-systemverilog-guidelines-verification-academy
 
Secure boot general
Secure boot generalSecure boot general
Secure boot general
 
UVM Driver sequencer handshaking
UVM Driver sequencer handshakingUVM Driver sequencer handshaking
UVM Driver sequencer handshaking
 
System Verilog Functional Coverage
System Verilog Functional CoverageSystem Verilog Functional Coverage
System Verilog Functional Coverage
 
Hands on with CoAP and Californium
Hands on with CoAP and CaliforniumHands on with CoAP and Californium
Hands on with CoAP and Californium
 
NHN 게임서버엔진팀 리빌딩과 운영 방침.pdf
NHN 게임서버엔진팀 리빌딩과 운영 방침.pdfNHN 게임서버엔진팀 리빌딩과 운영 방침.pdf
NHN 게임서버엔진팀 리빌딩과 운영 방침.pdf
 
Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징
Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징
Android Studio에서 vim사용과 오픈소스 ideavim 커스터마이징
 
03 Fichas e tomadas industriais- Tomas y clavijas industriales - Industrial p...
03 Fichas e tomadas industriais- Tomas y clavijas industriales - Industrial p...03 Fichas e tomadas industriais- Tomas y clavijas industriales - Industrial p...
03 Fichas e tomadas industriais- Tomas y clavijas industriales - Industrial p...
 
Autosar basics by ARCCORE
Autosar basics by ARCCOREAutosar basics by ARCCORE
Autosar basics by ARCCORE
 
NSC #2 - D2 02 - Benjamin Delpy - Mimikatz
NSC #2 - D2 02 - Benjamin Delpy - MimikatzNSC #2 - D2 02 - Benjamin Delpy - Mimikatz
NSC #2 - D2 02 - Benjamin Delpy - Mimikatz
 
A Journey into Hexagon: Dissecting Qualcomm Basebands
A Journey into Hexagon: Dissecting Qualcomm BasebandsA Journey into Hexagon: Dissecting Qualcomm Basebands
A Journey into Hexagon: Dissecting Qualcomm Basebands
 
Advances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of EngineeringAdvances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of Engineering
 
Wi-Fi Roaming Security and Privacy
Wi-Fi Roaming Security and PrivacyWi-Fi Roaming Security and Privacy
Wi-Fi Roaming Security and Privacy
 

Destacado

Systemc overview 2010
Systemc overview 2010Systemc overview 2010
Systemc overview 2010敬倫 林
 
Week1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC BeginWeek1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC Begin敬倫 林
 
Concurrency 2010
Concurrency 2010Concurrency 2010
Concurrency 2010敬倫 林
 
C++ process new
C++ process newC++ process new
C++ process new敬倫 林
 
Transaction level modeling an overview
Transaction level modeling an overviewTransaction level modeling an overview
Transaction level modeling an overviewfagunp
 
Track c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eveTrack c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -evechiportal
 
Top five reasons why every DV engineer will love the latest systemverilog 201...
Top five reasons why every DV engineer will love the latest systemverilog 201...Top five reasons why every DV engineer will love the latest systemverilog 201...
Top five reasons why every DV engineer will love the latest systemverilog 201...Srinivasan Venkataramanan
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessDVClub
 
How to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveHow to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveAmiq Consulting
 
A Systematic Approach to Creating Behavioral Models (white paper) v1.0
A Systematic Approach to Creating Behavioral Models (white paper) v1.0A Systematic Approach to Creating Behavioral Models (white paper) v1.0
A Systematic Approach to Creating Behavioral Models (white paper) v1.0Robert O. Peruzzi, PhD, PE, DFE
 
UVM Ral model usage
UVM Ral model usageUVM Ral model usage
UVM Ral model usageParth Pandya
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register PackageDVClub
 
SystemVerilog Assertions verification with SVAUnit - DVCon US 2016 Tutorial
SystemVerilog Assertions verification with SVAUnit - DVCon US 2016 TutorialSystemVerilog Assertions verification with SVAUnit - DVCon US 2016 Tutorial
SystemVerilog Assertions verification with SVAUnit - DVCon US 2016 TutorialAmiq Consulting
 
Design and Implementation of an Advanced DMA Controller on AMBA-Based SoC
Design and Implementation of an Advanced DMA Controller on AMBA-Based SoCDesign and Implementation of an Advanced DMA Controller on AMBA-Based SoC
Design and Implementation of an Advanced DMA Controller on AMBA-Based SoCRabindranath Tagore University, Bhopal
 

Destacado (20)

Channel 2010
Channel 2010Channel 2010
Channel 2010
 
SystemC Ports
SystemC PortsSystemC Ports
SystemC Ports
 
Systemc overview 2010
Systemc overview 2010Systemc overview 2010
Systemc overview 2010
 
Week1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC BeginWeek1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC Begin
 
Concurrency 2010
Concurrency 2010Concurrency 2010
Concurrency 2010
 
C++ process new
C++ process newC++ process new
C++ process new
 
Aes
AesAes
Aes
 
Transaction level modeling an overview
Transaction level modeling an overviewTransaction level modeling an overview
Transaction level modeling an overview
 
MixedSignal UVM Demo CDNLive
MixedSignal UVM Demo CDNLiveMixedSignal UVM Demo CDNLive
MixedSignal UVM Demo CDNLive
 
Track c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eveTrack c-High speed transaction-based hw-sw coverification -eve
Track c-High speed transaction-based hw-sw coverification -eve
 
Top five reasons why every DV engineer will love the latest systemverilog 201...
Top five reasons why every DV engineer will love the latest systemverilog 201...Top five reasons why every DV engineer will love the latest systemverilog 201...
Top five reasons why every DV engineer will love the latest systemverilog 201...
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification Process
 
How to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveHow to Connect SystemVerilog with Octave
How to Connect SystemVerilog with Octave
 
A Systematic Approach to Creating Behavioral Models (white paper) v1.0
A Systematic Approach to Creating Behavioral Models (white paper) v1.0A Systematic Approach to Creating Behavioral Models (white paper) v1.0
A Systematic Approach to Creating Behavioral Models (white paper) v1.0
 
UVM Ral model usage
UVM Ral model usageUVM Ral model usage
UVM Ral model usage
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register Package
 
SystemVerilog Assertions verification with SVAUnit - DVCon US 2016 Tutorial
SystemVerilog Assertions verification with SVAUnit - DVCon US 2016 TutorialSystemVerilog Assertions verification with SVAUnit - DVCon US 2016 Tutorial
SystemVerilog Assertions verification with SVAUnit - DVCon US 2016 Tutorial
 
stack
stackstack
stack
 
Design and Implementation of an Advanced DMA Controller on AMBA-Based SoC
Design and Implementation of an Advanced DMA Controller on AMBA-Based SoCDesign and Implementation of an Advanced DMA Controller on AMBA-Based SoC
Design and Implementation of an Advanced DMA Controller on AMBA-Based SoC
 
Queue
QueueQueue
Queue
 

Similar a Esl basics

System on Chip Design and Modelling Dr. David J Greaves
System on Chip Design and Modelling   Dr. David J GreavesSystem on Chip Design and Modelling   Dr. David J Greaves
System on Chip Design and Modelling Dr. David J GreavesSatya Harish
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsSiva Kumar
 
On mp so c software execution at the transaction level
On mp so c software execution at the transaction levelOn mp so c software execution at the transaction level
On mp so c software execution at the transaction levelTAIWAN
 
Presentation date -20-nov-2012 for prof. chen
Presentation date -20-nov-2012 for prof. chenPresentation date -20-nov-2012 for prof. chen
Presentation date -20-nov-2012 for prof. chenTAIWAN
 
Presentation on Behavioral Synthesis & SystemC
Presentation on Behavioral Synthesis & SystemCPresentation on Behavioral Synthesis & SystemC
Presentation on Behavioral Synthesis & SystemCMukit Ahmed Chowdhury
 
Chap 2 classification of parralel architecture and introduction to parllel p...
Chap 2  classification of parralel architecture and introduction to parllel p...Chap 2  classification of parralel architecture and introduction to parllel p...
Chap 2 classification of parralel architecture and introduction to parllel p...Malobe Lottin Cyrille Marcel
 
Software Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxSoftware Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxgauriVarshney8
 
Presentation systemc
Presentation systemcPresentation systemc
Presentation systemcSUBRAHMANYA S
 
Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdfSwatantraPrakash5
 
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...WSO2
 
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...Lola Burgueño
 
Architectural design1
Architectural design1Architectural design1
Architectural design1Zahid Hussain
 
Architectural design1
Architectural design1Architectural design1
Architectural design1Zahid Hussain
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentationdikshagupta111
 
Coding For Cores - C# Way
Coding For Cores - C# WayCoding For Cores - C# Way
Coding For Cores - C# WayBishnu Rawal
 
Data structures and algorithms Module-1.pdf
Data structures and algorithms Module-1.pdfData structures and algorithms Module-1.pdf
Data structures and algorithms Module-1.pdfDukeCalvin
 

Similar a Esl basics (20)

System on Chip Design and Modelling Dr. David J Greaves
System on Chip Design and Modelling   Dr. David J GreavesSystem on Chip Design and Modelling   Dr. David J Greaves
System on Chip Design and Modelling Dr. David J Greaves
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processors
 
On mp so c software execution at the transaction level
On mp so c software execution at the transaction levelOn mp so c software execution at the transaction level
On mp so c software execution at the transaction level
 
Presentation date -20-nov-2012 for prof. chen
Presentation date -20-nov-2012 for prof. chenPresentation date -20-nov-2012 for prof. chen
Presentation date -20-nov-2012 for prof. chen
 
Presentation on Behavioral Synthesis & SystemC
Presentation on Behavioral Synthesis & SystemCPresentation on Behavioral Synthesis & SystemC
Presentation on Behavioral Synthesis & SystemC
 
Chap 2 classification of parralel architecture and introduction to parllel p...
Chap 2  classification of parralel architecture and introduction to parllel p...Chap 2  classification of parralel architecture and introduction to parllel p...
Chap 2 classification of parralel architecture and introduction to parllel p...
 
Software Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxSoftware Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptx
 
Presentation systemc
Presentation systemcPresentation systemc
Presentation systemc
 
Hpc 6 7
Hpc 6 7Hpc 6 7
Hpc 6 7
 
Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdf
 
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
 
Embedded
EmbeddedEmbedded
Embedded
 
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
 
Aca module 1
Aca module 1Aca module 1
Aca module 1
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentation
 
Coding For Cores - C# Way
Coding For Cores - C# WayCoding For Cores - C# Way
Coding For Cores - C# Way
 
Data structures and algorithms Module-1.pdf
Data structures and algorithms Module-1.pdfData structures and algorithms Module-1.pdf
Data structures and algorithms Module-1.pdf
 
Mit16 30 f10_lec01
Mit16 30 f10_lec01Mit16 30 f10_lec01
Mit16 30 f10_lec01
 

Último

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 

Último (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

Esl basics

  • 1. Electronic System Level Design Basics 蘇文鈺 成大資訊
  • 2. Why learn ESL • if you are an undergraduate student, and/or • if you are a C.S. student, and/or • if you still do not know in which areas you are really interested, • when you still do not know what ESL is?
  • 3. Because • This is one of the best ways to start your learning of C++, • This is the best way for a C.S. student to study SoC design, • This is the biggest advantage C.S. students can take over E.E. students in SoC related areas, • This is one of the best ways to learn lots of tools and languages in HW/SW designs.
  • 4. What is ESL? • ESL = Electronic System Level • ESL doesn’t specify which levels of design should be employed. It focuses on the concepts of designing a system, instead of specific components. • Then, what is Electronic System Level design flow? • Design, debug, verify the system using ESL methodologies, languages, tools and CONCEPTS.
  • 5. What does level mean? • In HW design, level means the degree of the design details, or the level of abstraction, of the model of the target design. For example, – – – – – – – – Transistor level Gate level Register transfer level (RTL) Transaction level Behavior level Architecture level Algorithmic level …. And so on.
  • 6. Before the answer is made • Let’s ask “Why ESL design flow is needed?” – – – – – – – – – Huge system Extraordinarily high complexity Design reuse Slow simulation speed Difficulty in integration Mixed/multiple disciplines HW/SW co-design/co-simulation/co-…. And so on. Most importantly, time-to-market
  • 7. Design Complexity from Different Design Generation David C. Black Jack Donovan
  • 8. These are not reasons • They are just problems. Imagine – You have a system with 10 processor cores, each having its own memory system. There are shared memory spaces for the cores. 20 different peripherals to control. There are 20 programmers using 8 different languages to develop 30 different applications on this system which needs to support 2 different OS. And the biggest problem is • To cope with these problems, what do we need?
  • 9. We need • A super fast simulator • A simulator supports mixed abstraction level designs • An integrated HW/SW co-development environment • A super fast simulation environment • … and so on. • To do this, what are the first few steps?
  • 10. How about … • New modeling languages instead of HDL – SystemC, an open standard adopted by OSCI and IEEE. Since programming using SystemC is the main subject of this course, we will leave the introduction of SystemC later in this course. • New Modeling methods instead of RTL – TLM, Transaction Level Modeling – New languages do not give you speed. New Modeling methods do.
  • 11. Various Abstraction Levels are new levels good Transistor Level for ? Gate Level Register Transfer Level Transaction Level What else? should they be used? it worth the effort to write models for another new level?
  • 12. Why Abstraction MAY give you more speed? • Detail implementation is skipped • High level programming languages can be used • • • • Powerful multi-CPU computers can be used Faster model implementation Reusing existing models …
  • 13. Instead of modeling all the details, • For example, just Modeling Transaction may be enough. If this is the case, we call it TLM (Transaction Level Modeling) • Transaction means “Communication”, “Exchange”, “Interaction”, …, and so on. • Transaction between/among functional blocks, components, models, …. • What we care about are: the content of each transaction and probably the timing of each transaction. • What we do not care about are: ……
  • 14. Why only focus on Modeling Transaction? • Higher abstraction level (This is not really the purpose) • Separate the implementation of communication and computation • Simplify the model implementation • Focus on System integration • Design reuse • One can adopt CBSD (Component Based Software Development) methodologies. (This is not really the purpose, either) • …
  • 15. What may be sacrificed if higher abstraction level is used? • Accuracy – Time accuracy, for example, not cycle accurate – Circuit-wise accuracy, for example, not pin accurate – Information accuracy, such as performance related instead of functionality related, for example, amount of bits transferred in a certain time frame. – The more abstract, the less accurate.
  • 16. Abstraction Levels in SoC design David C. Black Jack Donovan
  • 17. Model referred in this course • When “model” is referred, we usually talk about the correspondent form existing in a computer the model wants to describe. Usually, it is implemented with a certain programming language in this course. • Model can be model of the system or model of one of the components of the system
  • 18. Time Accuracy of Model • Un-timed (UT): no timing information is included in the models. Only functionality is implemented. • Approximately-Timed (AT): usually a quantum is used to describe the time information of the model. A quantum may be a certain number of cycles which may derived from estimation or actual implementation. Time annotation is usually required. • Cycle-Timed (CT): also called cycle-accurate (CA).
  • 19. Cycle Accurate and Cycle Approximated
  • 20. What is TLM? • There is no clear definition except that .. – Abstracts the expected behavior of a given system. – Using function calls and events for data exchange, and synchronization instead of using signals and registers. – Providing set of Application Programming Interfaces (APIs) to facilitating architectural exploration, efficient modeling of complex given system. – No consideration of any implementation details - such as architecture address mapping information. – Now we have standard TLM library in SystemC to use.
  • 21. Principles of TLM • Independent of programming languages • Separation of the modeling of computation and communication. • Modeling of components as modules. • Communication structure by means of channels. • Modules and channels are bound to each other by communication ports. • A set of data is exchanged by a transaction. • System synchronization is an explicit action between modules.
  • 22. Why is TLM so interesting ? • • • • • Fast and compact Integrate SW and HW models Early platform for SW development Early system exploration and verification Function verification reuse 2005 Cadence Design Systems
  • 23. Keys • • • • • • • • • Model only what you need Get the result early Get the transaction behavior right first Less code can lead to higher simulation speed Use Increment design process Build verification model in the process Consider mixed-level modeling Do not use slow C constructs Avoid clock threads if possible
  • 24. Be Careful • What you see may not be what you get. Good interpretation is always needed. • Timing requirement may not be always achievable • Model consistency • Data/memory consistency unless TLM library is used • Not to go into too many details too early as most logic designers will do
  • 25. Different Stages of TLM Dan Gajsky, Lukai Cai CODES 2003
  • 26. What are not TLM? • RTL: cycle accurate, pin accurate, and so on. Too detailed, especially the computation part. This makes the simulation very slow. • SM (Specification Model): Only functionality specification is ready. There is not even the specification for the architecture. • SAM(System Architecture Model): without any timing annotation. Though too rough for HW implementation, it is still valuable for system modeling. It can be considered as the one close step toward TLM.
  • 27. TLM Model Terminologies • module: each component, including computation and communication ones, are called a module. • channel/interconnect: an interface structure that establish the communication among the modules. • port: the binding between a module and the channel associated with it. • transaction: a data set to be exchanged among modules. • master/initiator: a module that requests a transaction. • slave/target: a module that receive a transaction from a master or is responsible for a transaction request.
  • 28. TLM Implementation Terminologies • processes/threads: a mechanism that allows one to implement modules which are executed in parallel using a simulator (or computer). • synchronization: a mechanism that allows modules to cooperate on common jobs over time. • timed/un-timed TLMs: the transaction level models with or without timing annotations. • channel cycle accurate (CCA): the implementation is cycle accurate only for the channels within the target system.
  • 29. Rules To-be or Not-to-be • Implementation details of the overall system should not be included. Said too many times. • synchronization is required to build up the dependencies among modules which run in parallel using processes or threads. • modules must be bit-true • component interfaces must be register accurate • communication must be bit-true
  • 30. Bus Component Model (BCM) • Abstract bus channels: pin assignment and bus protocol be omitted • Transaction count is available, but exact cycle count for the transaction is not known. • No timing annotation for the computation modules • Close to system architecture model (SAM)
  • 31. Component Assembly Model (CAM) • Similar to BCM, but – timing annotation is available in computation modules, instead of communication modules. • Computation module is regarded as a processing element (PE) – An ISS (Instruction Set Simulator) based module. Not cycle accurate, but provide instruction counts for a job. – A simple combinational and/or sequential logic with I/O ports
  • 32. Bus Arbitration Model (BAM) • One step further from either BCM or ATCM • Bus arbiter is included • Bus protocol is implemented though not to the cycle accurate level
  • 33. Bus Functional Model (BFM) • Cycle accuracy is required for communication modules, but not computation modules. • Bus protocol be implemented in full details with respect to the master clock signal • Pin accurate: virtual wires of the bus are implemented with variables/signals. • Good approximation of true system performance
  • 34. Cycle Accurate Computation Model (CACM) • Pin accurate • Communication among modules goes through abstract channels • Suitable when some modules have finished their designs and there are existing IPs which include ESL simulation models.
  • 35. Cycle Accurate Implementation Model (CAIM) • Cycle-accurate implementation of all computation and communication modules/components • Slow in simulation speed • Close to RTL • Not a TLM
  • 36. Design Stages of TLM RTL in HDL Target Communication CT BFM CAIM CACM AT BCM BAM UT SAM CAM SM : TLM UT AT Computation CT Others: Not TLM
  • 37. Example used by Gajski Specification Model (SM) or System Architecture Model (SAM)
  • 38. Example used by Gajski Component Assembly Model (CAM)
  • 39. Example used by Gajski Bus Assembly Model (BAM)
  • 40. Example used by Gajski Set up the Timing Spec.
  • 41. Example used by Gajski Bus Functional Model (BFM)
  • 42. Example used by Gajski Cycle-Accurate Computation Model (CACM)
  • 43. Example used by Gajski CAIM
  • 44. Incremental Design Flow using TLM RTL in HDL Communication CT BFM CAIM CACM AT BCM BAM UT SAM CAM : TLM Others: Not TLM SM UT AT Computation CT
  • 45. Characteristics of TLM models By Gajski’s definition
  • 46. Characteristics of TLM models Models Communication Computation Time Time Communication PE interface Scheme SAM no no Not specified No PE or Rough PE BCM appro. no Abstract bus model abstract CAM no approx. Message passing channel abstract BAM approx. approx. Abstract bus model abstract BFM Cycle accurate approx. Detail bus model abstract CACM approx. Cycle accurate Abstract bus model Pin accurate CAIM Cycle accurate Cycle accurate wire Pin accurate By this course
  • 48. How TLM is used in ESL design flow? Requirement Development SM/SAM Transaction Level Model Development TLM SW design, Development and Profiling HW Design/Refinement RTL HW Verification, Emulation and Profiling
  • 49. Why simulation model is useful? System Requirement System Spec. Executable System Spec. PIM Simulation Model as the Executable System Spec. DSE HW Spec. SW Spec. HW Implementation SW Implementation PSM PIM: Platform Independent Model PSM: Platform Specified Model
  • 50. Speed Comparison of Different ESL/EDA approaches Modified from ARM Chris Lennard, Davorin Mista FPGA Based Developers 50
  • 51. Why ESL design flow is needed? • Obviously, simulation speed. • IP-based design flow • Early HW/SW Co-design for parallel development • HW/SW development around a common environment • Mixed level simulation • Save development time
  • 52. However • High abstraction level gives you speed, not language, – even when you use SystemC. Modeling methodology determine the level, not the language. – If your simulator does not give you speed, do not use it. – If you are modeling at a much higher level but get not much speedup, something is wrong. – Carefully choose timing accuracy. CA may slow down simulation very much. Cycle accuracy may sometimes be a myth.
  • 53. Why IP-based design? • Why use ESL if building a system from ground? – You need an extra ESL platform. – You usually have to spend lots of time on building ESL models. – You need a strong ESL team. – Unless you have good roadmap toward develop IP-based design flow.
  • 54. HW/SW Co-design • ESL is useful when you need to run SW on HW. – Early system performance profiling – Find HW bottleneck – Parallel development – Find bugs earlier – Working on the same platform help communication between HW and SW people • ESL is still encouraged when no SW is present.
  • 55. Mixed level simulation • A very important feature to allow people of different skills and levels to work on the same project. – Mixing models of gate-level, RTL, TLM, or even algorithmic level – Even Matlab and FPGA models – Provide progressive design path
  • 56. Development time • If development time is not saved – Do not use ESL, or – There must be something wrong
  • 57. Co-Design Environment Eclipse IDE Appilication Hardware Models (Simulator) Software gdb Simulator gdb Native System (x86)
  • 58. SW Tool Chain Compiler Eclipse Integrated Developed Environment Assembler CDT plug-in GDB/MI interface GDB/MI interface User interface Debugger Target side RSP RSP Debugging Stub Simulator (SyetemC) Linker
  • 59. Progressive Design Flow Three stage pipeline design: A. SW model: high abstraction level model B. TLM model:very close to architecture C. HW model :HDL 交互驗證
  • 64. Impact of Development Cycle Change • Traditional Design Procedure SW Development Specification HW development System testing Integration & Debug • New ESL Design Procedure SW HW/SW development early integration Specification Modeling Environment Simulation HW development Integration & Debug CoWare Inc. 2006 Virtual Platform System testing Time saving
  • 65. Commercial tool: SOC Designer Work Space Cache Profiling window Waveform Viewer Assembly code window Memory maps
  • 67. Open Source: GreenSoc (not so open) GreenScript Config PlugIn GreenAV PlugIn GreenControl Core ESL Tools Config User I/F User IP 1 GreenBus I/F GreenAV User I/F Config User I/F User IP 2 GreenBus I/F Config User I/F Specific PlugIn User IP 3 GreenBus I/F Specific User I/F SystemC
  • 71. FPGA tool: NCKU Multicore
  • 73. Where are we going?
  • 74. The rest of related topics • SystemC – Some C++ review – Threads and Processes – SystemC programming • Logic Design – Simple digital design using Verilog at RTL – HDL simulator – FPGA • Computer architecture – Bus based – NoC based • OpenESL – Start a SoC project – Heterogeneous tools: SystemC, FPGA, Matlab, …..