Presentation is loading. Please wait.

Presentation is loading. Please wait.

Royal Institute of Technology System Specification Fundamentals Axel Jantsch, Royal Institute of Technology Stockholm, Sweden.

Similar presentations


Presentation on theme: "Royal Institute of Technology System Specification Fundamentals Axel Jantsch, Royal Institute of Technology Stockholm, Sweden."— Presentation transcript:

1 Royal Institute of Technology System Specification Fundamentals Axel Jantsch, Royal Institute of Technology Stockholm, Sweden

2 Medea DAC, November 2003, 2 Axel Jantsch, KTH, Stockholm Overview  Motivation  Models of Computation  Data Flow  Synchronous Models  Discrete Event Models  SDL - Matlab Integration  Summary

3 Medea DAC, November 2003, 3 Axel Jantsch, KTH, Stockholm System Model and Architecture Heterogeneous Task Graph Heterogeneous Architecture

4 Medea DAC, November 2003, 4 Axel Jantsch, KTH, Stockholm Rising Abstraction Levels Hardware  Polygons  Gates  Blocks (ALUs, Multipliers, FSMs, etc)  Functional blocks (Filters, MPEG codecs, Protocols, etc.) System  Functional blocks (Filters, MPEG codecs, Protocols, etc.)  Features (GSM connection, GPS Modules, Speech recognision, etc.) Software  Machine code  Assembler code  Subroutines, libraries

5 Medea DAC, November 2003, 5 Axel Jantsch, KTH, Stockholm Heterogeneity of Expertise Hardware Embedded Software RF/Mixed Signal Real-timeOperating System Communication Protocols Digital Signal Processing User InterfaceSpeech Processing System Design Communication Systems

6 Medea DAC, November 2003, 6 Axel Jantsch, KTH, Stockholm Models of Computation (MoC)  Raise timing abstraction  Raise communication abstraction  Different MoCs serve different needs  Different MoCs can be integrated into the system  MoCs to be discussed:  Dataflow  Synchronous MoC  Timed MoC

7 Medea DAC, November 2003, 7 Axel Jantsch, KTH, Stockholm Dataflow Process Networks  Networks of actors connected with streams  Hierarchy of networks  Communication is buffered with unbounded FIFOs AB D C

8 Medea DAC, November 2003, 8 Axel Jantsch, KTH, Stockholm Functional Actors  No side effects  For the same input values produce the same output values  Functional for each firing cycle  Functional over the entire streams A x yf(x,y) g(x,y)

9 Medea DAC, November 2003, 9 Axel Jantsch, KTH, Stockholm Static Data Flow  The number of tokens consumed and produced by each process is constant.  A static schedule can always be found, if it exists, and  The maximum buffer requirements can be computed statically. ABC D 224 122 2 1 2 2 2 1 ABC Schedule: AABAABCD D 80 4 00 0 0

10 Medea DAC, November 2003, 10 Axel Jantsch, KTH, Stockholm Perfect Synchrony  Perfect synchrony assumption:  Computation takes no time  Communication takes no time (synchronous broadcast) synchronized foreach period do end  Assumption: The system reacts rapidly enough to perceive all external events in suitable order.

11 Medea DAC, November 2003, 11 Axel Jantsch, KTH, Stockholm Features of Synchronous Languages  Deterministic  Amenable to formal analysis  Efficient synthesis  Substitution of equivalent blocks preserves behaviour

12 Medea DAC, November 2003, 12 Axel Jantsch, KTH, Stockholm Substitution of Equivalent Blocks P1P2P3 P1P2P3

13 Medea DAC, November 2003, 13 Axel Jantsch, KTH, Stockholm Clocked Synchronous Models  Computation takes 1 clock cycle  Communication takes no time  Substitution of blocks must consider timing behavour P1P2P3 P1P2P3 1 cycle ?

14 Medea DAC, November 2003, 14 Axel Jantsch, KTH, Stockholm Discrete Event Models  Event driven dynamics  Events:  Primary input stimuli  Internally generated events  Events have totally ordered time stamps  Components have arbitrary delays  Discrete or continuous time  Most general timing model  Primarily targeted to simulation

15 Medea DAC, November 2003, 15 Axel Jantsch, KTH, Stockholm Simultaneous Events A B 0 delay C t t A B 0 delay C t t A B 0 delay C t t A B 0 delay C t+  t  delay model

16 Medea DAC, November 2003, 16 Axel Jantsch, KTH, Stockholm Delta Time time 0...tt+1... t+  t+2  t+3 ... A The model allows infinite feed back loops between t and t+1

17 Medea DAC, November 2003, 17 Axel Jantsch, KTH, Stockholm Discrete Event Models  Global event queue is a bottleneck  Timing model is close to physical time  Good to simulate timing behaviour of existing components;  Difficult to synthesize  Difficult to formally verify Combinatorial Block Register Combinatorial Block Register  DE Models are interpreted according to a different timing model: Clocked synchronous model

18 Medea DAC, November 2003, 18 Axel Jantsch, KTH, Stockholm Heterogeneous System Modelling  Heterogeneous Systems  Different Communities of Engineers  Established Languages with different profiles  Established design flows

19 Medea DAC, November 2003, 19 Axel Jantsch, KTH, Stockholm Mixing multiple MoCs A B C D E F I I MoC IMoC II Design Language (System C,...) A B C D E F I I Well defined mapping

20 Medea DAC, November 2003, 20 Axel Jantsch, KTH, Stockholm SDL and Matlab  SDL  Communicating State Machines  Communication is buffered with infinite FIFOs  Non-deterministic elements  Partially or totally ordered global time  Discrete events govern the execution  Matlab  Data flow model  Demand driven execution  Deterministic  Partially ordered events; no global time  Vector oriented computation

21 Medea DAC, November 2003, 21 Axel Jantsch, KTH, Stockholm Matlab - SDL Integration: Timing  Equip Matlab with a timing model with totally ordered events r = f(a) where a = and r = a n … a 1 a 0 r m … r 1 r 0 f Re-interpretation !

22 Medea DAC, November 2003, 22 Axel Jantsch, KTH, Stockholm Matlab - SDL: Synchronisation  Provide a synchronization mechanism which preserves Matlab’s vector oriented computation A SDL B f Matlab g Events Data streams

23 Medea DAC, November 2003, 23 Axel Jantsch, KTH, Stockholm Composite Signal Flow  Execution Model  Data flow process  Processes may have state  Signals  Signals are sets of events  An event is a (value, tag) pair Process signal

24 Medea DAC, November 2003, 24 Axel Jantsch, KTH, Stockholm Signals  Signals  Signals are sets of events  An event is a (value, tag) pair (t 0, ) (t 1, ) (t 2, )(t 3, ) signal event  Sampled Signals  Values are only defined for tags t = t 0 +n  Vectorized Signals  Event values are vectors of constant length  Vectorized, sampled signals

25 Medea DAC, November 2003, 25 Axel Jantsch, KTH, Stockholm Vectorization  Head vectorization (t, v 0 ) (t+1, v 1 )(t+2, v 2 ) (t+3, v 3 ) Ψh4Ψh4 (t, <v 0, v 1, v 2, v 3 ) (t+4, <v 4, v 5, v 6, v 7 ) (t, v 0 ) (t+1, v 1 )(t+2, v 2 ) (t+3, v 3 ) Ψt4Ψt4 (t-1, ) (t+3, <v 0, v 1, v 2, v 3 )  Tail vectorization

26 Medea DAC, November 2003, 26 Axel Jantsch, KTH, Stockholm De-Vectorization (t, v 0 ) (t+1, v 1 )(t+2, v 2 ) (t+3, v 3 ) Ωh4Ωh4 (t, <v 0, v 1, v 2, v 3 ) (t+4, <v 4, v 5, v 6, v 7 ) (t, v 0 ) (t+1, v 1 )(t+2, v 2 ) (t+3, v 3 ) Ωt4Ωt4 (t-1, ) (t+3, <v 0, v 1, v 2, v 3 )  Tail de-vectorization  Head de-vectorization

27 Medea DAC, November 2003, 27 Axel Jantsch, KTH, Stockholm Causality  A process is causal if for all possible input and output streams two output streams never differ earlier than the corresponding two input streams. P io i 1 = p 1 α p 2 o 1 = q 1 β q 2 i 2 = p 1 γ p 3 o 2 = q 1 δ q 3 P is causal if and only if tag(α)  tag(β)  Tail vectorization is causal not  Head vectorization is not causal not  Tail de-vectorization is not causal  Head de-vectorization is causal α  γ β  δ

28 Medea DAC, November 2003, 28 Axel Jantsch, KTH, Stockholm Causality and Delay Processes  By combining a non-causal process with a delay process, the resulting compound process can be causal  A delay process outputs every input event delayed by a specific time. (t, v 0 ) (t+1, v 1 )(t+2, v 2 ) (t+3, v 3 ) ΔnΔn (t+n, v 0 ) (t+n+1, v 1 )(t+n+2, v 2 ) (t+n+3, v 3 )

29 Medea DAC, November 2003, 29 Axel Jantsch, KTH, Stockholm Constraints on Modelling  Modelling constraints must ensure that processes have data available when they need it. A s=n,n>0 C B Unsafe situation A s=n,n>0 C B Safe situation ΔnΔn

30 Medea DAC, November 2003, 30 Axel Jantsch, KTH, Stockholm Applications  Co-Modelling of Matlab and SDL  Causality constraints imply modelling constraints to safely mix Matlab and SDL processes  Timing analysis  Causality constraints can be interpreted as timing constraints derived from the timing of streams  Parallel Simulation  A partition must be a causal process  Only periodic signals may cross partition boundaries

31 Medea DAC, November 2003, 31 Axel Jantsch, KTH, Stockholm Connecting MoC Domains  Connecting MoC Domains relates time structures  When you connect an U-MoC with a T-MoC or a S-MoC, the U-MoC imports the time structure.  Interfaces can model the time relation  Interface delays can be modeled stochastically or nondeterministically  Channel behaviour becomes more realistic  Time structure relation can be complex

32 Medea DAC, November 2003, 32 Axel Jantsch, KTH, Stockholm MoC Interface Refinement 1)Add time interface to precisely define the time structure relation. The relation can be constant, cyclic, deterministic or stochastic. 2)Refine the protocol to allow reliable communication across the domain boundary with the given time relation. 3)Model the channel delay if desirable.

33 Medea DAC, November 2003, 33 Axel Jantsch, KTH, Stockholm MoC Interface Refinement Step 1 – Add time interface P Q MoC I MoC II P Q MoC I MoC II Time relation: 3 : 1

34 Medea DAC, November 2003, 34 Axel Jantsch, KTH, Stockholm MoC Interface Refinement Step 2 – Refine Protocol P1 Q1 MoC I MoC II Time relation: 3 : 1 P2 Q2

35 Medea DAC, November 2003, 35 Axel Jantsch, KTH, Stockholm MoC Interface Refinement Step 3 – Model Channel Delay P1 Q1 MoC I MoC II Time relation: 3 : 1 P2 Q2 D[2,5]

36 Medea DAC, November 2003, 36 Axel Jantsch, KTH, Stockholm Summary  Heterogeneous system modeling is a necessity  Different models of computation continue to coexist  Designers should use MoCs as abstract as possible that still contain the properties of interest.  A thorough understanding of different MoCs and their relation will address many current problems  Different MoCs can be represented in the same or different design languages


Download ppt "Royal Institute of Technology System Specification Fundamentals Axel Jantsch, Royal Institute of Technology Stockholm, Sweden."

Similar presentations


Ads by Google