1
1 December 12, 2001
From CoPop to CoWare: What are the challenges?
Paul Pop
Embedded Systems Laboratory Computer and Information Science Dept. Linköpings universitet
Codesign Graduate Course Paul Pop 2 December 12, 2001
From CoPop to CoWare: What are the challenges? Paul Pop Embedded - - PDF document
From CoPop to CoWare: What are the challenges? Paul Pop Embedded Systems Laboratory Computer and Information Science Dept. Linkpings universitet 1 December 12, 2001 Codesign Environments Application domain Architecture,
1 December 12, 2001
Embedded Systems Laboratory Computer and Information Science Dept. Linköpings universitet
Codesign Graduate Course Paul Pop 2 December 12, 2001
Codesign Graduate Course Paul Pop 3 December 12, 2001
Simulation Hardware/Software partitioning, mapping Synthesis Transformational codesign approach User guided partitioning Incremental design process
Scheduling Communication synthesis Mapping Architecture selection
Design Flow Data model
Processes, ports, protocols, threads, terminals, channels
Communication: Remote Procedure Call SOLAR Simple architecture model Conditional process graphs Simple architecture model Internal Representation Heterogeneous systems
Distributed and communicating systems, library of protocols Automotive electronics, communication: time triggered protocol Application Domain
IMEC, CoWare
http://www.coware.com
A.A.Jerraya et al., System-Level Synthesis Group, TIMA, France Paul Pop et al., Embedded Systems Lab, Liköpings universitet General Information
Codesign Graduate Course Paul Pop 4 December 12, 2001
Paul Pop et al., Embedded Systems Lab, Liköpings universitet
http://www.ida.liu.se/~paupo
Automotive electronics, communication: time triggered protocol
Conditional process graphs Simple architecture model
Scheduling Communication synthesis Mapping Architecture selection
Codesign Graduate Course Paul Pop 5 December 12, 2001
System Specification Architecture Selection Scheduling Integration Hardware Synthesis Partitioning Software Synthesis
Scheduling of processes and messages for distributed hard real-time applications with control and data dependencies in the context of a given communication protocol.
Optimization of the parameters of the communication protocol so that the overall system performance is increased and the imposed timing constraints are satisfied.
Incremental Design Process
Codesign Graduate Course Paul Pop 6 December 12, 2001
Codesign Graduate Course Paul Pop 7 December 12, 2001
public void run() { Message[] msgs = receive("cem&&ecm&&tcm&&abs&&ccont"); // .. Extracting messages from array msgs boolean lowBattery = cemMsg.vbatt < 9; boolean atglpNotDrive = tcmMsg.atglp != Signals.DRIVE && tcmMsg.atglp != Signals.DRIVE_L; boolean allQualit iesGood = tcmMsg.atglpqf == Signals.GOOD && absMsg.vsqf == Signals.GOOD &&tcmMsg.vsaqf == Signals.GOOD; boolean vsVsaDiffHigh = Math.abs(absMsg.vs -tcmMsg.vsa)/absMsg.vs > 0.05; boolean wrongSpeed = absMsg.vs < 35 || absMsg.vs > 200; if (!ccont || lowBattery || atglpNotDrive || !allQualit iesGood || vsVsaDiffHigh || wrongSpeed || cemMsg.cccanc || ecmMsg.bpa) { send("cca_error", null); } else { send("cca_is_button_pressed", cemMsg); } Message[] mmsgs = receive("cca_error||cca_is_button_pressed"); cca = (Boolean) getDataFromMessageArray(mmsgs, "cca_error"); if (cca == null) { cca = (Boolean) getDataFromMessageArray(mmsgs, "cca_is_button_pressed"); } send("ccf", cca); send("ccsp", cca); } Codesign Graduate Course Paul Pop 8 December 12, 2001
Vehicle cruise controller. Modelled with a CPG of 32 processes and two conditions. Mapped on 5 nodes: CEM, ABS, ETM, ECM, TCM.
Codesign Graduate Course Paul Pop 9 December 12, 2001
Codesign Graduate Course Paul Pop 10 December 12, 2001
P4 P4 P5 P5 P7 P7 P13 P13 P15 P15 First processor Second processor ASIC C C D D P0 P18 P1 P1 P2 P2 P3 P3 P6 P6 P8 P8 P9 P9 P10 P10 P11 P11 P12 P12 P14 P14 P16 P16 P17 P17 C K K
P0 P18 P1 P2 P3 P6 P8 P9 P10 P11 P12 P14 P16 P17
Subgraph corresponding to D∨C∨K
Codesign Graduate Course Paul Pop 11 December 12, 2001
Codesign Graduate Course Paul Pop 12 December 12, 2001
Codesign Graduate Course Paul Pop 13 December 12, 2001
I/O Interface TTP Controller CPU RAM ROM ASIC Node
Hard real-time distributed systems. Nodes interconnected by a broadcast communication channel. Nodes consisting of: TTP controller, CPU, RAM, ROM, I/O interface, (maybe) ASIC. Communication between nodes is based on the time-triggered protocol. S0 S1 S2 S3 S0 S1 S2 S3 TDMA Round Cycle of two rounds Slot Bus access scheme: time-division multiple-access (TDMA). Schedule table located in each TTP controller: message descriptor list (MEDL).
Codesign Graduate Course Paul Pop 14 December 12, 2001
controllers.
so that this delay is as small as possible.
and messages according to the TTP.
Codesign Graduate Course Paul Pop 15 December 12, 2001
Codesign Graduate Course Paul Pop 16 December 12, 2001
S1 S0 Round 1 Round 2 Round 3 Round 4 Round 5 P1 P4 P2 m1 m2 m3 m4 P3
24 ms
Round 1 P1 Round 2 Round 3 Round 4 S1 S0 m1 m2 m3 m4 P2 P3 P4
22 ms
Round 1 Round 2 Round 3 S1 S0 P2 P3 P4 P1 m1 m2 m3 m4
20 ms
Codesign Graduate Course Paul Pop 17 December 12, 2001
S1 S0 Round 1 Round 2 Round 3 Round 4 Round 5 P1 P4 P2 m1 m2 m3 m4 P3
P1 P4 P2 P3
N1 N2 N1 N2 Bus
Codesign Graduate Course Paul Pop 18 December 12, 2001
A set of existing applications modelled using process graphs. A current application to be mapped modelled using process graphs. Each process graph in the application has its own period and deadline. Each process has a potential set of nodes to be mapped to and a WCET. The system architecture is given.
A mapping and scheduling of the current application, so that: Requirement a: constraints of the current application are satisfied and minimal modifications are performed to the existing applications. Requirement b: new future applications can be mapped
Hard real-time applications Static cyclic scheduling of processes and messages Time-triggered protocol, TDMA
Codesign Graduate Course Paul Pop 19 December 12, 2001
No modifications are performed to the existing applications.
Existing applications
N-1
Map and schedule so that the future applications will have a chance to fit.
Current applications
N
Do not exist yet at Version N!
Future applications
Version N+1
Codesign Graduate Course Paul Pop 20 December 12, 2001
A.A.Jerraya et al., System-Level Synthesis Group, TIMA, France
http://tima.imag.fr/SLS/
Distributed and communicating systems, library of protocols
SDL -> SOLAR -> C/VHDL Simple architecture model
User guided partitioning
Codesign Graduate Course Paul Pop 21 December 12, 2001
Codesign Graduate Course Paul Pop 22 December 12, 2001
Traditional codesign flow Transformational codesign flow
Codesign Graduate Course Paul Pop 23 December 12, 2001
Codesign Graduate Course Paul Pop 24 December 12, 2001
Extended Finite State Machines for behaviour Remote procedure call for communication
High level communication concepts Channels Shared global variables Can model complex communication protocols
Codesign Graduate Course Paul Pop 25 December 12, 2001
Basic concepts: State table, Design unit, Channel unit
Codesign Graduate Course Paul Pop 26 December 12, 2001
Codesign Graduate Course Paul Pop 27 December 12, 2001
Transform behaviours (state tables) Split, Merge, Move, Flat
Codesign Graduate Course Paul Pop 28 December 12, 2001
Distributes the behaviours to design units (processors) Split, Merge, Move, Map, Flat
Codesign Graduate Course Paul Pop 29 December 12, 2001
From high level primitives to protocols from a library Map, Merge
Codesign Graduate Course Paul Pop 30 December 12, 2001
Transfor mations Transfor mations
Codesign Graduate Course Paul Pop 31 December 12, 2001
Codesign Graduate Course Paul Pop 32 December 12, 2001
Decomposes a sequential machine into a set of submachines. Each resulting machine can be placed into a different partition. Control signals and wait states have to be added.
Codesign Graduate Course Paul Pop 33 December 12, 2001
Groups a set of sequential machines into a unique machine. Sharing of resources.
Codesign Graduate Course Paul Pop 34 December 12, 2001
Transforms the hierarchy. Can be used to move code from a software partition to a hardware partition.
Codesign Graduate Course Paul Pop 35 December 12, 2001
Split
a set of independent modules (design units).
Codesign Graduate Course Paul Pop 36 December 12, 2001
Codesign Graduate Course Paul Pop 37 December 12, 2001
Codesign Graduate Course Paul Pop 38 December 12, 2001
Split
a set of independent modules (design units).
Codesign Graduate Course Paul Pop 39 December 12, 2001
http://www.coware.com
Heterogeneous systems on a chip
Data model
Processes, ports, protocols, threads, terminals, channels
Communication: Remote Procedure Call
Simulation Hardware/Software partitioning, mapping Synthesis
Codesign Graduate Course Paul Pop 40 December 12, 2001
Codesign Graduate Course Paul Pop 41 December 12, 2001
Codesign Graduate Course Paul Pop 42 December 12, 2001
Codesign Graduate Course Paul Pop 43 December 12, 2001
Each component corresponds to a process implementing a specific function of the pager. This functional decomposition determines the initial partitioning. The arrows in between the processes indicate communication via RPC.
Codesign Graduate Course Paul Pop 44 December 12, 2001
Interconnection of processes Processes are processor implementations Structural VHDL
Codesign Graduate Course Paul Pop 45 December 12, 2001
Codesign Graduate Course Paul Pop 46 December 12, 2001
Codesign Graduate Course Paul Pop 47 December 12, 2001
Visual representations of models Workflow Help systems Computational design critics