ee382v: embedded system design and...
TRANSCRIPT
EE382V:
Embedded System Design and Modeling
Andreas Gerstlauer
Electrical and Computer Engineering
University of Texas at Austin
Lecture 5 – System-Level Design Tools
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 2
Lecture 5: Outline
• Electronic system-level (ESL) design automation
• Modeling and simulation
• Refinement
• Exploration
• Synthesis
• System-On-Chip Environment (SCE)
• Computation exploration and refinement
• Communication exploration and refinement
• Design example
• GSM Vocoder
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 3
Specify-Explore-Refine Methodology
System design Validation flow
Specification model
Algor.IP
Proto.IP
Computation model
Communication refinement
Communication model
Comp.IP
Estimation
ValidationAnalysis
Compilation Simulation model
Estimation
ValidationAnalysis
Compilation Simulation model
Estimation
ValidationAnalysis
Compilation Simulation model
Implementation model
Software
synthesis
Interface
synthesis
Hardware
synthesis
Estimation
ValidationAnalysis
Compilation Simulation model
RTOSIP
RTLIP
Computation refinement
Capture
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 4
Electronic System-Level (ESL) Design Tools
• Simulation-centric system modeling
• Virtual system prototyping [CoWare, Vast]– C-based, abstracted computation/implementation models [TLM]
– System-level design languages (SLDLs) [SystemC]
– Processor instruction-set simulation (ISS) models [Tensilica, Lisatek]
• Algorithmic specification [SPW, MATLAB, COSSAP]– Varying models of computation (MoC) [Ptolemy]
– Model-based design [UML, MATLAB/Simulink]
� Horizontal integration of different models / components
� Lack vertical integration for synthesis and verification
• High-level synthesis
• C-to-RTL [Forte]
– Interface specification [SystemVerilog]
� Single hardware unit only
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 5
Automatic Model Refinement
• Problem: Writing of system models is
• Time consuming, error-prone, tedious
• Solution:
• Automatic model generation
• Refinement-based approach
• System designer : makes design decisions
• Refinement tool : automatically generates the model
• Benefits
• No manual model writing, focus on design decisions
• Low error rate by automating error-prone tasks
• Easy change/upgrade for incremental/derivative design
• No change in basic design methodology
� Enables fast, extensive design space exploration
� Productivity gains
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 6
Design Automation
• Synthesis = Decision making + model refinement
� Successive model refinement
� Layers of implementation detail
RefinementRefinement
Model nModel n
DBDB
Model n+1Model n+1
Specification modelSpecification model
Implementation modelImplementation model
Optim. algorithmOptim. algorithm
GUIGUI
Design decisions
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 7
Specification model
Computation model
Communication model
Implementation model
Validation GUI
Test
Simulate
Compile
Test
Simulate
Test
Simulate
Simulate
Test
Design Environment (1): Modeling
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 8
Specification model
Computation model
Design decisions
Communication model
Comp. refinement
Comm. refinement
PE Allocation
Beh/Var Partitioning
Scheduling
Refinement GUI
Net Allocation
Channel partitioning
Spec. optimization
Prot. insertion
Design decisions
Design decisionsProc. refinement
Implementation model
Capture
RTL/SWHW alloc/sched/bind
SW Compilation
IF generation
Browsing
Alg. selection
Comp. / IP
Protocols
Validation GUI
Test
Verify
Simulate
Compile
Test
Simulate
Test
Verify
Simulate
Simulate
Verify
Test
Design Environment (2): Refinement
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 9
Specification model
Computation modelEstimation
Profiling
Profiling data
Design decisions
Communication model
Comp. refinement
Comm. refinement
PE Allocation
Beh/Var Partitioning
Scheduling
Refinement GUI
Net Allocation
Channel partitioning
Estimation results
Spec. optimization
Prot. insertion
Design decisions
Estimation
Estimation results
Design decisionsProc. refinement
Implementation model
Capture
RTL/SWHW alloc/sched/bind
SW Compilation
IF generation
Browsing
Alg. selection
Comp. / IP
Protocols
Validation GUI
Test
Verify
Simulate
Compile
Test
Simulate
Profile
Test
Verify
Simulate
Simulate
Verify
Test
Design Environment (3): Exploration
Estimate
Estimate
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 10
Specification model
Computation modelEstimation
Profiling
Profiling data
Design decisions
Communication model
Comp. synthesis
Comp. refinement
Comm. synthesis
Comm. refinement
PE Allocation
Beh/Var Partitioning
Scheduling
Refinement GUI
Net Allocation
Channel partitioning
Estimation results
Spec. optimization
Prot. insertion
Design decisions
Estimation
HW/SW synthesis
Estimation results
Design decisionsProc. refinement
Implementation model
Capture
RTL/SWHW alloc/sched/bind
SW Compilation
IF generation
Browsing
Alg. selection
Comp. / IP
Protocols
Validation GUI
Test
Verify
Simulate
Compile
Test
Simulate
Profile
Test
Verify
Simulate
Simulate
Verify
Test
Design Environment (4): Synthesis
Estimate
Estimate
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 11
Computation
Design
Design Methodology
Specification model
Algor.IP
Proto.IP
Computation model
Communication refinement
Communication model
Comp.IP
Estimation
ValidationAnalysis
Compilation Simulation model
Estimation
ValidationAnalysis
Compilation Simulation model
Estimation
ValidationAnalysis
Compilation Simulation model
Implementation model
Software
compilation
Interface
synthesis
Hardware
synthesis
Estimation
ValidationAnalysis
Compilation Simulation model
RTOSIP
RTLIP
Computation refinement
Capture
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 12
Computation Design (1)
• Architecture exploration
• Allocation of Processing Elements (PE)
– Type and number of processors
– Type and number of custom hardware blocks
– Type and number of system memories
• Mapping to PEs
– Map each behavior to a PE
– Map each complex channel to a PE
– Map each variable to a PE
� Architecture model
� Concurrent PEs
� Abstract channels and
memory interfaces
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 13
Computation Design (2)
• Scheduling exploration
• Static scheduling of behaviors into sequential tasks
– Group (flatten) behaviors into tasks
– Determine fixed execution order of behaviors in each task
• Dynamic scheduling of concurrent tasks by RTOS
– Choose scheduling policy, i.e. round-robin or priority-based
– For each set of tasks, determine task priorities
� Scheduled model
� Abstract OS model in
software PEs
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 14
Communication
Design
Design Methodology
Specification model
Algor.IP
Proto.IP
Computation model
Communication refinement
Communication model
Comp.IP
Estimation
ValidationAnalysis
Compilation Simulation model
Estimation
ValidationAnalysis
Compilation Simulation model
Estimation
ValidationAnalysis
Compilation Simulation model
Implementation model
Software
compilation
Interface
synthesis
Hardware
synthesis
Estimation
ValidationAnalysis
Compilation Simulation model
RTOSIP
RTLIP
Computation refinement
Capture
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 15
Communication Design (1)
• Network exploration
• Allocation of system network
– Type (protocols) and number of system busses
– Type and number of CEs (bridges and transducers, if applicable)
– System connectivity
• Routing of channels over busses
– Map each communication channel to a system bus
(or an ordered list of busses, if applicable)
� Network model
� PEs + CEs
�Middleware stacks
� Point-to-point links
�Untyped packet transfers
�Untyped memory interfaces
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 16
Communication Design (2)
MasterProto S
laveProto
mac m
ac
Mem
Protocol
IP
Protocol
• Communication synthesis
• Assignment of bus parameters
– Address mapping for each channel and memory interface
– Synchronization mechanism for each channel
(dedicated or shared interrupts, polling)
– Transfer mode for each channel/interface (regular, burst, DMA)
� Transaction-level model (TLM)
� PEs + CEs + Busses
�Protocol stacks
� Abstract bus channels
�Bus transactions + interrupts
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 17
MasterProto S
laveProto
mac m
ac
Mem
Protocol
IP
Protocol
MasterProto S
laveProto
mac m
ac
Communication Design (2)
• Communication synthesis
• Assignment of bus parameters
– Address mapping for each channel and memory interface
– Synchronization mechanism for each channel
(dedicated or shared interrupts, polling)
– Transfer mode for each channel/interface (regular, burst, DMA)
� Transaction-level model (TLM)
� PEs + CEs + Busses
�Protocol stacks
� Abstract bus channels
�Bus transactions + interrupts
� Pin-accurate model (PAM)
� Physical bus structure
�Bit-accurate pins and wires
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 18
System-On-Chip Environment (SCE)
• SCE Components:
• Graphical frontend(sce, scchart)
• Editor (sced)
• Compiler and simulator (scc)
• Profiling and analysis (scprof)
• Architecture refinement (scar)
• RTOS refinement (scos)
• Network refinement (scnr)
• Communication refinement (sccr)
• RTL refinement (scrtl)
• Software refinement (sc2c)
• Scripting interface (scsh)
• Tools and utilities ...
Architecture model
Specification model
Architecture Exploration
PE Allocation
Beh/Var/Ch Partitioning
Scheduled model
Scheduling Exploration
Static Scheduling
OS Task Scheduling
Network model
Network Exploration
Bus Network Allocation
Channel Mapping
Communication model
Communication Synth.
Bus Addressing
Bus Synchronization
PE
Database
CE
Database
Bus
Database
OS
Database
GUI / Scripting
TLM
RTL Synthesis
Datapath Allocation
Scheduling/Binding
SW Synthesis
Code Generation
Compile and Link
RTL
DB
SW
DB
Implementation model
VerilogVerilogVerilog
BinaryBinaryBinary
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 19
SCE Component Architecture
Model Refinement
Intermediate SIRDatabase
SIR
Model n SIR
Model n+1 SIR
Synthesis Plugin
GUI
Design decisions
Component Import
Shell Scripting
Design data
Project
XML
SpecC Compiler
Model Verification
SpecC
source
SpecC Compiler
Profiling
Design decisions
Design data
Estimation
Import Export
Exec
SpecC
source
Import Export
Simulate
Exec
SimulateShell
Scripts
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 20
SCE Main Window
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 21
SCE Source Editor
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 22
SCE Hierarchy Displays
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 23
SCE Compiler and Simulator
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 24
SCE Profiling and Analysis
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 25
SCE Model Refinement
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 26
SCE Tool Set
• Server and accounts
• ECE LRC Linux servers– Labs (ENS 507?) or remote access (ssh)
• SpecC software (© by CECS, UCI)– /home/project/courses/fall_08/ee382v-17295/sce-20080601
– source /home/…/sce-20080601/bin/setup.{c}sh
• System-On-Chip Environment
• GUI– sce
• Scripting– sce_allocate / sce_map / sce_schedule / …
• Documentation ($SPECC/doc)
– SCE Manual (online via Help->Manual)
– SCE Tutorial (PDF or html)
– SCE Specification Reference Manual (SpecRM.pdf)
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 27
Lecture 5: Outline
� Electronic system-level (ESL) design automation
�Modeling and simulation
�Refinement
�Exploration
�Synthesis
� System-On-Chip Environment (SCE)
�Computation exploration and refinement
�Communication exploration and refinement
• Design example
• GSM Vocoder
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 28
GSM Vocoder
• Enhanced Full Rate (EFR) standard (GSM 06.10, ETSI)
• Lossy voice encoding/decoding for mobile telephony
– Speech synthesis model
– Input: speech samples @ 104 kbit/s
– Frames of 4 x 40 = 160 samples (4 x 5ms = 20ms of speech)
– Output: encoded bit stream @ 12.2 kbit/s (244 bits / frame)
• Timing constraint
– 20ms per frame (total of 3.26s for sample speech file)
� SpecC specification model
• 73 leaf, 29 hierarchical behaviors (9 par, 10 seq, 10 fsm)
• 9139 lines of SpecC code (~13000 lines of original C)
Short-term
synthesis filter+Delay/ Adaptive codebook
10th-order LP filter
Speech
Fixed codebook
Long-term
pitch filter
Residual
pulses
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 29
Vocoder Specification Model
Filter memory
update
Closed-loop
pitch search
Algebraic (fixed)
pitch search
Linear prediction
(LP) analysis
Open loop
codebook search����
����
����
����
��
���
���
�����
�����
��
����
��
��������
��������
��
decode_12k2
Post_Filter
Bits2prm_12k2
Decode
LP parameters
4 subframes
bits
speech[160]
A(z)
synth[40]
synth[40]
prm[57]
prm[13]
decoder
��
��
��
��
��
����
����
���
���
����
����
����
�� ��
����
����
����
��
��
��
��
��������
��������
��������
��������
��������
��������
mem
ory
2x per frame
A(z)
2 subframes
prm2bits_12k2
pre_process
sample
prm[57]
bits
speech[160]
coder
vocoderspeech_in bits_in
speech_outbits_out
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 30
Vocoder Computation Model
res
Motorola DSP56600
Custom hardware
data
����������������
speech_in
Codebook
HW
prm_in���
���
���
��� Bits2PrmSpeech_In
cdbk_res
cdbk_data
���
���
��������
���
���
��������
��������
speech_out
��������
Speech_Out���
���
��������
���
���
��������
Prm2Bits���
���
���
���
prm_out
Post_Filter
Decode_12k2
D_lsp
Pre_process
LP_analysis
Open_loop
Closed_loop
Start_codebook
Wait_codebook
Update
res
data
speech
prm_in
prm
speechprm
prm_in
synth_out
speech_in
bits_out
DSP
bits_in
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 31
Vocoder Communication Model
nWR
Data[23:0]
intC
Addr[15:0]
MCS
nRD
Bus InterfaceBus Driver
Bus InterfaceBus Interface Bus Interface Bus Interface
HWCodebook
Speech_In Bits2Prm Prm2Bits Speech_Out
DSP
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 32
Vocoder Implementation Model
� Cycle-accurate co-simulation
• DSP instruction-set simulator (ISS)
• 70,500 lines of assembly code (running @ 60MHz)
• RTL SpecC for hardware
• 45,000 lines of VHDL RTL code (running @ 100MHz)
nWR
Data[23:0]
intC
Addr[15:0]
MCS
nRD
Codebook
FSMDMotorola
DSP56600
ISSOBJ
DSP HW
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 33
Vocoder Results
• Productivity gain: 12 months vs. 1 hour = 2000x
Comm→ Impl
Automated
User / RefineManual
Modified
lines
Spec → Arch
Arch → Comm
3,275
914
30 min / < 2 min5~6 month
5 min / < 0.5 min
3~4 month
6,146
15 min / < 1 min
1~2 month
Refinement Effort
Total 50 min / < 4 min9~12 month10,355
Simulation Speed
1
10
100
1000
10000
100000
Spec Arch Comm Impl
Norm
alized Time
Code Size
0
5000
10000
15000
20000
Spec Arch Comm Impl
Number of Lines
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 34
Speed and Accuracy Trade-Offs
0.01
0.1
1
10
100
1000
10000
100000
Spec. Arch. TLM Comm. Impl.
Simulation Time [s]
MP3
JPEG
GSM
0
5
10
15
20
25
Spec. Arch. TLM Comm. Impl.
Average Error [%]
MP3
JPEG
GSM
Source: G. Schirner, A. Gerstlauer, R. Doemer
EE382V: Embedded Sys Dsgn and Modeling, Lecture 5 © 2008 A. Gerstlauer 35
Lecture 5: Summary
• System-level design automation
• Modeling and simulation
• Exploration and refinement
• Synthesis and verification
• System-On-Chip Environment (SCE)
• Automatic model generation
• Interactive exploration and decision entry