Professional Documents
Culture Documents
Course Information
Labs&Lessons&Report:
System Design&Methodologies F 1&2- 4
Memory
Reconfigurable logic (FPGA)
Network Interface
Real-Time Operating System
Gateway
I/O drivers, Network protocols, Middleware
Gateway
Safety
Time to market
Embedded systems are often used in life critical In highly competitive markets it is critical to catch the market
applications: avionics, automotive electronics, nuclear window: a short delay with the product on the market can
plants, medical applications, military applications, etc. have catastrophic financial consequences (even if the quality
of the product is excellent).
Reliability and safety are major requirements.
Time 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64
Task WCET task
----
T1 T2 T4 T3 T5 T6 T7 T8
T1 4 ----
T ----
2 6
T
3 4
T4 7
processor
Using this architecture we got a solution with:
T Estimator
5 8 arch. model
T6 12 Execution time: 58 > 42
T
7 7 WCET
T
8 10 Cost: 4 < 8
We look after a processor which is fast enough: p2 Now we have to look to a multiprocessor solution.
In order to meet cost constraints we try two cheap (and slow) ps:
For each task the WCET, when executed on p2, is estimated. p3: cost 3
p4: cost 2 WCET
interconnection bus: cost 1 Task
Task WCET p3 p4
Using this architecture we got a solution with: T1 2 For each task the WCET, when executed T1 5 6
T4 3 T4 8 10
Cost: 15 > 8
T5 4 p3 p4 T5 10 11
T6 6 T6 17 21
We have to try with another architecture! T7 3 Bus T7 10 14
T8 5 T8 15 19
p4 T
Estimated communication
We have exceeded the allowed execution time (42)!
times: C1-2: 1
C4-8: 1
Try a new mapping; move T5 to p4, in order to increase parallelism. There exists a better schedule!
Two new communications are introduced, with estimated
Time 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64
times: C3-5: 2
p3 T1 T3 T6 T7 T8
C5-7: 1
p4 T2 T5 T4
A schedule:
bus
Time 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 C C C C
1-2 3-5 5-7 4-8
p3 T1 T3 T6 T7 T8
New architecture p3 p4 p4 T
2 T5 T4
Informal Specification,
Constraints
Extremely important!!!
Nothing has been built yet.
Estimation Scheduling
All decisions are based on simulation and estimation.
Mapped and
not OK scheduled not OK
Now we can go and do the software and hardware implementation, model
with a high degree of confidence that we get a correct prototype.
OK
Petru Eles, IDA, LiTH Hardware and
Software
Implementation
Testing Prototype
not OK
OK
Fabrication
What is the essential difference compared to the flow on slide 20? Some additional remarks:
Informal Specification,
Constraints
Modeling Functional
Simulation
System Design&Methodologies F 1&2- 37
ev el
System
architecture Mapping
Hardware/software codesign
L
During the mapping step we also Estimation Scheduling
Sy stem
decide what is going to be executed
on a programmable processor Hardware/Software
not OK Mapped and not OK
codesign
OK Formal
During the implementation phase,
hardware and software components Verification
have to be developed in a
coordinated way, keeping their
consistency (hardware/software
cosimulation is important here) Softw. model Simulation Hardw. model
Lower Levels
Softw. blocks Simulation Hardw. blocks
not OK
Testing Prototype
OK
Fabrication
Software generation:
- Encoding in an implementation language (C, C++, assembler).
Hardware/software integration:
- Compiling (this can include particular optimizations - The software is run together with the hardware model
for application specific processors, DSPs, etc.). (cosim-ulation)
- Generation of a real-time kernel or adapting to an
existing operating system.
- Testing and debugging (in the development environment).
Prototyping:
- A prototype of the hardware is constructed and the software
Hardware synthesis: is executed on the target architecture.
- Encoding in a hardware description language (VHDL, Verilog)
- Successive synthesis steps: high-level, register-transfer
level, logic-level synthesis.
- Testing and debugging (by simulation)
There are available tools on the market which automatically This is a hot research area.
perform many of the low level tasks: Very few commercial tools are offered.
Mostly experimental and academic tools available.
Code generators (software model C, hardware
model VHDL)
Huge efforts and investments are currently made in order
Compilers to develop tools and methodologies for system level
Test generators and debuggers design. Ad-hoc solutions are less and less acceptable.
Simulation and cosimulation tools
Hardware synthesis tools
- High level synthesis It is the system level we are interested in, in this course!
- RT-level synthesis
- Logic synthesis
- Layout and physical implementation