Clocks as Types in Synchronous Dataflow Languages
Marc Pouzet LRI & INRIA
- Univ. Paris-Sud 11
Clocks as Types in Synchronous Dataflow Languages Marc Pouzet LRI - - PowerPoint PPT Presentation
Clocks as Types in Synchronous Dataflow Languages Marc Pouzet LRI & INRIA Univ. Paris-Sud 11 Orsay IFIP WG 2.8 9/06/2009 (joint work with Albert Cohen, Louis Mandel, Florence Plateau) Synchronous Dataflow Languages Model/program
WG2.8 meeting 2/38
WG2.8 meeting 3/38
P R Q
x y z t r
WG2.8 meeting 4/38
WG2.8 meeting 5/38
WG2.8 meeting 6/38
WG2.8 meeting 7/38
WG2.8 meeting 8/38
N then even(x) = (x2i)i∈I N and x&even(x) = (xi&x2i)i∈I N.
WG2.8 meeting 9/38
WG2.8 meeting 10/38
WG2.8 meeting 11/38
WG2.8 meeting 12/38
WG2.8 meeting 13/38
WG2.8 meeting 14/38
WG2.8 meeting 15/38
WG2.8 meeting 16/38
WG2.8 meeting 17/38
not incrust incrust SD HD HD HD downscaler when merge
WG2.8 meeting 18/38
t + when when y z x 0 1 1 1 0 0
z y
WG2.8 meeting 19/38
WG2.8 meeting 20/38
WG2.8 meeting 21/38
Instants Number of ones 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 13 12 11 10 9 8 7 6 5 4 3 2 1
Ow1 w1
WG2.8 meeting 22/38
Instants Number of ones 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 13 12 11 10 9 8 7 6 5 4 3 2 1
Ow1 Ow2 Ow3
buffer size(w1, w2) = maxi∈N(Ow1(i) − Ow2(i)) sub-typing w1 <: w2
def
⇔ ∃n ∈ N, ∀i, 0 ≤ Ow1(i) − Ow2(i) ≤ n
WG2.8 meeting 23/38
Instants Number of ones 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 13 12 11 10 9 8 7 6 5 4 3 2 1
Ow1 Ow2 Ow3
buffer size(w1, w2) = maxi∈N(Ow1(i) − Ow2(i)) sub-typing w1 <: w2
def
⇔ ∃n ∈ N, ∀i, 0 ≤ Ow1(i) − Ow2(i) ≤ n synchronizability w1 ⊲ ⊳ w2
def
⇔ ∃b1, b2 ∈ Z, ∀i, b1 ≤ Ow1(i) − Ow2(i) ≤ b2 precedence w1 w2
def
⇔ ∀i, Ow1(i) ≥ Ow2(i)
WG2.8 meeting 24/38
WG2.8 meeting 25/38
(SUB)
WG2.8 meeting 26/38
WG2.8 meeting 27/38
Instants Number of ones 12 11 10 9 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 Ow1
5, 7 5
5
WG2.8 meeting 28/38
Instants Number of ones 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 11 10 9 8 7 6 5 4 3 2 1
a4 =
3
1
3
Number of ones 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 11 10 9 8 7 6 5 4 3 2 1
a5 =
3 , −3
2
3
29/38
Instants Number of ones 12 11 10 9 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 Ow1
a1 = 1
5, 7 5
3
5
2, 2 1, 1 5, 3 4, 3 3, 2 2, 1 1, 0 1 1 1 1 1 1
5, 7 5
5
WG2.8 meeting 30/38
Instants Number of ones 12 11 10 9 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 Ow1
a1 = 1
5, 7 5
5
a2 =
5, −2 5
5
1, b1 1
2, b1 2
2 − b0 1 < 1 ⇒
1, b1 1
2, b1 2
1 − b0 2
WG2.8 meeting 31/38
WG2.8 meeting 32/38
Instants Number of ones 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 11 10 9 8 7 6 5 4 3 2 1
a4 =
3
1
3
3 , −3
2
3
WG2.8 meeting 33/38
4, 0 3, 0 7, 1 6, 1 9, 2 12, 3 11, 3 15, 4 14, 4 18, 5 17, 5 21, 6 20, 6 23, 7 22, 7 26, 8 25, 8 25, 9 24, 8 23, 8 22, 8 21, 7 20, 7 19, 6 18, 6 17, 6 16, 5 15, 5 14, 5 13, 4 12, 4 11, 4 10, 3 9, 3 8, 2 7, 2 6, 2 5, 1 4, 1 3, 1 2, 0 1, 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
a1 on ∼ a2 = ˙ 1
5 , 7 5
¸ ` 3
5
´
− 6
5 , − 2 5
¸ ` 3
5
´
WG2.8 meeting 34/38
Instants Number of ones 14 13 12 11 10 9 8 7 6 5 4 3 2 1 6 5 4 3 2 1
3
3
Number of ones 14 13 12 11 10 9 8 7 6 5 4 3 2 1 6 5 4 3 2 1
3, 3 3
3
3 and jitter 1 can be specified by
3, 3 3
3
3, 3 3
3
3
3
3, 3 3
3
35/38
WG2.8 meeting 36/38
not incrust incrust SD HD HD HD downscaler when merge
abs((10100100) on 03600(1) on (172007201720072007201720072007201720)) = ˙ 0, 7
8
¸ ` 3
8
´
` 4
9
´ = ˙ −2000, − 20153
18
¸ ` 1
6
´
WG2.8 meeting 37/38
WG2.8 meeting 38/38