What is HW/SW codesogn about?
How to design complex electronic systems at high levels of abstraction
What are some questions HW/SW codesign deals with?
specification and modeling of hybrid, mixed hw/sw solutions for embedded systems
optimized partitioning for application graphs in HS and SW groupings
including their binding to processing entities
scheduling, estimation and evaluation of design quality
target architectures and prototyping platforms for HW/SW systems
What is the motivation to deal with system complexity?
complexity in systems rapidly increases
-> diversity of functions
-> performance requirements
-> eroding cost
-> shorter development cycles
What are embedded systems?
application specific and
information processing system
which is embedded into a bigger technical context or technical system
What does an embedded system consist of (high level)?
cooperating, optimized hardware and software components
Do embedded systems fulfil the same tasks as regular PCs?
no their tasks differ substantially from general purpose computing systems
What are the most important requirements for HW/SW systems?
reliability
availability
serviceability
How is safety defined?
the failuer of an embedded system
has no catastrophic consequences
for the technical context or higher order system
When should the RAS requirements be considered?
from the beginning
-> have to be designed into the system from the very beginning
Can it happen that even perfectly designed and implemented systems show faulty behavior?
yes
-> when e.g. assumptions on worklad and root cause of failuers
-> turn out to be inadequate or even wrong…
What is reliability? How is it calculated?
R(t)
probability taht a system works correct until time t
assumed it worked correct at a reference time t0=0
calculation:
assuming a constant failure rate lambda
What is the mean time to failure?
metric based on failure rate lambda
What is availabiltiy?
the fraction of time the system works between two consecutive failures
How can one calculate the availability?
mean time to failure / (MTTF + mean time to repair)
-> assuming the non-avaiable time is MTTR and the available is MTTF
-> MTTF fraction of it…
What is serviceability?
measure considering the time it takes to repair a system
after a benign failure
=> MTTR
What types of failure are there? How do they behave over time?
early “infant mortality” failure
decreases over time
constant (random) failure
constant
wear out failures
increases over time
What failure rate do we actually assume?
compoise the different failure types
-> in the middle, there is “sweetspot” of constant failure we assume…
What are additional requirements for HW/SW systems?
efficiency
real-time capability
flexibility (by means of freely programmable CPU components)
What impacts efficiency?
cost
energy
execution time
weight
area
code size
=> often multi-dimensional optimzation targets
What is meant with real-time capability?
implies that
system reacts to external stimuli from environment (techn. context)
within a predefined time interval
What is the hard-real time condition?
non-compliance to hard real-time condition
may lead to system failure
Why is flexibility important?
risk minimization
time-to-market
post-shipment upgrades
What is the metric “computational density” CD used for?
express compute operations per area and time
ops / N [L_min^2]
What is functional diversity FD?
empiric metric that expresses
number of elementary operations of a compute entity
which can be changed instantaneously
=> i.e. flexibility…
What are two fundamental SoC implementaiton styles?
Custom Logic / ASIC
paralell in space and time
Pipelined RISC
paralell in space
sequential in time
What is the tradeoff between hardware and software heavy implementation?
software: more flexibility
hardware: more computational density and power efficiency
What are some good things resulting from moores law?
doubling of chip capacity every 2 – 3 years
ability to integrate more diversified functoins on single chip
exponential cost reduction
What are some disadvantages resulting from moores law?
higher complexity -> how to test such systems with affordable cost and time
how to cope with power dissipation
What is the goal of HW/SW codesign?
holistic consideration and design of hardware and software components of an (embedded) system
with the objective to
improve quality of design
cost reduction
shorter development cycle
optimize performance
lower processing latency
higher system throughput
and design at high abstraction levels
-> design start with formal, implementation independent application modeling
What different abstraction levels are there?
system (i.e. network of communicating sub-systems)
architecture / module
HW: processors, ASICS, Buses, I/O,…
Last changeda year ago