socintro_a5
TRANSCRIPT
-
8/13/2019 SoCintro_A5
1/55
System-on-Chip Design Introduction
Marcel JacometBern University of Applied Sciences
Bfh-TiHuCE-microLab, Biel/Bienne
February 20, 2012
Contents
1 SoC Introduction 1
1.1 Design Gap . . . . . . . . . . . . . . . . . . . . . 31.2 Y-Chart . . . . . . . . . . . . . . . . . . . . . . . 51.3 Processor Level . . . . . . . . . . . . . . . . . . . 71.4 System Level . . . . . . . . . . . . . . . . . . . . 141.5 Design Flow . . . . . . . . . . . . . . . . . . . . . 171.6 System Models . . . . . . . . . . . . . . . . . . . 361.7 System Platform . . . . . . . . . . . . . . . . . . 431.8 Tools. . . . . . . . . . . . . . . . . . . . . . . . . 451.9 Conclusion . . . . . . . . . . . . . . . . . . . . . 49
References 53
References 53
-
8/13/2019 SoCintro_A5
2/55
Introduction
c Marcel Jacomet, 2010-2012
All rights reserved. This work may not be translated or copied in
whole or in part without the written permission by the author, except
for brief excerpts in connection with reviews or scholarly analysis.
Use in connection with any form of information storage and retrieval,
electronic adaptation, computer software is forbidden. The slides of
this chapter are a copy of Gajskis transparencies with some minor
changes and some additional animations for didactical purposes. The
slides accompany his book Embedded System Design[GAGS09](which
is mandatory for this course) and contain some summary text notes.
Marcel Jacomet ii 2012
-
8/13/2019 SoCintro_A5
3/55
Introduction
1 Chapter: SoC Introduction
Marcel Jacomet 1 2012
-
8/13/2019 SoCintro_A5
4/55
Introduction
Chapter Introduction
Marcel Jacomet 2 2012
-
8/13/2019 SoCintro_A5
5/55
Introduction
1.1 Design Gap
The basic needs for new system design methodologies are theincrease in complexity in parallel with the shorter product lifetime cycles. According to Moores Law, the circuit complexity,or the transistor count, is doubling every 2 years. This pre-diction has been made by Gordon Moore around 1965 and itis still valid. The increase in complexity and the shortening of
the product lifetime fosters the so called design gap. In order tofind an answer to these challenges, systematic design approachesbased on higher abstraction levels have to be introduced - notonly in the past and present, but also in the future. Such newdesign methodologies also have to be supported by Cadtools.
Design Gap
system design complexity is increasing
product lifetime is decreasing
design efficiency is essential
systematic design approaches are needed
higher abstraction levels are needed
leading to new design methodologies
newCadtools are needed:
tools have to implement design methodologies
tools have to handle large amount of data/simulation
Marcel Jacomet 3 2012
-
8/13/2019 SoCintro_A5
6/55
Introduction
Moores Law
Marcel Jacomet 4 2012
-
8/13/2019 SoCintro_A5
7/55
Introduction
The rising complexity ofAsics has forced the designer to goto higher abstraction levels. The Y-chart introduced by Gajskiin the early eighties allows us to clearly discuss differences be-tween design tools. The Y-chart model distinguishes between3 abstraction domains or views and four abstraction levels. Inthe following text design tools and methodologies are discussedwith reference to the Y-chart.
1.2 Y-Chart
Y-Chart
Marcel Jacomet 5 2012
-
8/13/2019 SoCintro_A5
8/55
Introduction
3 design views
behavioral (function-ality)
structural (netlist)
physical (layout)
4 abstraction layers
system
processor
logic
circuit
4 to 5 component libraries
system (MoC, NoC)
processor (std, cus-tom)
ALUs (RFs, mem)
logic (standard, cells)
transistor
Behavioral Structural
Physical
systemprocessor
logic
circuit
processorcomponents
RTL
components
logiccomponents
transistorcomponents
Marcel Jacomet 6 2012
-
8/13/2019 SoCintro_A5
9/55
Introduction
1.3 Processor Abstraction Level
On the processor level the processing elements (Pe) are defined.Pes can be described as algorithms, data flow graphs or finitestate machine data-path models on the behavioral domain.
Processor Abstraction Level
Processor level generates system components
computation components
standard processors
custom processors
custom functions
controllers
memories communication components
arbiters
bridges and transducers
controllers (interrupt, memory, Dma)
interfaces
Processor level synthesis
behavior specification (Fsmd, Cdfg,Is)
component structure
synthesis on processor level
Marcel Jacomet 7 2012
-
8/13/2019 SoCintro_A5
10/55
Introduction
The finite state machine data-path model (Fsmd) is a veryconvenient way to describe Pes. AnFsmdis described as a setof states, linked with input conditions and a set of operationsexecuted in each state. One of the popularity ofFsmd is thefact that structured design approaches exist as it will be shownin a subsequent chapter.
FSMD Model
Fsmd
S1
S3
S2
x = |b| ; y = |b| x = (a b) + z
z = max(x, y)
Fsm
set of states and transitions transition executed under conditional statements of
input variables
Fsmd
Fsm + set of variable statements executed in eachstate
cycle accurate timing
Fsmddoes not directly represent programming languagecode but rather hardware designs
Marcel Jacomet 8 2012
-
8/13/2019 SoCintro_A5
11/55
Introduction
Fsmddo not directly represent programming language codesbut rather hardware designs. On the other side, programminglanguage codes can easily be represented by control/data flowgraphs Cdfgconsisting of control flows (hereIfand loop) anddata manipulations packed into Bb blocks with several sequen-tial statements. A Cdfg can be converted to a Fsmd by as-signing a state for each controlIf and several states to eachBb.A Bb can thus be considered as a super state, needing one or
several clocks to execute.
CDFG Model
Control/Data Flow GraphCdfg
If statements and Loopstatements
basic blocks Bbs
reflects a programming lan-guage syntax as C
control dependencies betweenIfs anBbs
data dependencies inside Bbs
no data dependencies outsideBbs
BB2 BB3
BB1
ifyn
ifyn
Marcel Jacomet 9 2012
-
8/13/2019 SoCintro_A5
12/55
Introduction
A processors behavior basically can be modeled by either anFsmd, a Cdfg or an instrucion set flow chart Is. Neverthe-less, the most adequate model is the instruction set flow chartwith its unique mnemonics grouping the processors behavior ina few basic macro instructions. The instruction set flow chartdescribes the fetch, decode and execute instruction stages. Dur-ing the fetch stage, the Instruction Register Ir is loaded withthe new instruction and the Program Counter Pc is incremented
thereafter. Type and mode of the instruction is detected in thedecode stage. Effective Addresses Ea are calculated for imme-diate, direct, relative and indirect address modes.
Instruction Set Flow Chart
super-stateFsmd
fetch, execute, ...states
each state has several as-signments
variable assignment
register assignment
memory loads andstores
each state may need severalclock cycles
IR M[PC]
misc. instr.branch instr.
register instr.
memory instr.immediate
direct
relative
indirect
L/S0123
L/S0123
RF[dest] M[PC]PC PC+1
L/S
Load
EA M[PC]RF[dest] M[EA]
PC PC+1
EA M[PC]M[EA] RF[src1]
PC PC+1
L/S1 0
Store
Load
EA M[PC]+RF[src2]RF[dest] M[EA]
PC PC+1AR M[PC]+RF[src2]
M[AR] RF[src1]PC PC+1
L/S1 0
Store
Load
EA M[M[PC]]RF[dest] M[EA]
PC PC+1
EA M[M[PC]]M[EA] RF[src1]
PC PC+1
L/S1 0
Store
Load
Marcel Jacomet 10 2012
-
8/13/2019 SoCintro_A5
13/55
Introduction
Processing elements (Pe) can be microprocessors or appli-cation specific intellectual property Ip components. The con-trol structure at microprocessors is programmable and thus veryflexible by using address generator, program counter, programmemory and instruction register. In the case of a specific Ip,the control logic can be hard-wired, thus these control compo-nents my be replaced by other ones. Using an Fsm controller,the program counter is then called state register, the program
memory is then the output logic and the address generator isthen the next state logic. Using a specific custom processor,the controller will still have some programmability features andcould thus be built with a control memory Cmem instead of theprogram memory and with a control word register Cwinstead ofan instruction register. Here instead of storing instructions, theCmem directly stores the control words (see Nisc approach).
Processor Structural Model
datapath components
storage (registers, Rf, scratch pads, data memories
functional units (Alus, mul, shifters, special func-tions)
connection (buses, multiplexors, de-muxs, bridges)
controller components
registers (Pc, status register Sr, control word CworIr)
others (addr. generator Ag, control or programmemory)
processor structure
pipelining, chaining, multi-cycling, forwarding
Marcel Jacomet 11 2012
-
8/13/2019 SoCintro_A5
14/55
Introduction
ALU MULAG Memory
RF / scratch pad
Status
PC CMem
CW
B3
B1
B2
const
offset
status
address
Marcel Jacomet 12 2012
-
8/13/2019 SoCintro_A5
15/55
Introduction
The synthesis of standard or instruction set processors startswith manual design of the instructions. The reason for this man-ual design is to get the highest processor performance and mostcompact layout. The synthesis for custom processor elementsor custom Ips starts with the C code of the target applicationor algorithm which is usually transferred into a CdfgorFsmdmodel. The resulting final custom processor element is com-posed of a couple of components connected together as required
by the given behavioral model.
Processor Synthesis
BB2 BB3
BB1
ifyn
ifyn
ALU MULAG Memory
RF / scratch pad
Status
PC CMem
CW
B3
B1
B2
const
offset
status
address
processor
component + connection allocation
cycle accurate scheduling
variable bindingoperation binding
transfer binding
controller synthesis
model refinement
synthesis
standard processor: manual design of instructionset
custom processor: C code, algorithm design of tar-get appl.
several tasks: different sequences possible
different inputs, libraries, features, output
different tools, metrics, quality
Marcel Jacomet 13 2012
-
8/13/2019 SoCintro_A5
16/55
Introduction
1.4 System Abstraction Level
On system level multi processes run in parallel, being imple-mented in hardware and software. A system model should thusmaintain the concept of states and transitions. The systemstates need to extend the computation to process and proce-dures written in programming languages like C/C++. As in asystem many processes run concurrently, we also need a synchro-
nization mechanism for data exchange like the channel conceptfor data encapsulation.
System Abstraction Level
on system level
many processors run concurrently
need of synchronization mechanism for data exchange(ex: channel concept for data encapsulation)
design of multi-core systems
computation components
communication components
synthesis
from behavior specification: MoCs (model of compu-tation)
to system architecture
with systemSwandHw
synthesis on system level
Marcel Jacomet 14 2012
-
8/13/2019 SoCintro_A5
17/55
Introduction
An example model of a process state machinePsmwith hier-archical and parallel/sequential processes is shown. The systemstarts with process P1 which triggers P2 if condition dis true, orif not, it triggers another super-process with the processes P3,P4 and P5. P3 and P4 run sequentially and in parallel with P5,indicated by the dashed line. The execution is finished, wheneither P2 or the P3, P4, P5 block is finished.
System Behavioral Model
many different MoCs
process-based models
state-based models
universal model
process state machine(Psm)
processes
sequential/parallel,hierarchical
channels
message passing
P2
P1
P4
P3
P5
C2
C1
d
d
Marcel Jacomet 15 2012
-
8/13/2019 SoCintro_A5
18/55
Introduction
A system structural model is a netlist or block diagram ofsystem components. Processing elements (Pe) are microproces-sors, custom processors or IPs. Communication elements Ceare buses and routers. Bridges are used if a conversion betweenCpuandIPare needed and arbiters if buses are shared.
System Structural Model
set of computational components
processors, IPs, custom HW components
memories
set of communication components
buses, bridges, arbiters, transducers, interfaces
P3 P4
HW
P1 P2
CPU
C1, C2 C1, C2Arbiter
Bridge
Mem
P5
CPU bus IP bus
Marcel Jacomet 16 2012
-
8/13/2019 SoCintro_A5
19/55
Introduction
1.5 Design Flow
The system level synthesis from behavioral to structural modelstarts with profiling the application code and collecting statisticsabout performance, cost, bus traffic, memory usage, power con-sumption and others. These statistics are then used as designmetrics to optimize the platform and application code. Next, incomponent and connection allocation, library components are
connected and if needed new components generated. It is alsopossible to start with a completely defined platform and upgrad-ing it. Processes are then assigned toPes, variables to memoriesand channels to buses and other hardware links. In this step anoptimization in respect to the design metrics is done, requir-ing a careful partitioning of processes, variables and connectiontraffic. Interface components If have to be inserted. Devicedrivers, routing, messaging and interrupt controllers are suchsystem firmware Sw Ifs, Transducers, interrupt and memory
controllers are Hw If examples. Processes running in parallel onthe samePehave now to be scheduled statically or dynamically,thus an Rtos has to be introduced for dynamical scheduling.Finally, all platform decisions are used to refine the behavioralmodel into a structural model and newly synthesized Hw andSw If are added. The structural model can now be verified bysimulation or formal verification. For cycle-accurate simulation,functional models have to be replaced by cycle-accurate struc-tural models for each custom component and by instruction-set
(Is) models for standard microprocessors. Further refinementleads to cycle-accurateRtlmodels of custom processors andIfcomponents.
System Synthesis
Marcel Jacomet 17 2012
-
8/13/2019 SoCintro_A5
20/55
Introduction
P2
P1
P4
P3
P5
C2
C1
d
d
P 3 P4
HW
P 1 P2
CPU
C1, C2 C1, C2Arbiter
Bridge
Mem
P5
CPU bus IP bus
system
profiling + estimation
component allocation
connection allocationprocess + channel binding
SW/HW IF definition
scheduling
model refinement
Marcel Jacomet 18 2012
-
8/13/2019 SoCintro_A5
21/55
Introduction
several tasks: different sequences possible
different MoCs, libraries, features, platforms
different tools, metrics, quality
profiling
design metrics for platform optimization
performance, power, cost, bus traffic, memory usage...
binding
process to PE, variables to memories
channels to busess and other links SW/HW IF interface
device drivers, routing, messaging
interrupt controllers, transducers
scheduling
processes on same PE need scheduling
introducing RTOS
refinement
functional models replaced by cycle-accurate struct.models
cycle-accurate replaced by RTL models of customPE, IF
Marcel Jacomet 19 2012
-
8/13/2019 SoCintro_A5
22/55
Introduction
Evolution of Design Flow
three evolutionary design flows
capture and simulate
designers complete design and validation throughsimulation
describe and synthesize
introduction of design for synthesis
for given functionality, design structure gener-ated by tools
specify-explore-refine
system design flow extended to four levels large number of levels and metrics for validation
design flow performed in several steps
each step follows describe-and-synthesis concept
Marcel Jacomet 20 2012
-
8/13/2019 SoCintro_A5
23/55
Introduction
Between the 1960s and 1980s hardware and software wasdeveloped separately, leading to the so called System Gap. Soft-ware designers developed some algorithms and later on wrotethe requirement documentation or specification. Thereafter thehardware designers used this specification to develop a blockdiagram. They did not know if their design met the specifica-tion until a gate-level design was produced. As the developmentwas dominated by netlist capturing and simulation, it gave the
design flow its name. The myth that a specification is nevercomplete was born at those times, as the gate-level design sel-dom reflected specification and thus had to be adapted. Thefact that designers waited for the gatel-level design before ver-ifying the system, specification was the main obstacle to closethe system gap between Sw and Hw or between specificationand implementation. There were too many of abstraction levelsinbetween.
Capture-and-Simulate Design Flow
Marcel Jacomet 21 2012
-
8/13/2019 SoCintro_A5
24/55
Introduction
system designers generate
preliminary specification
basic algorithms
no software design
HW designers generate
architecture, RTL, logic logic-level netlist for simu-
lation and capturing
simulate and optimize
system gap between HW andSW
simulation at the end of a de-
sign
manual design, no automation
myth: spec is never completedue to gate-level design itera-tion:designers wait until gate-levelfinished for system spec verifi-cation
Capture &Simulate
SW?
1960s - 1980s
Specs
Algorithms
Design
Logic
Physical
Manufacturing
System Gap
Simulate
Marcel Jacomet 22 2012
-
8/13/2019 SoCintro_A5
25/55
Introduction
New synthesis tools have significantly altered the design flowin the 1980s. On the logic-level now both behavioral and struc-tural models could be described. Designers first described theirdesigns by means of Boolean equations and Fsm descriptionsand thereafter synthesized it into logic-level netlists. This de-sign flow change was a huge evolution step as both, behavioraland structural models, could now be simulated, which was alarge improvement in the verification step. In this period the
register-transfer-level Rtl of abstraction has been introduced,allowing cycle-accurate simulation and synthesis. The systemgap has therefore been reduced, but still existed.
Describe-and-Synthesize Design Flow
Marcel Jacomet 23 2012
-
8/13/2019 SoCintro_A5
26/55
Introduction
system designers generate
preliminary specification
basic algorithms
SW design after HW de-sign
HW designers generate
architecture, RTL, logic
synthesis tools generate logic
designers simulate and op-timize
simulation before and after syn-thesis
designers describe functionality,tools synthesize structure
system gap still persists
simulation of behavioral andstructurel model
RTL level introduced for cycle-
accurate sim
Describe &Synthesize
SW?
1980s - 2000s
Specs
Algorithms
Design
Logic
Physical
Manufacturing
Describe
Simulate
Marcel Jacomet 24 2012
-
8/13/2019 SoCintro_A5
27/55
Introduction
The only way to eliminate the system gap is to further in-crease the abstraction level to the system level and, last butnot least, to include bothHwandSwinto the design flow. Anexecutable specification on the system level Sl is the startingpoint in this new design methodology and represents the systembehavior. The methodology is extended by different models rep-resenting different details of the design decisions. The modelsare used to include different system properties, like functionality,
communication, synchronization, performance, power and so on.Each model can be used as a specification to develop the nextlevel models whereas more implementation information is addedafter more design decisions are made. This new design method-ology is often called specify-explore-refine (Ser) design flow. InSerdesigners first specify their intent, then explore possibilitiesand finally refine the model according their decisions.
Specify-Explore-Refine Design Flow
Marcel Jacomet 25 2012
-
8/13/2019 SoCintro_A5
28/55
Introduction
application designers generate
executable specification
application algorithms
platform model for applica-tion/platform optimization
system designers generate
detailed architecture and net-work
SW and HW components
logic and layout
many design levels and models
many metrics for validation
SER solution: step-by-step strategy
for each model explore design de-cisions
refine model after exploration
refined model = specification forthe next level
models include diff system properties functionality, performance
communication, synchronization
Specify, Explore& Refine
2000s - 2020?
ExecutableSpec
Algorithms
Architecture
Network
SW/HW
LogicPhysical
Manufacturing
Functionality
Algorithms
Connectivity
Protocols
Performance
Timing
Marcel Jacomet 26 2012
-
8/13/2019 SoCintro_A5
29/55
Introduction
Evolution of Design: Summary
concept of describe-and-synthesize was not upgradedadequately to system level
Capture &Simulate
SW?
1960s - 1980
Specs
Algorithms
Design
Logic
Physical
Manufacturing
System Gap
Simulate
Marcel Jacomet 27 2012
-
8/13/2019 SoCintro_A5
30/55
Introduction
In order to find a suitable Ser design methodology, exist-ing design flows have to be analyzed by their advantages andshortcomings.
In Search of a Solution
semantics issue in description language
modeling languages do not reflect design decisions
modeling languages do not reflect implementation
models are ambiguous for synthesis and verification
better model formalism needed
definition of set of models
definition of model composition relation between design decision and model transfor-
mation
automatic model refinement and generation
model automation
automatic metric estimation
Marcel Jacomet 28 2012
-
8/13/2019 SoCintro_A5
31/55
Introduction
Introducing system level abstraction implies introducing moremodels. Clear model semantics are thus crucial. Models writ-ten in hardware description languages, like Vhdl or SystemCcan be simulated, but have some drawbacks at using them forsynthesis. Due to unclear semantics, they can result in ambi-guities that make automated synthesis and verification impossi-ble, thus only a well defined subset of the languages should beused. The caseconstruct, which can be found in any Hdlcom-
prises some implementation ambiguities: it can either be usedto model an Fsm or a look-up table, where every case wouldbe a state or a variable, respectively. Unfortunately Fsms andlook-up tables require completely different implementations, us-ing registers with logic in the first, and memory in the latter. Toconclude, a model which uses thecaseto modelFsms and tablesis good for simulation but not for implementation as it cannot bedetermined which structure was described by the model. Someform of formalism has to be introduced to models and modelinglanguages in order to have well-defined semantics.
Missing Semantics in Languages
ambiguous semantics for hardware and system languages
describes functionality, but not implementation
same model may represent two completely different
implementations
simulatable but not synthesizable or verifiable
needs stricter semantics, describing design decisions
Marcel Jacomet 29 2012
-
8/13/2019 SoCintro_A5
32/55
Introduction
controller memory
finite state machine look-up table
1.4142
7.5672
case X iswhen X1=>
.
.
.
when X2=>
Marcel Jacomet 30 2012
-
8/13/2019 SoCintro_A5
33/55
Introduction
Clear semantics for the different models as well as modeltransformation rules are necessary. Every model is a set of ob-
jects and composition rules, as for example is the case in classicalalgebra. With algebra we can also describe a models structure,like hierarchy, parallelisms or sequentialism. The expression onthe left shows the need of one multiplier and one adder. Theexpression may need 2 clock cycles to complete, by executingthe addition and multiplications sequentially. Using the alge-
bra rules it is clear that this equation is identical with the oneon the right side, where 2 multipliers and one adder is needed,executing the operation in 2 clock cycles as well. In case weare limited to 1 multiplier, the execution time would be 3 cy-cles. The equivalence of such arithmetic algebraic expressionsallows the designer two perform model transformations and op-timizations for some design metrics using algebra rules. Similarto the arithmetic algebra we can also define model algebra de-scribing objects and composition rules. The most importantelements here are processes and communication channels. Withthe composition rules of model algebra we can compose objectshierarchically, sequentially and parallel. If we decide that theprocesses P1 and P2 run on process element PE1 and processP3 run on process element PE2, the sequential dependency ofPE1 to PE3 as seen on the left side can be modeled by a com-munication channel synchronizing the 2 processes such that P3only starts execution after P1 is finished.
Model Algebra
Marcel Jacomet 31 2012
-
8/13/2019 SoCintro_A5
34/55
Introduction
with model transformation we can describe:
parallel, sequential, hieararchy
model algebra:
arithmetic algebra: a (b+c) = a b+a c
arithmetic algebra allows creation of expressions andproving their equivalences
P2 P3
P1
P2
P1
P3
PE1 PE2
model algebequivalence
Marcel Jacomet 32 2012
-
8/13/2019 SoCintro_A5
35/55
Introduction
The specify-explore-refine methodologies may use model al-gebra to perform the model transformation after each step ofdesign decisions. After some design exploration, design deci-sions are made, followed by a model transformation using modelalgebra to preserve execution equivalence. A model transforma-tion usually replaces one object by several objects or does are-composition of objects. Applying Sermethodology to a sys-tem specification we generate several intermediate models and
finally may end up with a cycle-accurate implementation model.
Specify-Explore-Refine Methodology
SER
sequence of models generatedthrough a sequence of design de-
cisions
each design decision requires amodel transformation
transformations generate modelrefinement
model refinement requires objectreplacemenet or re-composition
system specificationmodel
SER
cycle accurateimplementation model
intermediate models
design decisions
model refinement
replacement orrecompilation
Marcel Jacomet 33 2012
-
8/13/2019 SoCintro_A5
36/55
Introduction
A good compromise is needed to define the right numberof models. One model per abstraction level and design met-ric results in too many, and possible incompatible models. Onemodel for several hierarchies may result in a too complex model.A good solution may be to stick number of models to the dif-ferent types of designers: application designer, system designerand implementation designer, resulting in a specification modelSm, a transaction-level model Tlm and a cycle-accurate model
Cam. With an executable specification model the designer canshow that his algorithm runs correctly. Once a platform is de-fined, optimizations can be done by channel partitioning, map-ping and scheduling. Adding new features and functions canalso be done with this model, even when the product is alreadyimplemented on a target technology. The system designer usesthe transaction-level model to estimate design metrics such ascost, performance, communication traffic or power consumption.With the Tlm model he can explore different implementationslike different component selections, connectivity, interfaces andoperating systems. Finally the cycle-accurate model is usedby hardware designers to verify the correct functionality of thegenerated system hardware components (custom processors, in-terfaces, interrupt controllers, bridges, etc). System softwaredesigners use the model to verify firmware, i.e. task schedul-ing, data transfer, synchronization etc. With the technologyadvances, the differentiation between hardware and software is
blurring. Algorithms executed in software today can be imple-mented in hardware tomorrow. The models presented supportthis technology shift.
Necessary Models, Platforms and Tools
design flow with 3 types of designers
application designers
Marcel Jacomet 34 2012
-
8/13/2019 SoCintro_A5
37/55
Introduction
system designers
implementation designers
design flow with 3 design models
executable specification model (SM)
transaction-level model (TLM)
cycle-accurate model (CAM)
platform with 4 component types
processing components
storage components
communication components
interface components
environment with 4 types of tools
metric evaluation with estimation tool
design decisions with synthesis tool
model generation with refinement tools
validation with simulation/Verification tool
Marcel Jacomet 35 2012
-
8/13/2019 SoCintro_A5
38/55
Introduction
1.6 System Models
The system model includes application code and system require-ments. The application code is defined in the form of a processstate machinePsm. The model is used to specify the applicationalgorithm and later on to optimize application code for mappingto a platform. In the design phase of defining the system model,the application algorithm must be broken down into processes
and communication channels. The goal must be to balance thechannel traffic that will optimize the local communication andminimize the long-distance data transfers after platform map-ping. Further on, the processes must be grouped and mappedto processing elements which offer the best structure to executethem optimally. Restructuring the code, mapping and schedul-ing is often an iterative design step to find an optimal solution.
System Specification Model (SM)
Marcel Jacomet 36 2012
-
8/13/2019 SoCintro_A5
39/55
Introduction
SM specifies application algorithm
SM includes application code and system require-ments
SM is for platform mapping and optimization
SM uses a MoC (such as PSM)
SM is an executable specification processes and communication
SM synthesis
break down into processes and communicationchannels
balance channel traffic
mapping processes to PEs, scheduling
exploring design space using metrics
iterative design step
Marcel Jacomet 37 2012
-
8/13/2019 SoCintro_A5
40/55
Introduction
The platform architecture can partially be defined by theSm or completely be generated by the synthesis process. It isnot uncommon, that additional components or communicationchannels are added after the synthesis step for some metric op-timization. During synthesis, process are mapped to processingelements, variables are mapped to local or global memories andchannels are mapped to routes, consisting of buses and bridges.The platform with its mapped processes and channels defines the
system structure after manual or automatic system synthesis.Such system structures are usually modeled with a transaction-level model (Tlm). A Tlm basically reflects the structure ofthe system but adds bus interfaces and combines channels intobuses. In our example, channels C1 and C2 use the Cpu busandIpbus through a bridge who converts theCpu andIppro-tocols to each other. In addition, the operating systemOs andcommunication drivers for the bus reside on the Cpu. A Tlmmodel can be timed or un-timed. For a timedTlm model theapplication code and its processing element need to be profiledto estimate its execution time. In addition, the time needed tosend messages through their communication routes need to beestimated as well. A Tlm is used to explore the different Smwith different platforms and different mappings. A Tlmallowsfast simulation by using a reasonable model precision for theneeded profiling. A Tlm serves for the exploration of the plat-form structure and estimation of the system metrics. A Tlmis
a system level model.
System Transaction-Level Model (TLM)
Marcel Jacomet 38 2012
-
8/13/2019 SoCintro_A5
41/55
Introduction
TLM for platform structure exploration
application algorithms
design metrics
reflect platform structure, combines channels tobuses, add bus interfaces, adds OS/drivers
TLM with different details
network TLM, protocol TLM
TLM is a system level model
models
CPU: processes, OS
IP, HW: processes
bus: bus model
TLM
timed or un-timed
profiling code
profiling HW
profiling message through communication routes
P1 P3
OS
CPU
Mem
CPU Bus IP Bus
Bridge
P2 P4
HW
P5
IP
Marcel Jacomet 39 2012
-
8/13/2019 SoCintro_A5
42/55
Introduction
In order to generate a prototype, the system level abstractionmodel of a Tlm has to be lowered to the processor level ofabstraction, resulting into a cycle-accurate model (Cam) for theentire system. By refining the functionality of each componentof aTlm model we can find aCam or Rtlmodel of the system.Thus for custom hardware and interface components we need aprocessor-level synthesis,Ip functional descriptions are replacedby theirRtldescriptions from libraries. Standard processes are
replaced by theirRtlor Is models to run the compiled code. ACammodel must include Rtos and drivers as well.
System Cycle-Accurate Model (CAM)
Marcel Jacomet 40 2012
-
8/13/2019 SoCintro_A5
43/55
Introduction
CAM is for cycle-accurate exploration and design
CAM is processor level model
CAM is for input to RTL tools
ASIC design
FPGA design
CPU model
compiled binary
inserted RTOS
HAL RTL
IP and HW model
process RTL
IF RTL
memory model
controller RTL
IF RTL
bus model
arbiter, IC, bridge & IF RTL
Marcel Jacomet 41 2012
-
8/13/2019 SoCintro_A5
44/55
Introduction
Bridge
IP
Marcel Jacomet 42 2012
-
8/13/2019 SoCintro_A5
45/55
Introduction
1.7 System Platform
The basic platform components are processing components, stor-age components, communication components and interface com-ponents (besides analog components for mixed-mode designs).Todays platforms may have multiple processing and commu-nication components. Also more complicated communicationcomponents like transducers are used to perform the message
routing as seen in networks-on-chips (NoCs). System synthesisis only possible as long as the component and platform struc-ture variety is limited. Using only the above 4 component types,system synthesis is possible.
System Platform Architecture
processing components (PEs)
standard and custom processors
storage components
local and global memories
communication components
bridges, transducers
NoCs
interface components
arbiters
controllers
DMAs, UARTs
limitation to 4 basic components fosters system synthe-sis
Marcel Jacomet 43 2012
-
8/13/2019 SoCintro_A5
46/55
Introduction
PE2A(master)
PE2B(slave)
PE3A
memory 3
IF
biter 2
transducer 2-3
arbiter 3
bus 2 bus 3
2
int2.1
int2.2
Marcel Jacomet 44 2012
-
8/13/2019 SoCintro_A5
47/55
Introduction
1.8 Tools and Environments
An automatic model refinement can be obtained in the specify-explore-refine methodology as long as there exists a sequence oftransformations for every design decision. Using a model alge-bra, a verify tool can verify execution equivalence between thetwo models after every refinement step. With a simulation theuser can validate his new model. The user makes the design
decisions with Gui tool, based on profiling results of differentmetrics from the estimation tool and based on available com-ponents. Such a design environment can easily be implementedas long as the abstraction levels of model A and B do not dif-fer significantly. For our specify-explore-refine methodology wehave identified 3 types of models Sm, TlmandCam.
System Platform Architecture
mode A to model B refine-mement
estimation tool formetrics
synthesis tool for de-sign decisions
refinement tool for
transformations verify tool for model
equivalence
simulation tool tovalidation model
component library formodel refinement
GUI for manual over-
ride of synthesis tool
componentlibrary
GUIsynthesis
tool
estimationtool refinement
tool
verifytool
simulationtool
model A
model B
Marcel Jacomet 45 2012
-
8/13/2019 SoCintro_A5
48/55
-
8/13/2019 SoCintro_A5
49/55
Introduction
For our specify-explore-refine methodology we have identi-fied 3 types of models Sm,Tlmand Cam. This means we needtwo tools as described above for the refinement steps between the3 different models: (a) A front-end tool for the application de-velopers to capture the system behavior in a high level languagesuch as C/C++, SystemC, Matlab, UML or similar. The front-end tool is used to test an application idea with a system modeland to refine it to a transaction-level model using platform ar-
chitecture. Exploring the design space, the tool thus generatesa functional or timed Tlm. (b) A back-end tool for implement-ing the system with all Hw and Sw details given the definedplatform. Starting from aTlm description, the tool outputs aCamof the system in Hdl for theHw and an instruction setIsmodel for custom processors. A co-simulation of bothHdl/Ismodels can be used for verification at the micro-architectureabstraction level. The obtained Rtl descriptions can now besynthesized with Rtl tools to get the logic circuit for placingand routing on a chip. The compiled and linked Sw can bedownloaded on the selected processors of the SoCplatform.
System Platform Architecture
Marcel Jacomet 47 2012
-
8/13/2019 SoCintro_A5
50/55
Introduction
front-end
for application devel-opers(C/C++, SystemC,Matlab)
for testing productconcepts
(application ideas) explore design space
back-end
micro-architectureabstraction-level
for SW and HW de-velopment
product prototyping
SoC implementation
prepare for fab
synthesis for gate-level
place and route
compile code for SW
TIMED
CYCLEACCURATE
Create
Select
Partition
Map
Compile
Replace
Compile
Debug
Simulate
Verify
Compile
Check
Simulate
Verify
application tools:compilers/debuggers
commercial tools:FPGA/ASIC place & route
DecisionUser
Interface
ValidationUser
Interface
System Capture &
Platform Development
SW Development &
HW Development
Front-End
Back-End
SM
TLM
CAM
Marcel Jacomet 48 2012
-
8/13/2019 SoCintro_A5
51/55
Introduction
1.9 Conclusion
The past has shown, that simplifying a model always fostersan improvement in productivity: as a first example was the re-striction of the number of elements on chip to Nfet andPfettransistors and combining them to Cmos logic gates. Com-pared to all available circuit types like resistor-transistor-logic,transistor-transistor-logic and diode-transistor-logic this was an
effective simplification. Later on, the restriction to standard-celldesign techniques with its layout routing channels was anothermajor step in design productivity improvement. More recentlywe have observed the abstraction from logic gates to Fsms anddata paths which opened the path for first micro-architecturelevel synthesis tools. It is only natural to continue this moveto higher abstraction levels and thus simplifying the underly-ing models. Another observation will have a big impact to theengineering education: the fact that application algorithms can
either be implemented inSw or Hw, brings the two engineeringdisciplines together and may even merge them in the future.
Conclusion
embedded system synthesis! Does it exist?
well-defined models, decisions, transformations, re-
finements worked in the past: layout, logic, RTL
system level complexity simplified (nfet, std cell, ...)
extreme makeover is necessary for this new paradigm
SW = HW = SoC = embedded systems
simulation based only flow is not acceptable
design methodology must be based on scientific prin-
ciples
Marcel Jacomet 49 2012
-
8/13/2019 SoCintro_A5
52/55
Introduction
benefits
large productivity gain
easy design management
easy derivatives and shorter time-to-market
what is next?
change to more structured system design application oriented EDA
merging SW and HW development & education
Marcel Jacomet 50 2012
-
8/13/2019 SoCintro_A5
53/55
Introduction
abbreviation explanationAg address generatorAlap as late as possibleAsap as soon as possibleBb basic blockBcam bus cycle-accurate modelBfm bus-functional modelCam cycle-accurate model
Ccam computation cycle-accurate modelCcs communication systemCdfg control-data flow graphCe communication elementCla carry-lookahead adderCMem control memoryCpa carry-propagate adderCsa carry-save adderCsp communicating sequential processCw(r) control word (register)Dfg data flow graphDut device under testEdf earliest deadline first (scheduling policy in RTOS)Fsm finite-state-machineFsmd finite-state-machine with data-pathHal hardware abstraction levelHcfsm hierarchical concurrenzt FSM
Hdl hardware description languageHls high-level synthesisHw hardwareIr instruction registerIs instruction setIsr interrupt service routineIss instruction set simulatorIp intellectual property (hardware component)If interface component
Kpn Kahn process network
Marcel Jacomet 51 2012
-
8/13/2019 SoCintro_A5
54/55
Introduction
abbreviation explanationMac media access (layer)MoC model of computationMPSoC multiple processor system-on-chipNoC network-on-chipPc program counterPe processing elementPMem program memory
Psm process state machineRc ressource constrained (scheduling)Rf register fileRm rate monotonic (scheduling policy in RTOS)Rpc remote procedure callSdf synchronous data flowSldl system-level design languageSer specify-explore-refine (design methodology)Sfsmd super FSM with datapathSldl system-level design languageSm specification modelSoC system-on-chipSr status registerSw softwareTc time constrainedTlm transaction-level modelUml unified modelling language
Marcel Jacomet 52 2012
-
8/13/2019 SoCintro_A5
55/55
Introduction
References
[GAGS09] Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer,and Gunar Schirner.Embedded System Design: Mod-eling, Synthesis and Verification. Springer Verlag,2009. Isbn-10 1441905030.
[GZGZ00] Daniel D. Gajski, Jianwen Zhu, Andreas Gerstlauer,and Shuqing Zhao.SpecC: Specification language andMethodology. Kluwer Academic Publishers, 2000.