Professional Documents
Culture Documents
Ee382V-Ics: System-On-A-Chip (Soc) Design
Ee382V-Ics: System-On-A-Chip (Soc) Design
Design
EE382V-ICS:
System-on-a-Chip (SoC) Design
Andreas Gerstlauer
Electrical and Computer Engineering
University of Texas at Austin
gerstl@ece.utexas.edu
MRD
Functionality No
Met?
No
PRD
Modify Yes
Product Model? Yes
Map, Model &
Validation Simulate in
Loop
SPW or Matlab or C System No
or C++ BOM Costs
Met?
Yes
Mapping to
No Platform or
Components Power No
Complete? Req. Met?
Design Yes
Convergence and
Yes
Analyze results
Verification Schedule
Loop
No
Req. Met?
No Metrics
Met?
Yes
Yes
Platform No
Freeze
Req. Met?
Architecture
Yes
No MRD
Met?
Return
Yes
EE382V-ICS: SoC Design, Lecture 8 Done © 2010 A. Gerstlauer 2
© 2010 A. Gerstlauer 1
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Design Convergence
Front
Front End
End Design
Design Implementation
Implementation
Reduced convergence time due to minimal data
Convergence time increases due to more design data
# Optimization Solutions
Design Converges
Design Challenges
• Complexity
• High degree of parallelism at Applications
various levels
• Heterogeneity Programming
• Of components Model?
• Of tools
• Low-level communication
mechanisms
• Programming model
© 2010 A. Gerstlauer 2
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Complexity Forces
Functionality
Cost Compatibility
Capacity Security
Availability Reliability
Performance Throughput
“The challenge over the next 20 years will not be speed or cost or
performance; it will be a question of complexity.”
Bill Raduchel, Chief Strategy Officer, Sun Microsystems
Controller Bus
Hardware
DSP DSP RAM
Accelerator
Local Bus
Source: C. Haubelt, Univ. of Erlangen-Nuremberg
© 2010 A. Gerstlauer 3
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
MPSoC Terminology
• Multi-processor
• Heterogeneous, asymmetric multi-processing (AMP)
• Distributed memory and operating system
• Multi-core
• Homogeneous, symmetric multi-processing (SMP)
• Shared memory and operating system
Multi-core processors in a multi-processor system
• Many-core
• > 10 cores per processor…
Source: T. Noll, RWTH Aachen, via R. Leupers, “From ASIP to MPSoC”, Computer Engineering Colloquium, TU Delft, 2006
© 2010 A. Gerstlauer 4
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Lecture 8: Outline
Introduction
• ESL design
• Modeling
• Synthesis
• Verification
• ESL landscape
System Design
System-level design
Hardware Software
development development
Integration &
Verification
EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 10
© 2010 A. Gerstlauer 5
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Modeling
Hardware design
hardware software
Software development
development development
Integration & Verification
integration &
System
verification
manual (semi)automatic
Task
HW verification
SW verification
Time
© 2010 A. Gerstlauer 6
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
System-level design
hardware software
development development
Integration & Verification
integration &
System implementation
verification
manual (semi)automatic
© 2010 A. Gerstlauer 7
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Task
Specification
(high-level & arch. models) Fixes in specification
HW verification
SW verification
Time
system
Specification
task component
instruction logic
architecture
ISA RTL
Source: A. Gerstlauer, C. Haubelt, A. Pimentel, et al., “Electronic System-Level Synthesis Methodologies,“ TCAD, 2009.
© 2010 A. Gerstlauer 8
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Design Methodologies
Set of models and design steps (transformations)
• Top down design • Platform based design
• Starts with functional system • Starts with architecting a
specification processing platform for a given
– Application behavior vertical application space
– Models of Computation (MoC) – Semiconductor, ASSP vendors
• Successive refinement • Enables rapid creation and
• Connect the hardware and verification of sophisticated SoC
software design teams earlier in designs variants
the design cycle. • PBD uses predictable and pre-
• Allows hardware and software to verified firm and hard blocks
be developed concurrently • PBD reduces overall time-to-
• Goes through architectural market
mapping – Shorten verification time
• The hardware and software parts • Provides higher productivity
are either manually coded or through design reuse
obtained by refinement from • PBD allows derivative designs
higher model with added functionality
• Ends with HW-SW co-verification • Allows the user to focus on the
and System Integration part that differentiate his design
Source: Coware, Inc., 2005
Primarily Primarily
Virtual
PROTOTYPING ENVIRONMENT Physical
HW HW
DESIGN FAB
System Function INTEG.
SL
Def. Design & TEST
Design
SW SW
HW & SW
DESIGN CODING
CODESIGN
Cost Models
© 2010 A. Gerstlauer 9
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
System System
Behavior Platform
Model Checking
HW/SW Partitioning,
Behavior Scheduling & Estimation
Mapping
Verification
Performance Architecture
Analysis
and Simulation
Refinement
Synthesis
Flow To Implementation
& Coding
• Netlists
• Structure only: components and connectivity
Gate-level [EDIF], system-level [SPIRIT/XML]
• Hardware description languages (HDLs)
• Event-driven behavior: signals/wires, clocks
• Register-transfer level (RTL): boolean logic
Discrete event [VHDL, Verilog]
• System-level design languages (SLDLs)
• Software behavior: sequential functionality/programs
C-based [SpecC, SystemC, SystemVerilog]
© 2010 A. Gerstlauer 10
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Lecture 8: Outline
Introduction
• ESL design
• Modeling
• Synthesis
• Verification
• ESL landscape
System Modeling
© 2010 A. Gerstlauer 11
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Modeling Guidelines
Separation of Concerns
Managing
Complexity
Orthogonalizing
concerns
Behavior across Computation
Vs. multiple levels Vs.
Architecture of Communication
abstraction
Source: UC Berkeley, EECS249
© 2010 A. Gerstlauer 12
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Cycle-
timed D F
Communication
Un-
timed
A B
Un- Approximate- Cycle- Computation
timed timed timed
Source: L. Cai, D. Gajski. “Transaction level modeling: An overview”, ISSS 2003
© 2010 A. Gerstlauer 13
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Computation Models
Process B1()
{
• Application model
…
waitfor(15000); • Model of Computation (MoC)
… – Process-/state-based [KPN, SDF, FSM, …]
waitfor(25000);
};
…
• Back-annotated execution timing
– Timing granularity (basic block level)
• Processor model
CPU
• Operating system
B1 B2 – Real-time multi-tasking (RTOS), drivers
Communication Models
• Pin-Accurate Model (PAM)
MEM CPU • Redundant RTL complexity
results in slow simulation
• Each device interface must
BUS
Pin/Cycle implement the bus protocol
Accurate
• Each device on the bus has a
pin-accurate interface
Clk
Periph Req
Sel
Grnt
Addr
• Transaction-Level Model (TLM)
Data
• Less code, no wires, fewer
events yield faster simulation
• Protocol is modeled as a
single bus model instead of in
each device
MEM CPU • Each device communicates
via transaction-level API
TLM API TLM API Transactions 100x-10,000x faster than
BUS (Function Calls) PAM
TLM API
HREQ
Transaction
ReqTrf
Grant
HGRANT Trf
Periph HADDR
AddrTrf
HWDATA WriteDataTrf
HREADY EotTrf
HRESP Source: Coware, Inc., 2005
© 2010 A. Gerstlauer 14
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
TLM Details
• Abstracted communication
• Detailed signal handshaking is reduced to series of
generic events called “transactions”.
• Blocks are interconnected via a bus model, and
communicate through an API.
• The bus model handles all the timing, and events on the
bus can be used to trigger action in the peripherals.
Event timing can
Bus
trigger actions.
Initiator addressEvent() Model dataEvent() Target
Address Data
sendAddress() sendData()
© 2010 A. Gerstlauer 15
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
SystemC/TLM 2.0
• Pointer to transaction object is passed from module to
module using forward and backward paths
• Transactions are of generic payload type
Command
Address
Data
Byte enables
Response status
Extensions
• Approximately-timed BEGIN_REQ
• Cycle-approximate or cycle-count- END_REQ
accurate
• Sufficient for architectural exploration BEGIN_RESP
• Each transaction has at least END_RESP
4 timing points
Initiator Target
Source: OSCI TLM-2.0
© 2010 A. Gerstlauer 16
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
• tlm_bw_nonblocking_transport_if
tlm_sync_enum nb_transport_bw(TRANS&, PHASE&, sc_time&);
Blocking Transport
Initiator Target
Simulation time
0ns
call b_transport(t, 0ns);
Simulation time
wait(30ns);
30ns
© 2010 A. Gerstlauer 17
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Non-Blocking Transport
Initiator Target
nb_transport(TLM_ACCEPTED, -, -);
nb_transport(TLM_ACCEPTED, -, -);
nb_transport(TLM_ACCEPTED, -, -);
nb_transport(TLM_ACCEPTED, -, -);
Source: OSCI TLM-2.0
Computation refinement
Virtual Prototype
Communication refinement
© 2010 A. Gerstlauer 18
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Abstraction Levels
Functional Validation Processor Interconnect Peripheral
UT
ESL
Host-based
Architectural
IA ISS Design LT
10MIPS TLM Bus 3 Mcps
SystemC
Executable TLM
Re-use for
1MIPS Early
Software
Cycle
Development CA
Accurate
Log S P E E D
© 2010 A. Gerstlauer 19
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Lecture 8: Outline
Introduction
• ESL design
Modeling
• Synthesis
• Verification
• ESL landscape
Design Automation
• Synthesis = Decision making + model refinement
GUI Specification
GUI Specificationmodel
model
Model n
Model n
Optim.
Optim.algorithm
algorithm
Refinement DB
Design decisions Refinement DB
Model
Modeln+1
n+1
Implementation model
Implementation model
© 2010 A. Gerstlauer 20
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
X-Chart
Application Platform
Behavior Constraints
Synthesis
Decision
Refinement
making
Quality
Structure
numbers Latency, Area,
Transaction
Level Model Throuput, etc
Source: A. Gerstlauer, C. Haubelt, A. Pimentel, et al., “Electronic System-Level Synthesis Methodologies,“ TCAD, 2009.
Application Platform
Optimal Mapping ?
© 2010 A. Gerstlauer 21
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Resource Allocation
• Resource allocation, i.e., select resources from a
platform for implementing the application
Process Binding
• Process mapping, i.e., bind processes onto allocated
computational resources
© 2010 A. Gerstlauer 22
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Channel Routing
• Channel mapping, i.e., assign channels to paths over
busses and address spaces
© 2010 A. Gerstlauer 23
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Optimization Approaches
• Exact methods
• Enumeration, (Integer) Linear Programs
• Heuristics
• Constructive
– Random mapping, hierarchical clustering
• Iterative
– Random search, simulated annealing, min-cut (Kernighan-Lin)
• Set-based (“intelligent” randomized search)
– Evolutionary Algorithms (EA),
Particle Swarm Optimization (PSO),
Ant Colony Optimization (ACO)
Evaluation Approaches
• Dynamic simulation
• Profiling, ISS/RTL co-simulation
Long simulation times, corner cases
• Static analysis
• Component-level estimation
[Worst-Case Execution Time (WCET)]
• System-level cost functions, real-time calculus
[Modular Performance Analysis (MPA)]
Inaccurate bounds, manual interference (false paths)
Combinations
• Host-compiled simulation
• Trace-driven simulation
Tradeoff between accuracy and speed
© 2010 A. Gerstlauer 24
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Lecture 8: Outline
Introduction
• ESL design
Modeling
Synthesis
• Verification
• ESL landscape
• Formal Methods
• Check equivalence of design models or parts of models
• Check specified properties on models
• Semi-formal Methods
• Specify inputs and outputs as symbolic expressions
• Check simulation output against expected expression
© 2010 A. Gerstlauer 25
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Simulation
• Create test vectors and simulate model
• Simulation, debugging and visualization tools
[Synopsys VCS, Mentor ModelSim, Cadence NC-Sim]
Specification
Stimulus
Monitors
DUT
• Inputs
• Specification
– Used to create interesting stimuli and monitors
• Model of DUT
– Typically written in HDL or C or both
• Output
• Failed test vectors
– Pointed out in different design representations by debugging tools
Equivalence Checking
• LEC uses boolean algebra to check for logic equivalence
outputs
inputs
1
2
1 = 1’ ? Equivalence
2 = 2’ ? result
outputs
inputs
1’
2’
© 2010 A. Gerstlauer 26
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Model Checking
• Model M satisfies property P? [Clarke, Emerson ’81]
• Inputs
• State transition system representation of M
• Temporal property P as formula of state properties
• Output
• True (property holds)
• False + counter-example (property does not hold)
P1 P2 P = P2 always leads to P4
s1 s2
s4 s3 Model True /
P4 P3 Checker False + counter-example
M
Lecture 8: Outline
Introduction
ESL design
• ESL landscape
• Commercial tools
• Academic tools
© 2010 A. Gerstlauer 27
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
SPIRIT/IP-XACT Matlab/Simulink,
C2
Arbiter
Bridge
C1
(XML) LabView, …
B3 B4
HW IP
System
SystemSynthesis
Synthesis
Platform library Front-End
Front-End Application specification
Academic Tools
System-Level Design Languages (SLDLs)
C-based RTL
Virtutech,… CoWare, …
TLM
TLM
TLM
TLMn
C/C++ code
Software
Software//Hardware
Hardware
Green Hills, Mentor Catapult,
Synthesis
Synthesis
gcc, VxWorks, … Forte, …
Back-End
Back-End
Tensilica
ESL Tools
• Electronic System-Level (ESL) terminology
• Often single hardware unit only
– C-to-RTL high-level synthesis (HLS) [Mentor Catapult, Forte Cynthesizer]
© 2010 A. Gerstlauer 28
EE382V-ICS: System-on-Chip (SoC) Lecture 8
Design
Source: A. Gerstlauer, C. Haubelt, A. Pimentel, et al., “Electronic System-Level Synthesis Methodologies,“ TCAD, 2009.
Platform Platform
Functional
Function Architecture Architecture
Platform
IP IP Configuration
C/C++ CPU/DSP
… at the
SDL System Integration RTOS un-clocked, timing-
SPW Bus, Memory aware
Simulink HW system level
SW
Performance Analysis and
Platform Configuration
© 2010 A. Gerstlauer 29