SlideShare a Scribd company logo
Gaspard2 Tutorial

Rabie Ben Atitalah, Jean-Luc Dekeyser and
               Pierre Boulet




          24 September 2008
Overview
Overview
High Performance Application
Development: MPSoC




                   Verification
                   Simulation
                   Synthesis

                   Multiple languages
                   Multiple abst. levels
Application Domain of Gaspard2:
intensive signal processing




 "Gaspard" stands for
 Graphical array specification for parallel and
 distributed computing
Hypotheses

    component-based
    massive
    parallelism
    regular
    applications and
    hardware
    no complex flow of
    control
    static scheduling,
    no RTOS
MARTE packages used in Gaspard2
   Foundations
      Non Functional Properties
      Generic Component Model
          Flow ports
      Allocation
   Detailed Resource Modeling
      Hardware Resource Modeling::HwLogical
   Repetitive Structure Modeling
!
                                                          
                                       #$%'$()*#+*,+-
$./$0,12345$)1$+565410$75*4893:5$*#+$;:5++5+$(=()5:(
!
                                                   !!                   !     #       $
             % %''(




                                                                                                
                                                                 )       !!        *
                 )       ++
C!C




          D))0-EEFFFGH*,,1448,5(5*,HDG1,IE
AB




                              ,
          J;$/KL9$M$H1#)*H)-$(5*()35#GI5,*,+NH5*G2,O
              PQ*(H*,$;(03#1R*S$LT*()35#$'T,*,+S$L*21Q*#$9*D*$*#+$V,T+T,3H$9D1:*(G$$

          KW7K$MH1#)*H)-$715,)GX5Y(3:1#5N(10D3*G3#,3*G2,O
A




              JD*,45($#+,TS$715,)$+5$L3:1#5S$Z35,,5$[1Q45)





          9D*45($979$MH1#)*H)-$/*Q,5#)G,31QN)D*45(I,1Q0GH1:O
@




              *+5453#5$V*QI],5S$/*Q,5#)$731QS$L5*()35#$X5:*)D35Q
?
-




                                                       !
      .                     $                  ,
                        .                  ,




                                                       
          V1,$X1:*3#$`35F$45654
C!C
AB




          V1,$./$Z,12345$`35F$/5654
A




          V1,$.(5,$1+54$`35F$/5654

@
?




                                                   _
!
      /
          K#),1+QH)31#$)1$XX$21,$79E;$(=()5:($}$79;$3#$*$#Q)(D544
      %
          W1#82Q#H)31#*4$0,105,)35($:1+543#I




                                                                            
          %Q)43#5$12$)D5$`*4Q5$L05H323H*)31#$/*#IQ*I5$M`L/O$
      3
          9D5$)3:3#I$:1+54
C!C




      4
                                      1
AB




      5
          Z4*)21,:$:1+543#I$
      6
          7505)3)365$(),QH)Q,5$:1+543#I
      (
A




          1+548*(5+$*#*4=(3($21,$79E;$





      
          79;$*#+$X/$
@




      7
          J1#H4Q(31#(
?




                                                                       ga
)                     8




                                                                                          !
      )




                                                                                          
           W55+$21,$:*#*I5*45$*#+$,5Q(*45$035H5($12$(12)F*,5
           w5=$5*:045(-$/3ID)F53ID)8JJS$LJS$Q)1(*,
C!C




      )                                                    !         1!
AB




           ;#)3)35($Q#+5,$*#*4=(3(E+5(3I#$,1n5#$+1F#$3#)1$*$(5,35($12$H1:01#5#)(
           0043H*45$*)$+3225,5#)$()*I5($12$)D5$0,1H5((
           X3225,5#)$n3#+-$*H)365$6(G$0*((365$M5GIGS$./$*H)365$H4*((5(O
A




           ;*:045($12$,54*)5+$4*#IQ*I5(-$L=(/S$X/





      9D5,5$3($*$#55+$)1$0,163+5$:1+543#I$H1#(),QH)($)1$(Q001,)$)D5(5$H1#H50)($*)$
@




                               +3225,5#)$45654($12$*(),*H)31#
?




                                                                                     gb
.                              ? +:




                                                                         !
      ? +

          9D5$n5,#54$12$)D5$4*#IQ*I5$+523#5($         $




                                                                         
          *#+$

          !                 $+523#5($ $*#+$
C!C




                    $*#+$0,163+5$)D5$*343)=$)1$
          +5(H,35$*$     $*($*#$*((5:4=$12$0*,)(
AB




          #     *#+$ $ % %                $+523#5$
          )D5$#1)31#$12$H1:01#5#)$,5*43R*)31#$*#+$
          *++($0*Hn*I3#I$H*0*343)35(
A

@




      K#$*#=$H*(5S$#1$(Q001,)$21,$241F81,35#)5+$H1::Q#3H*)31#(
?




                                                                    gc
)




                                                                                  !
      0                          ,                 8
            L=(/S$L03,3)S$X/S$/3ID)F53ID)8JJS$;L98X/S$Q)1(*,




                                                                                  
      #
C!C




                          ? +                       $
AB




      !      +
            )1:3H$*#+$#1#8*)1:3H$241F$01,)(
            V41F$0,105,)35($*#+$241F$(05H323H*)31#(
A





      @             ,                      +            8)) $   #+     ! 8
          #+%$ !
@
?




                                                                             gd
?   @      A   AB   C!C




                                        )




gf




                                   !
!
                                                    )1:3H$241F$01,)$)=05+$=$*$
                                                    J4*((3235,




                                                                                        
C!C
AB
A





                                                 J1:045$241F$01,)$)=05+$=$*$
@




      L)*#+*,+$./$01,)$)=05+$=$*$H4*(($)D*)$   241F$(05H323H*)31#
      Q(5($)D5$/1H*)31#HH5(($3#)5,2*H5
?




                                                                                   gg
!
              %Q)I13#I$*)1:3H$
              241F$01,)
                                       K#H1:3#I$*)1:3H$
                                       241F$01,)




                                                                                 
C!C
AB




                                          ./$+545I*)31#$H1##5H)1,$Q(5+$
A




                                          F3)D$*$#1#8*)1:3H$241F$01,)

@




      ./$+545I*)31#$H1##5H)1,$Q(5+$
      F3)D$*#$*)1:3H$241F$01,)
?




                                                                           hii
!
      /
          K#),1+QH)31#$)1$XX$21,$79E;$(=()5:($}$79;$3#$*$#Q)(D544
      %
          W1#82Q#H)31#*4$0,105,)35($:1+543#I




                                                                             
          %Q)43#5$12$)D5$`*4Q5$L05H323H*)31#$/*#IQ*I5$M`L/O$
      3
          9D5$)3:3#I$:1+54
C!C




      4
          $H1:01#5#)$:1+54$21,$79E;
AB




      5
                             $
      6
          7505)3)365$(),QH)Q,5$:1+543#I
      (
A




          1+548*(5+$*#*4=(3($21,$79E;$





      
          79;$*#+$X/$
@




      7
          J1#H4Q(31#(
?




                                                                       hig
2




                                                                         !
      @
          441H*)5$*#$*0043H*)31#$545:5#)$)1$*#$0,1H5((3#I$04*)21,:$
          545:5#)




                                                                         
          7523#5$*$I5#5,*4$545:5#)$3#)1$1#5$1,$(565,*4$:1,5$(05H323H$
          545:5#)($
C!C
AB




      0                     !       +
             J*#$1#4=$*441H*)5$*0043H*)31#$)1$55HQ)31#$04*)21,:
             J*#$*))*HD$WVZ$H1#(),*3#)($)1$)D5$*441H*)31#
A

@
?




                                                                   hhb
!
            0


      xD*)$H*#$5$*441H*)5+S$




                                                                   
      )D5$41I3H*4$635F-
        $(),QH)Q,5$1,$5D*631,   xD*)$H*#$(5,65$*($*$
                                 )*,I5)$12$*#$*441H*)31#S$
                                 )D5$0D=(3H*4$635F-
C!C




                                    $*$,5(1Q,H5$1,$*$
                                 (5,63H5G
AB




            #
A

@
?




                                                             hhc
-




                                                                             !
                                79;

                                                   P7
                            r 3#H4Q+5 s




                                                                             
          !
                                           -        ,   -.


                              r 5)5#+ s
                                               r 3#H4Q+5 s
C!C




                                           !        ;    -.
      !       ,
AB




                                                                  -.
                             r 3#H4Q+5 s       r 3#H4Q+5 s


                                               #        -.
A





              ;
@




                  _$Q(5$H*(5($v$_$45654($12$+5)*34(
?




                                                                       had
-                    88 -   ,




                                                                              !
      -    :
          P3ID$45654$12$




                                                                              
                       $635F$12$)D5$Px$04*)21,:
          x3)D$n5=$0,105,)35(-
C!C




               ;GIGS$3#(),QH)31#$(5)$*#+$:5:1,=$(3R5G
          $21,:*4$635F$12$Q(Q*4$                       $
AB




      
          P3ID$45654$+5(H,30)31#$12$53()3#I$*#+$)*,I5)5+$Px$04*)21,:
          V3,()$()50($12$+5(3I#$12$#5F$Px$*,HD3)5H)Q,5
A




      @





          L=()5:$*,HD3)5H)(
@




          L12)F*,5$+5654105,(
?




                                                                        haf
-                 88 !       ;




                                                                                           !
      -    :
          L05H3*43R5+$Px$             $:1+54




                                                                                           
          W*)Q,5$12$+5)*34($+505#+($1#$)D5$              ,
               ;h$-$*Q)1#1:=$*#*4=(3($,5mQ3,5($01F5,$H1#(Q:0)31#$:1+543#I
C!C




               ;$-$xJ;9$*#*4=(3($#55+$+5)*34($1#$0,1H5((1,$(055+S$H1::Q#3H*)31#$
               *#+F3+)D$*#+$:5:1,=$1,I*#3R*)31#o
AB




      
      @          ;
A

@
?




                                                                                     hag
-                   88 #




                                                                                                   !
      -    :
          P7$3($*$+5)*345+$Px$*,HD3)5H)Q,5$+5(3I#$4*#IQ*I5




                                                                                                   
          /5654$12$+5)*34($+505#+($1#$)D5$+5(H,30)31#$
               ;h-$VQ#H)31#*4$(3:Q4*)1,$12$*$0,1H5((1,$1#4=$,5mQ3,5($3)($3#(),QH)31#$(5)$2*:34=
C!C




               ;-$Z5,21,:*#H5$(3:Q4*)31#$#55+$*$23#5$+5(H,30)31#$12$0,1H5((1,($:3H,18
               *,HD3)5H)Q,5G
AB




      
          1+548*(5+$+*)*(D55)($+5(H,30)31#
          L3:Q4*)31#
A




               I5#5,*)31#$12$H1#23IQ,*)31#($21,$(3:Q4*)31#$)114(





      @
@




          Px$+5(3I#5,(
?




                                                                                             hbi
-




                                                                                                                !
      -
            LQHH5((365$            $4*=5,(




                                                                                                                
                $I5#5,3H$H1#H50)($M'7843n5O
                ,)              %            - ,)'    *- ,)                                  .
              $(05H323H$*#+$+5)*345+$,5(1Q,H5(
C!C




                ,)             - ,)#               - ,)            - ,)''/- ,)#      - ,)#     % - ,) ' .
AB




            44$P7$H1#H50)($*,5$,)                  0 1

                         iGGh                               0,163+5+L5,63H5(
                                    F        G                          hGGy       F     G
                         iGGy        -                      ,5mQ3,5+L5,63H5(   -       ! ,
A




               1F#5+75(1Q,H5(                                           iGGy

      9F1                  635F(





                       +                 1
@
?




                                                                                                          hbh
-                                        88 +




                                                                                                                                         !
          ,            2Q#H)31#*4
      @                                                                                                        =
                        G$$$$$$PFJ1:0Q)3#I$$$$$$ G$$$$$                   G$$$$$$PFL)1,*I5$$$$$$ G$$$$$




                                                                                                                                         
C!C




                    r PFZ,1H5((1, sS$r PFZ/X sS               r PFJ*HD5 sS$r PF7 sS$        r PF. sS
                           r PFLKJ s                          r PF7% sS$r PFX,365 s         r PFX s
AB




              G$$$$$$ PFX563H5$$$$$$ G$$$$$                                                         G$$$$$$PF93:3#I$$$$$$ G$$$$$
                                                     G$$$$$$ PFJ1::Q#3H*)31#$$$$$$ G$$$$$
A




          r PFX563H5 sS       r PFKE% s              r PF[,3+I5 s                                         r PFJ41Hn sS





          r PFLQ001,) s
                                                                                                          r PF93:5, s
                                                                       r PF,3)5, s
@




                                               r PF5+3* sS$r PF[Q( s
?




                                                                                                                                   hb
-                                  88




                                                                                                 !
           ,               0D=(3H*4
      @
            PF/*=1Q)




                                                                                                 
                   V1,:(-$JD30S$J*,+S$JD*##54o
                   X3:5#(31#(S$*,5*$*#+$*,,*#I5:5#)$:5HD*#3(:$F3)D3#$,5H)343#5*,$I,3+(
C!C




                   ;#63,1#:5#)*4$H1#+3)31#(-$5GIG$)5:05,*)Q,5S$63,*)31#S$DQ:3+3)=o
            PFZ1F5,
AB




                   Z1F5,$H1#(Q:0)31#$*#+$D5*)$+3((30*)31#
               G$$$$$$ PF/*=1Q)$$$$$$ G$$$$$            G$$$$$$PFZ1F5,$$$$$$ G$$$$$
A




                                               r PFZ1F5,LQ004= s      r PFJ1143#ILQ004=s





                  r PFJ1:01#5#) s
          n3#+$-$zJ*,+S$JD*##54S$JD30S$Z1,){
@
?




                                                                                           hb_
-                            , ,




                                                                                                      !
                     F             G                           F    +       G
                              ==                             ==+   ==@     9 K


             r 3:01,) s                                                  r 3:01,) s




                                                                                                      
                                                 F       G
                                                     -

                          F            G                                    F         G
                          - +                                              -
C!C




                          -                                                 -
AB




                                             - !
       - )
                                                                            - +

                                             -
A




      - )
                                           - !                              -

@




        -                                        - # ,
?




                                                                                                hba
-                                            88 -




                                                                                                       !
                     F             G                           F    +       G
                              ==                             ==+   ==@     9 K


             r 3:01,) s                                                  r 3:01,) s




                                                                                                       
                                                 F       G
                                                     -

                          F            G                                    F         G
                          - +                                              -
C!C




                          -                                                 -
AB




                                             - !
       - )
                                                                            - +
                                             -
A




      - )
                                           - !                              -

@




        -                                        - # ,
?




                                                                                                 hbb
-                                                           88 -




                                                                                                                                                                  !
                               -


                                                       F                  G                      F             G
                                                           ==       ==!                           -




                                                                                                                              r +*)*9=05 s




                                                                                                                                                                  
                                                                              F              G
                                                                                  -

                                                                :5:1,=L3R5$-$WVZYX*)*L3R5                               #1)*)31#$-$WVZYL),3#I
                                                                *++,5((L3R5$-$WVZYX*)*L3R5                              +5(H,30)31#$-$WVZYL),3#I
                                                                )3:3#I($-$93:3#I$tyu                                    6*4Q5$-$WVZYXQ,*)31#
C!C
AB




              F            G                   F                G                           F              G                      F                G
                  - )                              -                                             -                                   - # ,

        45654$-$WVZYW*)Q,*4$v$h       1,I*#3R*)31#$-$5:1,=%,I*#3R*)31#            )=05$-$7%Y9=05                         (5H)1,L3R5$-$WVZYX*)*L3R5
        )=05$-$J*HD59=05              3(L=#HD,1#1Q($-$WVZY[1145*#                  1,I*#3R*)31#$-$5:1,=%,I*#3R*)31#
        (),QH)Q,5$-$J*HD5L),QH)Q,5    3(L)*)3H$ -WVZY[1145*#
        ,504YZ143H=$-$7504YZ143H=     3(W1#`14*)345$ -$WVZY[1145*#                 iGGh
        F,3)5Z143H=$-$x,3)5Z143H=     ,504YZ143H=$ -$7504YZ143H=
                                                                                   Q225,
                                      F,3)5Z143H=$-$x,3)5Z143H=
                                                                                   z(Q(5)($1F#5+Px{
A




      r 5#Q:5,*)31# s      r 5#Q:5,*)31# s    r 5#Q:5,*)31# s                     r +*)*9=05 s                     r +*)*9=05 s           r 5#Q:5,*)31# s
            K                .                  )                             )        !                                    ;                 K





      /7.                 x,3)5[*Hn          X*)*                     #L5)($-$WVZYW*)Q,*4                #71F($-$WVZYW*)Q,*4            *(n5+7%
      WV.                 x,3)59D,1QID       K#(),QH)31#              41HL3R5$-$WVZYX*)*L3R5             #J14Q:#($-$WVZYW*)Q,*4         ;Z7%
      VKV%                %)D5,              .#3235+                  *((1H3*)363)=$ -$WVZYW*)Q,*4        #[*#n($-$WVZYW*)Q,*4           %9ZY;Z7%
      7*#+1:              .#+523#5+          %)D5,                                                        F1,+L3R5$-$WVZYX*)*L3R5         ;;Z7%
@




      %)D5,                                  .#+523#5+                                                                                    V4*(D
      .#+523#5+                                                                                                                           %)D5,
                                                                                                                                          .#+523#5+
?




                                                                                                                                                            hbc
-                      88 -                      88 - )




                                                                                                           !
            F               G                  PFJ*HD5$3($*$0,1H5((3#I$:5:1,=$FD5,5$
                - )
                                               2,5mQ5#)4=$Q(5+$+*)*$H*#$5$()1,5+$21,$,*03+$
                                               *HH5((




                                                                                                           
      45654$-$WVZYW*)Q,*4$v$h
      )=05$-$J*HD59=05
      (),QH)Q,5$-$J*HD5L),QH)Q,5
      ,504YZ143H=$-$7504YZ143H=                X5)*345+$+5(H,30)31#$12$)D5$PFJ*HD5$3($
C!C




      F,3)5Z143H=$-$x,3)5Z143H=                #5H5((*,=$21,$05,21,:*#H5$*#*4=(3($*#+$
                                               (3:Q4*)31#$
AB




          r 5#Q:5,*)31# s   r 5#Q:5,*)31# s     r 5#Q:5,*)31# s              r +*)*9=05 s
                K             .                   )                      )        !

          /7.               x,3)5[*Hn           X*)*               #L5)($-$WVZYW*)Q,*4
A




          WV.               x,3)59D,1QID        K#(),QH)31#        41HL3R5$ -$WVZYX*)*L3R5
          VKV%              %)D5,               .#3235+            *((1H3*)363)=$ -$WVZYW*)Q,*4





          7*#+1:            .#+523#5+           %)D5,
          %)D5,                                 .#+523#5+
          .#+523#5+
@
?




                                                                                                     hbd
-                      88 -                      88 - )




                                                                                                           !
            F               G
                - )




                                                                                                           
      45654$-$WVZYW*)Q,*4$v$h
      )=05$-$J*HD59=05                         L05H3235($)D5$H*HD5$45654G
      (),QH)Q,5$-$J*HD5L),QH)Q,5
      ,504YZ143H=$-$7504YZ143H=                     X52*Q4)$6*4Q5$3($h
C!C




      F,3)5Z143H=$-$x,3)5Z143H=
AB




          r 5#Q:5,*)31# s   r 5#Q:5,*)31# s     r 5#Q:5,*)31# s              r +*)*9=05 s
                K             .                   )                      )        !

          /7.               x,3)5[*Hn          X*)*                #L5)($-$WVZYW*)Q,*4
A




          WV.               x,3)59D,1QID       K#(),QH)31#         41HL3R5$-$WVZYX*)*L3R5
          VKV%              %)D5,              .#3235+             *((1H3*)363)=$ -$WVZYW*)Q,*4





          7*#+1:            .#+523#5+          %)D5,
          %)D5,                                .#+523#5+
          .#+523#5+
@
?




                                                                                                     hbf
-                        88 -                           88 - )




                                                                                                             !
            F               G                 L05H3235($)D5$PFJ*HD5$(),QH)Q,5
                - )                           PFJ*HD5$3($1,I*#3R5+$Q#+5,$(5)($12$41Hn(G
                                              ((1H3*)363)=$3($)D5$#Q:5,$12$41Hn($F3)D3#$5*HD$(5)G




                                                                                                             
      45654$-$WVZYW*)Q,*4$v$h
                                                    K2$*((1H3*)363)=$v$hS$H*HD5$3($+3,5H)$:*005+
      )=05$-$J*HD59=05
      (),QH)Q,5$-$J*HD5L),QH)Q,5                    K2$#L5)($v$hS$H*HD5$3($2Q44=$*((1H3*)365G
      ,504YZ143H=$-$7504YZ143H=               %J/$,Q45
C!C




      F,3)5Z143H=$-$x,3)5Z143H=                              *! + 2   !            !+              *
AB




          r 5#Q:5,*)31# s   r 5#Q:5,*)31# s     r 5#Q:5,*)31# s            r +*)*9=05 s
                K             .                   )                    )        !

          /7.               x,3)5[*Hn          X*)*               #L5)($-$WVZYW*)Q,*4
A




          WV.               x,3)59D,1QID       K#(),QH)31#        41HL3R5$ -$WVZYX*)*L3R5
          VKV%              %)D5,              .#3235+            *((1H3*)363)=$ -$WVZYW*)Q,*4





          7*#+1:            .#+523#5+          %)D5,
          %)D5,                                .#+523#5+
          .#+523#5+
@
?




                                                                                                       hbg
-                      88 -                      88 - )




                                                                                                           !
            F               G                  L05H3235($)D5$H*HD5$F,3)5$0143H=$
                - )                                 x,3)5[*Hn-$J*HD5$F,3)5$3($#1)$3::5+3*)54=$
                                                    ,5245H)5+$)1$)D5$*Hn3#I$:5:1,=G




                                                                                                           
      45654$-$WVZYW*)Q,*4$v$h
      )=05$-$J*HD59=05                              x,3)59D,1QID-$x,3)5($*,5$3::5+3*)54=$
      (),QH)Q,5$-$J*HD5L),QH)Q,5                    :3,,1,5+G
      ,504YZ143H=$-$7504YZ143H=
C!C




      F,3)5Z143H=$-$x,3)5Z143H=
AB




          r 5#Q:5,*)31# s   r 5#Q:5,*)31# s     r 5#Q:5,*)31# s              r +*)*9=05 s
                K             .                   )                      )        !

          /7.               x,3)5[*Hn          X*)*                #L5)($-$WVZYW*)Q,*4
A




          WV.               x,3)59D,1QID       K#(),QH)31#         41HL3R5$ -$WVZYX*)*L3R5
          VKV%              %)D5,              .#3235+             *((1H3*)363)=$ -$WVZYW*)Q,*4





          7*#+1:            .#+523#5+          %)D5,
          %)D5,                                .#+523#5+
          .#+523#5+
@
?




                                                                                                     hci
!
      /
          K#),1+QH)31#$)1$XX$21,$79E;$(=()5:($}$79;$3#$*$#Q)(D544
      %
          W1#82Q#H)31#*4$0,105,)35($:1+543#I




                                                                             
          %Q)43#5$12$)D5$`*4Q5$L05H323H*)31#$/*#IQ*I5$M`L/O$
      3
          9D5$)3:3#I$:1+54
C!C




      4
          $H1:01#5#)$:1+54$21,$79E;
AB




      5
          Z4*)21,:$:1+543#I$
      6
                  ,
      (
A




          1+548*(5+$*#*4=(3($21,$79E;$





      
          79;$*#+$X/$
@




      7
          J1#H4Q(31#(
?




                                                                       hd_
, !




                                                   !
              ,
          %




                                                   
              W5()5+$4110(
              Q4)30,1H5((1,$L=()5:(
C!C
AB




              0043H*)31#
              P*,+F*,5$04*)21,:
              ((1H3*)31#
A





      
@




          W5F$#1)*)31#$E$()5,51)=05(
?




                                             hdc
)                                , !




                                                                                           !
          J1#H50)(
            !      $M5)5#(31#$12$            *O
                91$:1+54$:Q4)3+3:5#(31#*4$*,,*=(




                                                                                           
            +               $M5)5#(31#$12$            $*#+$         O
                91$:1+54$)D5$)10141I=$12$)D5$43#n($5)F55#$:Q4)3+3:5#(31#*4$*,,*=(
                Z*))5,#8*(5+$,5IQ4*,$)10141I35(
C!C
AB




      @             =

                                     8
          75IQ4*,$(0*H3#I$12$013#)($3#(3+5$*$
A




          )345





          75IQ4*,$(0*H3#I$12$)345(
          K#D5,3)($2,1:$)D5$,,*=8%/$4*#IQ*I5
@
?




                                                                                     hdd
!




                                                                                       !
                                           9
      F         G
           !                                   7523#5:5#)$12$)D5$:Q4)3043H3)=$




                                                                                       
                                               #1)*)31#
                                               `5H)1,$12$.#43:3)5+W*)Q,*4(
                 F             G
C!C




            ? +==

                                               hc$‘$zaSa{
AB




                                               y$‘$zbhShfSy{
                    F          G
                        !                             F            G
                                                  F                   G
A




          (D*05$-$LD*05L05H323H*)31#$thu        zH1445H)31#)),3$v$(3R5{





                                                 !       !
                                           (3R5$-$.#43:3)5+W*)Q,*4$tiGGyu
@
?




                                                                                 hdf
+




                                                                                                                    !
                 F            G
                         !


                                                        F            G                     F              G
                                                       ? +==)                          ?   +==)




                                                                                                                    
                     F                G
                         #        +
                                                                 F           G
C!C




                                                                 *   !
AB




                                             F           G
                                            0

                             ,505)3)31#L0*H5X505#+5#H5$-$K#)5I5,`5H)1,$thu
                             3(1+Q41$-$[1145*#$v$2*4(5
A




                                                                                   F               G





                     F                G

                                                                             1,3I3#$-$K#)5I5,`5H)1,
@




      0*))5,#LD*05$-$LD*05L05H323H*)31#$thu                                  0*63#I$-$K#)5I5,*),3
      ,505)3)31#L0*H5$-$LD*05L05H323H*)31#$thu                               23))3#I$-$K#)5I5,*),3
                                                                             )345,$-$9345,L05H323H*)31#
?




                                                                                                              hdg
-
                                                              !0 #




                                                                                                      !
                     r$PFKL$s$z)=05$v$LKX{                        hc$0,1H5((1,(
                           !0 #?

                               r$3#)5,7505)3)31#$s




                                                                                                      
                     z,505)3)31#L0*H5X505#+5#H5$vzhSi{S             91,13+*4$a’a$I,3+
                                 :1+Q41$v$),Q5{
                                                                    [3+3,5H)31#*4$H1##5H)31#(
                                         #                             W1,)D8L1Q)D
C!C




                                                                       ;*()8x5()
AB




                         r$PFJ1:0Q)3#I75(1Q,H5$s
                          0$-$;45:5#)*,=Z,1H$tzaSa{u      5
                 F                                             0i       0h    0     0_
A




                                      (                        0a       0b    0c     0d


                r$3#)5,7505)3)31#$s





      z,505)3)31#L0*H5X505#+5#H5$vziSh{S                       0f       0g    0hi    0hh
                   :1+Q41v),Q5{
@




                                                              0h       0h_   0ha    0hb
?




                                                                                                hfi
!
                F                G
                                           9
                                               ,,*=$(D*05
          1,3I3#$-$K#)5I5,`5H)1,
                                               Z*))5,#$(D*05




                                                                                                  
          0*63#I$-$K#)5I5,*),3               7505)3)31#$(0*H5$(D*05
          23))3#I$-$K#)5I5,*),3
          )345,$-$9345,L05H323H*)31#
C!C




                                               3     %-$,5IQ4*,$(0*H3#I$12$)D5$013#)($12$
                 F               G             )D5$)345(
AB




                 F               G                 K#+5$
                     !
                                                   LH*##3#I$)D5$0*))5,#
           1,3I3#$-$K#)5I5,`5H)1,
                                                      %-$,5IQ4*,$(0*H3#I$12$)D5$)345(
           0*63#I$-$K#)5I5,*),3$thu
A




           23))3#I$-$K#)5I5,*),3                 K#+5$
                                                   LH*##3#I$)D5$,505)3)31#$(0*H5

@




      1,3I3#M0*63#I$23))3#IOG M$O      $*,,*=G(D*05
?




                                                                                            hfh
0                                     B/1%C




                                                     !
          
              J14Q:#$65H)1,(
                  [*(3($12$)D5$)345
              Z*))5,#$(D*05




                                                     
                  [1Q#+($12$)D5$23))3#I
              ,
C!C




              J14Q:#$65H)1,(
AB




                  [*(3($12$)D5$04*H5:5#)$12$
                  )D5$)345(
              7505)3)31#$(0*H5
                  [1Q#+($12$)D5$0*63#I
A




              %,3I3#





                  J11,+3#*)5($12$)D5$
@




                  ,525,5#H5$013#)$12$)D5$
                  ,525,5#H5$)345
?




                                               hf
0                               B%1%C
          




                                                  !
              J14Q:#$65H)1,(
                  [*(3($12$)D5$)345
              Z*))5,#$(D*05




                                                  
                  [1Q#+($12$)D5$23))3#I
              ,
C!C




              J14Q:#$65H)1,(
AB




                  [*(3($12$)D5$04*H5:5#)$12$
                  )D5$)345(
              7505)3)31#$(0*H5
                  [1Q#+($12$)D5$0*63#I
A




              %,3I3#





                  J11,+3#*)5($12$)D5$
@




                  ,525,5#H5$013#)$12$)D5$
                  ,525,5#H5$)345
?




                                            hf_
!
                                           !




                                                                                                           
                     r$)345,$s
                z1,3I3#vziSi{S
                23))3#IvzziSh{{S
C!C




             0*63#IvzzhSi{SziS_{{                         tzhf{u                   tzbhShfSy{u
                                       2$-$VV9$tzbhSy{u
 tzbhSy{u                   tzhf{u                                   r$)345,$s
AB




                                                                  z1,3I3#vziSiSi{S
                                                                 23))3#IvzziShSi{{S
                                                             0*63#IvzzhSiSi{SziSiSh{{{



         !                   5/%
A




             LD*05$12$)D5$3#0Q)$+*)*$v$bh’“





                           
@




             V1,$5*HD$D=+,10D1#5
             L43+3#I$F3#+1F$12$hf$(*:045($565,=$_$)3:5$()50(
?




                                                                                                     hfa
#




                                                                                         !
      F          G
            !
                                                     !




                                                                                         
                      F             G
                              ==
C!C




                                                         9343#I$1)D$5#+(
AB




                      F             G                       9F1$)345,(
                          #
                                                         x3)D$)D5$(*:5$)345(
          0*))5,#LD*05$-$LD*05L05H323H*)31#$thu
                                                            %#5$0*))5,#$(D*05
          ,505)3)31#L0*H5$-$LD*05L05H323H*)31#$thu
                                                            %#5$,505)3)31#$(0*H5
A




          2,1:9345,$-$9345,L05H323H*)31#$thu
          )19345,$-$9345,L05H323H*)31#$ thu





                                                         )$45*()$*44$PZV$+*)*$
@




                                                         +3(),3Q)31#(
?




                                                                                   hfb
#




                                                                                  !
                                                                                  
C!C
AB




      #                                                            !0 #
          W1$(0*)3*4$+3(),3Q)31#$12$)D5$3#23#3)5$+3:5#(31#$M)3:5$()50(O
A




          [41H$+3(),3Q)31#$12$)D5$bh$VV9($21,$5*HD$)3:5$()50





             L3R5$12$)D5$41H$v$_
@




             %#$)D5$hc$545:5#)*,=$0,1H5((1,(
?




                                                                            hfc
#




                                                                                                                !
                                                    r$+3(),3Q)5$s
                           z0*))5,#LD*05$v$z_{S
                           $,505)3)31#L0*H5$v$zaSaSy{S
                           $2,1:9345,$v$z1,3I3#$v$ziSi{S
                                              $23))3#I$v$zzhSi{{S




                                                                                                                
                                              $0*63#Ivzz_Si{SzhfSi{SziSh{{{S
                           $)19345,$v$z1,3I3#$v$ziSi{S
                           $$$$$$$$$$$$$$$$23))3#I$v$zziSi{{S
C!C




                           $$$$$$$$$$$$$$$$0*63#I$v$zzhSi{SziSh{SziSi{{{{
      V2)L)*I5--2$-$VV9$                                                             L3:+.#3)--0$-$
          tzbhSy{u                                                              ;45:5#)*,=Z,1H$tzaSa{u
AB




       #                                                                            !0 #
           W1$(0*)3*4$+3(),3Q)31#$12$)D5$3#23#3)5$+3:5#(31#$M)3:5$()50(O
A




           [41H$+3(),3Q)31#$12$)D5$bh$VV9($21,$5*HD$)3:5$()50





               L3R5$12$)D5$41H$v$_
@




               %#$)D5$hc$545:5#)*,=$0,1H5((1,(
?




                                                                                                          hfd
)                               !




                                                                                                        !
          Q4)3+3:5#(31#*4$(),QH)Q,5($M*,,*=(O
          9343#I$=$(Q8(),QH)Q,5($M#1#$1,)D1I1#*4$1,$(0*,(5$)345($01((345O




                                                                                                        
          /3#n($5)F55#$(QHD$(),QH)Q,5($MH=H43H$1,$#1#$H=H43H$H1##5H)31#$0*))5,#($01((345O
      9                                    ,
          J1:0*H)#5(($12$)D5$:1+54
C!C




          ;223H35#H=S$:*3#)*3#*343)=S$,5*+*343)=
AB




          .(5($`L/
          [5#523)($2,1:$)D5$H1:01#5#)$:1+54$M241F$01,)(O
          00435($)1$1)D$*0043H*)31#$*#+$D*,+F*,5$H1:01#5#)(
          ;)5#+($*441H*)31#
      +
A




          P*#+45($1#4=$*,,*=($M#1$2*#H35,$(D*05(O





          x1Q4+$5#523)$2,1:$*$HQ()1:$M63(Q*4O$)345,$5+3)1,
              .#+5,$+565410:5#)
@
?




                                                                                                  hgh
Detailed Example
                                                          (∞)
                             Downscaler


  (352, 288, ∞)            (132, 288)    Vert. Filter
                                                   (132, 128)
                  Horiz. Filter
       (352, 288)                 (132, 288)            (132, 128, ∞)
Horizontal Filter

                     Horizontal filter
                          (44, 288)
      (352, 288)
                          Hfilter
                                            (132, 288)
                   (11)               (3)
Horizontal Filter

                     Horizontal filter
                          (44, 288)
      (352, 288)
                          Hfilter
                                             (132, 288)
                   (11)               (3)


            1                                    1
       F=                                   F=
            0                                    0
            0                                    0
       o=                               o=
            0                                    0
            8   0                                3   0
       P=                                   P=
            0   1                                0   1
Horizontal Filter: Input Tiler

                  1
         F=                  spattern = 11
                  0
                  0                      32
         o=                   sarray =
                  0                      18
                  8 0                     4
         P=              srepetition =
                  0 1                    18
         17




          0
              0               0          31
                        r=    0
Horizontal Filter: Input Tiler

                  1
         F=                  spattern = 11
                  0
                  0                      32
         o=                   sarray =
                  0                      18
                  8 0                     4
         P=              srepetition =
                  0 1                    18
         17




          0
              0               1          31
                        r=    0
Horizontal Filter: Input Tiler

                  1
         F=                  spattern = 11
                  0
                  0                      32
         o=                   sarray =
                  0                      18
                  8 0                     4
         P=              srepetition =
                  0 1                    18
         17




          0
              0               2          31
                        r=    5
Horizontal Filter

                     Horizontal filter
                          (44, 288)
      (352, 288)
                          Hfilter
                                             (132, 288)
                   (11)               (3)


            1                                    1
       F=                                   F=
            0                                    0
            0                                    0
       o=                               o=
            0                                    0
            8   0                                3   0
       P=                                   P=
            0   1                                0   1
Horizontal Filter: Output Tiler

   17
                               1
                          F=           spattern = 3
                               0
                               0                     12
                          o=             sarray =
                               0                     18
    0                          3 0                    4
        0            11   P=         srepetition =
            r=   0             0 1                   18
                 0
Horizontal Filter: Output Tiler

   17
                               1
                          F=           spattern = 3
                               0
                               0                     12
                          o=             sarray =
                               0                     18
    0                          3 0                    4
        0            11   P=         srepetition =
            r=   1             0 1                   18
                 0
Horizontal Filter: Output Tiler

   17
                               1
                          F=           spattern = 3
                               0
                               0                     12
                          o=             sarray =
                               0                     18
    0                          3 0                    4
        0            11   P=         srepetition =
            r=   2             0 1                   18
                 5
Vertical Filter

                          Vertical filter
                              (132, 32)
      (132, 288)                                  (132, 128)
                             Vfilter
                   (14)                    (4)


            0                                         0
       F=                                        F=
            1                                         1
            0                                         0
       o=                                    o=
            0                                         0
            1   0                                     1   0
       P=                                        P=
            0   9                                     0   4
Vertical Filter: Input Tiler


   17
                               0
                          F=           spattern = 14
                               1
                               0                     12
                          o=             sarray =
                               0                     18
    0                          1 0                   12
        0            11   P=         srepetition =
            r=   0             0 9                    2
                 0
Vertical Filter: Input Tiler


   17
                               0
                          F=           spattern = 14
                               1
                               0                     12
                          o=             sarray =
                               0                     18
    0                          1 0                   12
        0            11   P=         srepetition =
            r=   1             0 9                    2
                 0
Vertical Filter: Input Tiler


   17
                               0
                          F=           spattern = 14
                               1
                               0                     12
                          o=             sarray =
                               0                     18
    0                          1 0                   12
        0            11   P=         srepetition =
            r=   5             0 9                    2
                 1
RSM Semantics Summary

 DSL for systematic signal processing

    First order pure functional language
    Multidimensional toroidal arrays
    Pattern based data acess

 Data parallel repetition

         ∀r, 0 ≤ r  srepetition
         ∀i, 0 ≤ i  spattern
                                 r
         t(r, i) = o + (P F) ·     mod sarray
                                 i
Overview
Software and hardware co-model
                for
 data-intensive embedded system
            co-design
MARTE packages used in
Gaspard2
   Foundations
       Non Functional Properties
       Generic Component Model
           Flow ports
       Allocation
   Detailed Resource Modeling
       Hardware Resource Modeling::HwLogical
   Repetitive Structure Modeling
Gaspard2

 UML2.0 MM

 Marte MM

 Gaspard2 MM
Co-model for co-design

 Marte and Gaspard Metamodels
     High level data parallel constructions
       Hierarchical

       Repetitive

       Application, architecture and association models

     Iterative dependency expression
     Data flow and control flow mixing
     Gaspard2 UML profile available
         With MagicDraw and Papyrus
Optimization and compilation techniques

•Data parallel code transformations
•Mapping and multi-objective hierarchical scheduling
heuristics
•Compilation from high-level models down to simulation,
execution and synthesis
•Eclipse integration
•Model transformation techniques
   •ModTransf, Momote, Mocode, QVTO
HP-SoC simulation and synthesis

•Simulation for architecture/application/association exploration
    •SystemC simulation framework at PVT and CABA level
    •Performance and power consumption evaluation
•Synthesis for large and reconfigurable FPGA
    •VHDL code generation
•Network on Chip and SIMD design for MppSoC
    •MppSoC implementation in FPGA (16-64 PE “à la Maspar”)
•OpenMP execution on SMP
•Synchronous code generation
Downscaler application




                   Horizontal filter:
                         8/3


CIF video frame:
   352x288
                                        Vertical filter:
                                             9/4

                                                           Resized video
                                                               frame
CIF Frame structure
            352                      176                     176

            GOB1                     GOB1                    GOB1
                                     GOB2                    GOB2
            GOB2
                           144       GOB3          144       GOB3
            GOB3
                       +             GOB4      +             GOB4
            GOB4                    GOBn/2                  GOBn/2
288
            GOB5
                                 U component             V component
            GOB6
            GOB.
            GOB.
            GOBn

         Y component
Example: Downscaler
                               data
                          FG          HF             VF        FC




                                       Hard Accto 16 MIPS
                                             4          MIPS
                           Sensor
                                              processors
                                                      processor



                                             Bus
                                           Crossbar
                                                          Task allocation
                                           Logical        Data allocation
                                           Memory

CIF: 352x288


• First solution: Heterogeneous mono-processor architecture
• Second solution: Multi-processor architecture
Downscaler: main application
Downscaler: main application
• Horizontal filter task
Downscaler: main application

• Vertical filter task
Downscaler: main application

• Downscaler task
Downscaler: main application

• Main application
Downscaler: main architecture

• Hardware elementary components
Example of MPSoC architecture

   Shared Memory MPSoC architecture
Downscaler mapping
Downscaler: Deployment

   Hardware and software deployment
       Intellectual Property block (IP) reuse from libraries
       A deployment extension is introduced
        The most important concepts
         VirtualIP
         SoftwareIP, HardwareIP
          implements
          CodeFile
          Specialization
          Characteristic
          PowerModel
GaspardLib

           GaspardLib
   Software              Hardware
 FFT, DCT,           Processor,
 Convolution,        cache, DMAC
 FIR                 crossbar

                Energy
            Processor,
            cache, DMAC
            crossbar
Downscaler: Deployment
Downscaler: Deployment
Papyrus modeling editor

   Open source
   UML2 specification compliant
   Afull Eclipse project such as EMF, etc.
   Support all UML2 diagrams and profile
       MARTE, SysML, CCM
   OCL verification
   Java and C++ code generation
   Developed and supported by CEA and LIFL (DaRT)
   www.papyrusuml.org
Technology bases of Gaspard2

   Model driven engineering
       metamodels
       model transformations
   Eclipse platform
       metamodeling language: Ecore
       integration framework based on plugins
       transformation chains
Gaspard2 model transformations
Polyhedron model

   Information given by the distribution in the high MPSoC model
   A polyhedron is generated for each task repetition
   Parameterized by a processor number (p0) and the task indexes
Loop model

   Scanning the polyhedron
   Corresponding loop generation
   Task repetition space
   Using the CLoog tool
Pattern accurate (PA) TLM level
                                                        Allocation
                                       Processor 1
          Instruction memory                                             TA
                                         Task A
            Not used
                                         Task B                          TB


                                      Processor 0
                               NoC
                                     Task C   Task D                TC        TD

            Data memory                                Allocation
                                         Task E                          TE
          Array0   Array1

                                                         Application execution graph


   Fast simulation
   Data transfer observation
   Hardware/Software simulation before the processor
    component is available
Gaspard2 Démo…
                     UML            Gaspard       Polyhedron




                          Loop                 SystemC PA




 https://gforge.inria.fr/projects/gaspard2/
Overview

More Related Content

What's hot

[50th KUG PP] 내 손에 꿈을 담다(명동)
[50th KUG PP] 내 손에 꿈을 담다(명동)[50th KUG PP] 내 손에 꿈을 담다(명동)
[50th KUG PP] 내 손에 꿈을 담다(명동)Keynote User Group
 
Etransformation de l'éducation avant le bac
Etransformation de l'éducation avant le bacEtransformation de l'éducation avant le bac
Etransformation de l'éducation avant le bac
Benoit Paul Max
 
معانی کلمات قرآن کریم بصورت سؤال و جواب
معانی کلمات قرآن کریم بصورت سؤال و جوابمعانی کلمات قرآن کریم بصورت سؤال و جواب
معانی کلمات قرآن کریم بصورت سؤال و جواب
Islamhouse.com
 
Scientific Article Recommendations with Mahout
Scientific Article Recommendations with MahoutScientific Article Recommendations with Mahout
Scientific Article Recommendations with Mahout
Data Science London
 
Công nghệ sấy đường thùng quay
Công nghệ sấy đường thùng quayCông nghệ sấy đường thùng quay
Công nghệ sấy đường thùng quayÔng Già
 
Technorati Blogging Stats Preview
Technorati Blogging Stats PreviewTechnorati Blogging Stats Preview
Technorati Blogging Stats Preview
Eric Schwartzman
 
Bhart rahari 01-06
Bhart rahari 01-06Bhart rahari 01-06
Bhart rahari 01-06venkatesha9
 
ข้อสอบMetrix
ข้อสอบMetrixข้อสอบMetrix
ข้อสอบMetrixNoir Black
 
Webcast4 t06port2
Webcast4 t06port2Webcast4 t06port2
Webcast4 t06port2Petrobras
 
12052455271 installation et_configuration_du_pbx_asterisk
12052455271 installation et_configuration_du_pbx_asterisk12052455271 installation et_configuration_du_pbx_asterisk
12052455271 installation et_configuration_du_pbx_asteriskKarim Fares
 
ปัจจัยที่ทำให้ระบบโรงเรียนประสบความสำเร็จ
ปัจจัยที่ทำให้ระบบโรงเรียนประสบความสำเร็จปัจจัยที่ทำให้ระบบโรงเรียนประสบความสำเร็จ
ปัจจัยที่ทำให้ระบบโรงเรียนประสบความสำเร็จ
kunkrooyim
 
Circuit breakers schneider electric
Circuit breakers  schneider electricCircuit breakers  schneider electric
Circuit breakers schneider electric
Elica Electric
 
Google Talk: DOs and DON'Ts of Mobile Strategy
Google Talk: DOs and DON'Ts of Mobile StrategyGoogle Talk: DOs and DON'Ts of Mobile Strategy
Google Talk: DOs and DON'Ts of Mobile Strategy
Jason Grigsby
 
BICBANCO - Overview 2nd Quarter 2007
BICBANCO - Overview 2nd Quarter 2007BICBANCO - Overview 2nd Quarter 2007
BICBANCO - Overview 2nd Quarter 2007
BICBANCO
 
La ideologia anarquista angel cappelletti
La ideologia anarquista   angel cappellettiLa ideologia anarquista   angel cappelletti
La ideologia anarquista angel cappellettialiinkaaaa
 
Slaying the Dragon: Implementing a Programming Language in Ruby
Slaying the Dragon: Implementing a Programming Language in RubySlaying the Dragon: Implementing a Programming Language in Ruby
Slaying the Dragon: Implementing a Programming Language in Ruby
Jason Yeo Jie Shun
 

What's hot (19)

[50th KUG PP] 내 손에 꿈을 담다(명동)
[50th KUG PP] 내 손에 꿈을 담다(명동)[50th KUG PP] 내 손에 꿈을 담다(명동)
[50th KUG PP] 내 손에 꿈을 담다(명동)
 
Etransformation de l'éducation avant le bac
Etransformation de l'éducation avant le bacEtransformation de l'éducation avant le bac
Etransformation de l'éducation avant le bac
 
معانی کلمات قرآن کریم بصورت سؤال و جواب
معانی کلمات قرآن کریم بصورت سؤال و جوابمعانی کلمات قرآن کریم بصورت سؤال و جواب
معانی کلمات قرآن کریم بصورت سؤال و جواب
 
Scientific Article Recommendations with Mahout
Scientific Article Recommendations with MahoutScientific Article Recommendations with Mahout
Scientific Article Recommendations with Mahout
 
Công nghệ sấy đường thùng quay
Công nghệ sấy đường thùng quayCông nghệ sấy đường thùng quay
Công nghệ sấy đường thùng quay
 
Technorati Blogging Stats Preview
Technorati Blogging Stats PreviewTechnorati Blogging Stats Preview
Technorati Blogging Stats Preview
 
Central Stats
Central Stats Central Stats
Central Stats
 
Bhart rahari 01-06
Bhart rahari 01-06Bhart rahari 01-06
Bhart rahari 01-06
 
ข้อสอบMetrix
ข้อสอบMetrixข้อสอบMetrix
ข้อสอบMetrix
 
Olympus E P1
Olympus E P1Olympus E P1
Olympus E P1
 
Webcast4 t06port2
Webcast4 t06port2Webcast4 t06port2
Webcast4 t06port2
 
12052455271 installation et_configuration_du_pbx_asterisk
12052455271 installation et_configuration_du_pbx_asterisk12052455271 installation et_configuration_du_pbx_asterisk
12052455271 installation et_configuration_du_pbx_asterisk
 
ปัจจัยที่ทำให้ระบบโรงเรียนประสบความสำเร็จ
ปัจจัยที่ทำให้ระบบโรงเรียนประสบความสำเร็จปัจจัยที่ทำให้ระบบโรงเรียนประสบความสำเร็จ
ปัจจัยที่ทำให้ระบบโรงเรียนประสบความสำเร็จ
 
Circuit breakers schneider electric
Circuit breakers  schneider electricCircuit breakers  schneider electric
Circuit breakers schneider electric
 
Google Talk: DOs and DON'Ts of Mobile Strategy
Google Talk: DOs and DON'Ts of Mobile StrategyGoogle Talk: DOs and DON'Ts of Mobile Strategy
Google Talk: DOs and DON'Ts of Mobile Strategy
 
Futsalf
FutsalfFutsalf
Futsalf
 
BICBANCO - Overview 2nd Quarter 2007
BICBANCO - Overview 2nd Quarter 2007BICBANCO - Overview 2nd Quarter 2007
BICBANCO - Overview 2nd Quarter 2007
 
La ideologia anarquista angel cappelletti
La ideologia anarquista   angel cappellettiLa ideologia anarquista   angel cappelletti
La ideologia anarquista angel cappelletti
 
Slaying the Dragon: Implementing a Programming Language in Ruby
Slaying the Dragon: Implementing a Programming Language in RubySlaying the Dragon: Implementing a Programming Language in Ruby
Slaying the Dragon: Implementing a Programming Language in Ruby
 

Similar to Gaspard tutorial

Mobile Number Portability - The Process Factory
Mobile Number Portability - The Process FactoryMobile Number Portability - The Process Factory
Mobile Number Portability - The Process FactoryBSP Media Group
 
Presentazione comunità finanziaria 10nov11
Presentazione comunità finanziaria 10nov11Presentazione comunità finanziaria 10nov11
Presentazione comunità finanziaria 10nov11
MondadoriGroup
 
Innotech - Get Me a Mobile Strategy or You’re Fired!
Innotech - Get Me a Mobile Strategy or You’re Fired!Innotech - Get Me a Mobile Strategy or You’re Fired!
Innotech - Get Me a Mobile Strategy or You’re Fired!
Jason Grigsby
 
Proelitedeck8 7-11-110810135109-phpapp01
Proelitedeck8 7-11-110810135109-phpapp01Proelitedeck8 7-11-110810135109-phpapp01
Proelitedeck8 7-11-110810135109-phpapp01
Stratus Media Group
 
-scientific proof in al-quran
-scientific proof in al-quran-scientific proof in al-quran
-scientific proof in al-quran
R&R Darulkautsar
 
SKV - Blackpool Viral
SKV - Blackpool ViralSKV - Blackpool Viral
SKV - Blackpool Viral
Marketing Lancashire
 
Thi thử toán lương tài 2 bn 2012 k ab
Thi thử toán lương tài 2 bn 2012 k abThi thử toán lương tài 2 bn 2012 k ab
Thi thử toán lương tài 2 bn 2012 k abThế Giới Tinh Hoa
 
Where 2.0 -- Get me a mobile strategy or you’re fired!
Where 2.0 -- Get me a mobile strategy or you’re fired!Where 2.0 -- Get me a mobile strategy or you’re fired!
Where 2.0 -- Get me a mobile strategy or you’re fired!
Jason Grigsby
 
Resultados sobre Policultivo de Tilápias e Camarões de Água Doce
Resultados sobre Policultivo de Tilápias e Camarões de Água Doce Resultados sobre Policultivo de Tilápias e Camarões de Água Doce
Resultados sobre Policultivo de Tilápias e Camarões de Água Doce
Agricultura Sao Paulo
 
9t rainforest menus
9t rainforest menus9t rainforest menus
9t rainforest menusAshleigh100
 
Get me a mobile strategy or you're fired web 2
Get me a mobile strategy or you're fired   web 2Get me a mobile strategy or you're fired   web 2
Get me a mobile strategy or you're fired web 2
Jason Grigsby
 
DiplomadoIABMex_Equipo6
DiplomadoIABMex_Equipo6DiplomadoIABMex_Equipo6
DiplomadoIABMex_Equipo6
jorgemacias23
 
referente
referentereferente
referente
betsycaru
 
理想のガイガーカウンター vs 私のガイガーカウンター
理想のガイガーカウンター vs 私のガイガーカウンター理想のガイガーカウンター vs 私のガイガーカウンター
理想のガイガーカウンター vs 私のガイガーカウンターgcmorg
 
Get Me a Mobile Strategy or You're FIRED!
Get Me a Mobile Strategy or You're FIRED!Get Me a Mobile Strategy or You're FIRED!
Get Me a Mobile Strategy or You're FIRED!
Jason Grigsby
 
تفسير العشر الأخير من القران الكريم ويليه احكام تهم المسلم
تفسير العشر الأخير من القران الكريم ويليه احكام تهم المسلمتفسير العشر الأخير من القران الكريم ويليه احكام تهم المسلم
تفسير العشر الأخير من القران الكريم ويليه احكام تهم المسلم
Islamic Invitation
 
Anna Karenina (leon tolstoi)
Anna Karenina (leon tolstoi)Anna Karenina (leon tolstoi)
Anna Karenina (leon tolstoi)
Rita Dinis
 

Similar to Gaspard tutorial (20)

Mobile Number Portability - The Process Factory
Mobile Number Portability - The Process FactoryMobile Number Portability - The Process Factory
Mobile Number Portability - The Process Factory
 
Presentazione comunità finanziaria 10nov11
Presentazione comunità finanziaria 10nov11Presentazione comunità finanziaria 10nov11
Presentazione comunità finanziaria 10nov11
 
Innotech - Get Me a Mobile Strategy or You’re Fired!
Innotech - Get Me a Mobile Strategy or You’re Fired!Innotech - Get Me a Mobile Strategy or You’re Fired!
Innotech - Get Me a Mobile Strategy or You’re Fired!
 
Proelitedeck8 7-11-110810135109-phpapp01
Proelitedeck8 7-11-110810135109-phpapp01Proelitedeck8 7-11-110810135109-phpapp01
Proelitedeck8 7-11-110810135109-phpapp01
 
-scientific proof in al-quran
-scientific proof in al-quran-scientific proof in al-quran
-scientific proof in al-quran
 
SKV - Blackpool Viral
SKV - Blackpool ViralSKV - Blackpool Viral
SKV - Blackpool Viral
 
Thi thử toán lương tài 2 bn 2012 k ab
Thi thử toán lương tài 2 bn 2012 k abThi thử toán lương tài 2 bn 2012 k ab
Thi thử toán lương tài 2 bn 2012 k ab
 
Where 2.0 -- Get me a mobile strategy or you’re fired!
Where 2.0 -- Get me a mobile strategy or you’re fired!Where 2.0 -- Get me a mobile strategy or you’re fired!
Where 2.0 -- Get me a mobile strategy or you’re fired!
 
Chinese
ChineseChinese
Chinese
 
Resultados sobre Policultivo de Tilápias e Camarões de Água Doce
Resultados sobre Policultivo de Tilápias e Camarões de Água Doce Resultados sobre Policultivo de Tilápias e Camarões de Água Doce
Resultados sobre Policultivo de Tilápias e Camarões de Água Doce
 
74 kg greco
74 kg greco74 kg greco
74 kg greco
 
9t rainforest menus
9t rainforest menus9t rainforest menus
9t rainforest menus
 
Get me a mobile strategy or you're fired web 2
Get me a mobile strategy or you're fired   web 2Get me a mobile strategy or you're fired   web 2
Get me a mobile strategy or you're fired web 2
 
Wells Fargo Outline
Wells Fargo Outline Wells Fargo Outline
Wells Fargo Outline
 
DiplomadoIABMex_Equipo6
DiplomadoIABMex_Equipo6DiplomadoIABMex_Equipo6
DiplomadoIABMex_Equipo6
 
referente
referentereferente
referente
 
理想のガイガーカウンター vs 私のガイガーカウンター
理想のガイガーカウンター vs 私のガイガーカウンター理想のガイガーカウンター vs 私のガイガーカウンター
理想のガイガーカウンター vs 私のガイガーカウンター
 
Get Me a Mobile Strategy or You're FIRED!
Get Me a Mobile Strategy or You're FIRED!Get Me a Mobile Strategy or You're FIRED!
Get Me a Mobile Strategy or You're FIRED!
 
تفسير العشر الأخير من القران الكريم ويليه احكام تهم المسلم
تفسير العشر الأخير من القران الكريم ويليه احكام تهم المسلمتفسير العشر الأخير من القران الكريم ويليه احكام تهم المسلم
تفسير العشر الأخير من القران الكريم ويليه احكام تهم المسلم
 
Anna Karenina (leon tolstoi)
Anna Karenina (leon tolstoi)Anna Karenina (leon tolstoi)
Anna Karenina (leon tolstoi)
 

Recently uploaded

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 

Recently uploaded (20)

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 

Gaspard tutorial

  • 1.
  • 2. Gaspard2 Tutorial Rabie Ben Atitalah, Jean-Luc Dekeyser and Pierre Boulet 24 September 2008
  • 5. High Performance Application Development: MPSoC Verification Simulation Synthesis Multiple languages Multiple abst. levels
  • 6. Application Domain of Gaspard2: intensive signal processing "Gaspard" stands for Graphical array specification for parallel and distributed computing
  • 7. Hypotheses component-based massive parallelism regular applications and hardware no complex flow of control static scheduling, no RTOS
  • 8. MARTE packages used in Gaspard2 Foundations Non Functional Properties Generic Component Model Flow ports Allocation Detailed Resource Modeling Hardware Resource Modeling::HwLogical Repetitive Structure Modeling
  • 9. ! #$%'$()*#+*,+- $./$0,12345$)1$+565410$75*4893:5$*#+$;:5++5+$(=()5:(
  • 10. ! !! ! # $ % %''( ) !! * ) ++ C!C D))0-EEFFFGH*,,1448,5(5*,HDG1,IE AB , J;$/KL9$M$H1#)*H)-$(5*()35#GI5,*,+NH5*G2,O PQ*(H*,$;(03#1R*S$LT*()35#$'T,*,+S$L*21Q*#$9*D*$*#+$V,T+T,3H$9D1:*(G$$ KW7K$MH1#)*H)-$715,)GX5Y(3:1#5N(10D3*G3#,3*G2,O A JD*,45($#+,TS$715,)$+5$L3:1#5S$Z35,,5$[1Q45) 9D*45($979$MH1#)*H)-$/*Q,5#)G,31QN)D*45(I,1Q0GH1:O @ *+5453#5$V*QI],5S$/*Q,5#)$731QS$L5*()35#$X5:*)D35Q ?
  • 11. - ! . $ , . , V1,$X1:*3#$`35F$45654 C!C AB V1,$./$Z,12345$`35F$/5654 A V1,$.(5,$1+54$`35F$/5654 @ ? _
  • 12. ! / K#),1+QH)31#$)1$XX$21,$79E;$(=()5:($}$79;$3#$*$#Q)(D544 % W1#82Q#H)31#*4$0,105,)35($:1+543#I %Q)43#5$12$)D5$`*4Q5$L05H323H*)31#$/*#IQ*I5$M`L/O$ 3 9D5$)3:3#I$:1+54 C!C 4 1 AB 5 Z4*)21,:$:1+543#I$ 6 7505)3)365$(),QH)Q,5$:1+543#I ( A 1+548*(5+$*#*4=(3($21,$79E;$ 79;$*#+$X/$ @ 7 J1#H4Q(31#( ? ga
  • 13. ) 8 ! ) W55+$21,$:*#*I5*45$*#+$,5Q(*45$035H5($12$(12)F*,5 w5=$5*:045(-$/3ID)F53ID)8JJS$LJS$Q)1(*, C!C ) ! 1! AB ;#)3)35($Q#+5,$*#*4=(3(E+5(3I#$,1n5#$+1F#$3#)1$*$(5,35($12$H1:01#5#)( 0043H*45$*)$+3225,5#)$()*I5($12$)D5$0,1H5(( X3225,5#)$n3#+-$*H)365$6(G$0*((365$M5GIGS$./$*H)365$H4*((5(O A ;*:045($12$,54*)5+$4*#IQ*I5(-$L=(/S$X/ 9D5,5$3($*$#55+$)1$0,163+5$:1+543#I$H1#(),QH)($)1$(Q001,)$)D5(5$H1#H50)($*)$ @ +3225,5#)$45654($12$*(),*H)31# ? gb
  • 14. . ? +: ! ? + 9D5$n5,#54$12$)D5$4*#IQ*I5$+523#5($ $ *#+$ ! $+523#5($ $*#+$ C!C $*#+$0,163+5$)D5$*343)=$)1$ +5(H,35$*$ $*($*#$*((5:4=$12$0*,)( AB # *#+$ $ % % $+523#5$ )D5$#1)31#$12$H1:01#5#)$,5*43R*)31#$*#+$ *++($0*Hn*I3#I$H*0*343)35( A @ K#$*#=$H*(5S$#1$(Q001,)$21,$241F81,35#)5+$H1::Q#3H*)31#( ? gc
  • 15. ) ! 0 , 8 L=(/S$L03,3)S$X/S$/3ID)F53ID)8JJS$;L98X/S$Q)1(*, # C!C ? + $ AB ! + )1:3H$*#+$#1#8*)1:3H$241F$01,)( V41F$0,105,)35($*#+$241F$(05H323H*)31#( A @ , + 8)) $ #+ ! 8 #+%$ ! @ ? gd
  • 16. ? @ A AB C!C ) gf !
  • 17. ! )1:3H$241F$01,)$)=05+$=$*$ J4*((3235, C!C AB A J1:045$241F$01,)$)=05+$=$*$ @ L)*#+*,+$./$01,)$)=05+$=$*$H4*(($)D*)$ 241F$(05H323H*)31# Q(5($)D5$/1H*)31#HH5(($3#)5,2*H5 ? gg
  • 18. ! %Q)I13#I$*)1:3H$ 241F$01,) K#H1:3#I$*)1:3H$ 241F$01,) C!C AB ./$+545I*)31#$H1##5H)1,$Q(5+$ A F3)D$*$#1#8*)1:3H$241F$01,) @ ./$+545I*)31#$H1##5H)1,$Q(5+$ F3)D$*#$*)1:3H$241F$01,) ? hii
  • 19. ! / K#),1+QH)31#$)1$XX$21,$79E;$(=()5:($}$79;$3#$*$#Q)(D544 % W1#82Q#H)31#*4$0,105,)35($:1+543#I %Q)43#5$12$)D5$`*4Q5$L05H323H*)31#$/*#IQ*I5$M`L/O$ 3 9D5$)3:3#I$:1+54 C!C 4 $H1:01#5#)$:1+54$21,$79E; AB 5 $ 6 7505)3)365$(),QH)Q,5$:1+543#I ( A 1+548*(5+$*#*4=(3($21,$79E;$ 79;$*#+$X/$ @ 7 J1#H4Q(31#( ? hig
  • 20. 2 ! @ 441H*)5$*#$*0043H*)31#$545:5#)$)1$*#$0,1H5((3#I$04*)21,:$ 545:5#) 7523#5$*$I5#5,*4$545:5#)$3#)1$1#5$1,$(565,*4$:1,5$(05H323H$ 545:5#)($ C!C AB 0 ! + J*#$1#4=$*441H*)5$*0043H*)31#$)1$55HQ)31#$04*)21,: J*#$*))*HD$WVZ$H1#(),*3#)($)1$)D5$*441H*)31# A @ ? hhb
  • 21. ! 0 xD*)$H*#$5$*441H*)5+S$ )D5$41I3H*4$635F- $(),QH)Q,5$1,$5D*631, xD*)$H*#$(5,65$*($*$ )*,I5)$12$*#$*441H*)31#S$ )D5$0D=(3H*4$635F- C!C $*$,5(1Q,H5$1,$*$ (5,63H5G AB # A @ ? hhc
  • 22. - ! 79; P7 r 3#H4Q+5 s ! - , -. r 5)5#+ s r 3#H4Q+5 s C!C ! ; -. ! , AB -. r 3#H4Q+5 s r 3#H4Q+5 s # -. A ; @ _$Q(5$H*(5($v$_$45654($12$+5)*34( ? had
  • 23. - 88 - , ! - : P3ID$45654$12$ $635F$12$)D5$Px$04*)21,: x3)D$n5=$0,105,)35(- C!C ;GIGS$3#(),QH)31#$(5)$*#+$:5:1,=$(3R5G $21,:*4$635F$12$Q(Q*4$ $ AB P3ID$45654$+5(H,30)31#$12$53()3#I$*#+$)*,I5)5+$Px$04*)21,: V3,()$()50($12$+5(3I#$12$#5F$Px$*,HD3)5H)Q,5 A @ L=()5:$*,HD3)5H)( @ L12)F*,5$+5654105,( ? haf
  • 24. - 88 ! ; ! - : L05H3*43R5+$Px$ $:1+54 W*)Q,5$12$+5)*34($+505#+($1#$)D5$ , ;h$-$*Q)1#1:=$*#*4=(3($,5mQ3,5($01F5,$H1#(Q:0)31#$:1+543#I C!C ;$-$xJ;9$*#*4=(3($#55+$+5)*34($1#$0,1H5((1,$(055+S$H1::Q#3H*)31#$ *#+F3+)D$*#+$:5:1,=$1,I*#3R*)31#o AB @ ; A @ ? hag
  • 25. - 88 # ! - : P7$3($*$+5)*345+$Px$*,HD3)5H)Q,5$+5(3I#$4*#IQ*I5 /5654$12$+5)*34($+505#+($1#$)D5$+5(H,30)31#$ ;h-$VQ#H)31#*4$(3:Q4*)1,$12$*$0,1H5((1,$1#4=$,5mQ3,5($3)($3#(),QH)31#$(5)$2*:34= C!C ;-$Z5,21,:*#H5$(3:Q4*)31#$#55+$*$23#5$+5(H,30)31#$12$0,1H5((1,($:3H,18 *,HD3)5H)Q,5G AB 1+548*(5+$+*)*(D55)($+5(H,30)31# L3:Q4*)31# A I5#5,*)31#$12$H1#23IQ,*)31#($21,$(3:Q4*)31#$)114( @ @ Px$+5(3I#5,( ? hbi
  • 26. - ! - LQHH5((365$ $4*=5,( $I5#5,3H$H1#H50)($M'7843n5O ,) % - ,)' *- ,) . $(05H323H$*#+$+5)*345+$,5(1Q,H5( C!C ,) - ,)# - ,) - ,)''/- ,)# - ,)# % - ,) ' . AB 44$P7$H1#H50)($*,5$,) 0 1 iGGh 0,163+5+L5,63H5( F G hGGy F G iGGy - ,5mQ3,5+L5,63H5( - ! , A 1F#5+75(1Q,H5( iGGy 9F1 635F( + 1 @ ? hbh
  • 27. - 88 + ! , 2Q#H)31#*4 @ = G$$$$$$PFJ1:0Q)3#I$$$$$$ G$$$$$ G$$$$$$PFL)1,*I5$$$$$$ G$$$$$ C!C r PFZ,1H5((1, sS$r PFZ/X sS r PFJ*HD5 sS$r PF7 sS$ r PF. sS r PFLKJ s r PF7% sS$r PFX,365 s r PFX s AB G$$$$$$ PFX563H5$$$$$$ G$$$$$ G$$$$$$PF93:3#I$$$$$$ G$$$$$ G$$$$$$ PFJ1::Q#3H*)31#$$$$$$ G$$$$$ A r PFX563H5 sS r PFKE% s r PF[,3+I5 s r PFJ41Hn sS r PFLQ001,) s r PF93:5, s r PF,3)5, s @ r PF5+3* sS$r PF[Q( s ? hb
  • 28. - 88 ! , 0D=(3H*4 @ PF/*=1Q) V1,:(-$JD30S$J*,+S$JD*##54o X3:5#(31#(S$*,5*$*#+$*,,*#I5:5#)$:5HD*#3(:$F3)D3#$,5H)343#5*,$I,3+( C!C ;#63,1#:5#)*4$H1#+3)31#(-$5GIG$)5:05,*)Q,5S$63,*)31#S$DQ:3+3)=o PFZ1F5, AB Z1F5,$H1#(Q:0)31#$*#+$D5*)$+3((30*)31# G$$$$$$ PF/*=1Q)$$$$$$ G$$$$$ G$$$$$$PFZ1F5,$$$$$$ G$$$$$ A r PFZ1F5,LQ004= s r PFJ1143#ILQ004=s r PFJ1:01#5#) s n3#+$-$zJ*,+S$JD*##54S$JD30S$Z1,){ @ ? hb_
  • 29. - , , ! F G F + G == ==+ ==@ 9 K r 3:01,) s r 3:01,) s F G - F G F G - + - C!C - - AB - ! - ) - + - A - ) - ! - @ - - # , ? hba
  • 30. - 88 - ! F G F + G == ==+ ==@ 9 K r 3:01,) s r 3:01,) s F G - F G F G - + - C!C - - AB - ! - ) - + - A - ) - ! - @ - - # , ? hbb
  • 31. - 88 - ! - F G F G == ==! - r +*)*9=05 s F G - :5:1,=L3R5$-$WVZYX*)*L3R5 #1)*)31#$-$WVZYL),3#I *++,5((L3R5$-$WVZYX*)*L3R5 +5(H,30)31#$-$WVZYL),3#I )3:3#I($-$93:3#I$tyu 6*4Q5$-$WVZYXQ,*)31# C!C AB F G F G F G F G - ) - - - # , 45654$-$WVZYW*)Q,*4$v$h 1,I*#3R*)31#$-$5:1,=%,I*#3R*)31# )=05$-$7%Y9=05 (5H)1,L3R5$-$WVZYX*)*L3R5 )=05$-$J*HD59=05 3(L=#HD,1#1Q($-$WVZY[1145*# 1,I*#3R*)31#$-$5:1,=%,I*#3R*)31# (),QH)Q,5$-$J*HD5L),QH)Q,5 3(L)*)3H$ -WVZY[1145*# ,504YZ143H=$-$7504YZ143H= 3(W1#`14*)345$ -$WVZY[1145*# iGGh F,3)5Z143H=$-$x,3)5Z143H= ,504YZ143H=$ -$7504YZ143H= Q225, F,3)5Z143H=$-$x,3)5Z143H= z(Q(5)($1F#5+Px{ A r 5#Q:5,*)31# s r 5#Q:5,*)31# s r 5#Q:5,*)31# s r +*)*9=05 s r +*)*9=05 s r 5#Q:5,*)31# s K . ) ) ! ; K /7. x,3)5[*Hn X*)* #L5)($-$WVZYW*)Q,*4 #71F($-$WVZYW*)Q,*4 *(n5+7% WV. x,3)59D,1QID K#(),QH)31# 41HL3R5$-$WVZYX*)*L3R5 #J14Q:#($-$WVZYW*)Q,*4 ;Z7% VKV% %)D5, .#3235+ *((1H3*)363)=$ -$WVZYW*)Q,*4 #[*#n($-$WVZYW*)Q,*4 %9ZY;Z7% 7*#+1: .#+523#5+ %)D5, F1,+L3R5$-$WVZYX*)*L3R5 ;;Z7% @ %)D5, .#+523#5+ V4*(D .#+523#5+ %)D5, .#+523#5+ ? hbc
  • 32. - 88 - 88 - ) ! F G PFJ*HD5$3($*$0,1H5((3#I$:5:1,=$FD5,5$ - ) 2,5mQ5#)4=$Q(5+$+*)*$H*#$5$()1,5+$21,$,*03+$ *HH5(( 45654$-$WVZYW*)Q,*4$v$h )=05$-$J*HD59=05 (),QH)Q,5$-$J*HD5L),QH)Q,5 ,504YZ143H=$-$7504YZ143H= X5)*345+$+5(H,30)31#$12$)D5$PFJ*HD5$3($ C!C F,3)5Z143H=$-$x,3)5Z143H= #5H5((*,=$21,$05,21,:*#H5$*#*4=(3($*#+$ (3:Q4*)31#$ AB r 5#Q:5,*)31# s r 5#Q:5,*)31# s r 5#Q:5,*)31# s r +*)*9=05 s K . ) ) ! /7. x,3)5[*Hn X*)* #L5)($-$WVZYW*)Q,*4 A WV. x,3)59D,1QID K#(),QH)31# 41HL3R5$ -$WVZYX*)*L3R5 VKV% %)D5, .#3235+ *((1H3*)363)=$ -$WVZYW*)Q,*4 7*#+1: .#+523#5+ %)D5, %)D5, .#+523#5+ .#+523#5+ @ ? hbd
  • 33. - 88 - 88 - ) ! F G - ) 45654$-$WVZYW*)Q,*4$v$h )=05$-$J*HD59=05 L05H3235($)D5$H*HD5$45654G (),QH)Q,5$-$J*HD5L),QH)Q,5 ,504YZ143H=$-$7504YZ143H= X52*Q4)$6*4Q5$3($h C!C F,3)5Z143H=$-$x,3)5Z143H= AB r 5#Q:5,*)31# s r 5#Q:5,*)31# s r 5#Q:5,*)31# s r +*)*9=05 s K . ) ) ! /7. x,3)5[*Hn X*)* #L5)($-$WVZYW*)Q,*4 A WV. x,3)59D,1QID K#(),QH)31# 41HL3R5$-$WVZYX*)*L3R5 VKV% %)D5, .#3235+ *((1H3*)363)=$ -$WVZYW*)Q,*4 7*#+1: .#+523#5+ %)D5, %)D5, .#+523#5+ .#+523#5+ @ ? hbf
  • 34. - 88 - 88 - ) ! F G L05H3235($)D5$PFJ*HD5$(),QH)Q,5 - ) PFJ*HD5$3($1,I*#3R5+$Q#+5,$(5)($12$41Hn(G ((1H3*)363)=$3($)D5$#Q:5,$12$41Hn($F3)D3#$5*HD$(5)G 45654$-$WVZYW*)Q,*4$v$h K2$*((1H3*)363)=$v$hS$H*HD5$3($+3,5H)$:*005+ )=05$-$J*HD59=05 (),QH)Q,5$-$J*HD5L),QH)Q,5 K2$#L5)($v$hS$H*HD5$3($2Q44=$*((1H3*)365G ,504YZ143H=$-$7504YZ143H= %J/$,Q45 C!C F,3)5Z143H=$-$x,3)5Z143H= *! + 2 ! !+ * AB r 5#Q:5,*)31# s r 5#Q:5,*)31# s r 5#Q:5,*)31# s r +*)*9=05 s K . ) ) ! /7. x,3)5[*Hn X*)* #L5)($-$WVZYW*)Q,*4 A WV. x,3)59D,1QID K#(),QH)31# 41HL3R5$ -$WVZYX*)*L3R5 VKV% %)D5, .#3235+ *((1H3*)363)=$ -$WVZYW*)Q,*4 7*#+1: .#+523#5+ %)D5, %)D5, .#+523#5+ .#+523#5+ @ ? hbg
  • 35. - 88 - 88 - ) ! F G L05H3235($)D5$H*HD5$F,3)5$0143H=$ - ) x,3)5[*Hn-$J*HD5$F,3)5$3($#1)$3::5+3*)54=$ ,5245H)5+$)1$)D5$*Hn3#I$:5:1,=G 45654$-$WVZYW*)Q,*4$v$h )=05$-$J*HD59=05 x,3)59D,1QID-$x,3)5($*,5$3::5+3*)54=$ (),QH)Q,5$-$J*HD5L),QH)Q,5 :3,,1,5+G ,504YZ143H=$-$7504YZ143H= C!C F,3)5Z143H=$-$x,3)5Z143H= AB r 5#Q:5,*)31# s r 5#Q:5,*)31# s r 5#Q:5,*)31# s r +*)*9=05 s K . ) ) ! /7. x,3)5[*Hn X*)* #L5)($-$WVZYW*)Q,*4 A WV. x,3)59D,1QID K#(),QH)31# 41HL3R5$ -$WVZYX*)*L3R5 VKV% %)D5, .#3235+ *((1H3*)363)=$ -$WVZYW*)Q,*4 7*#+1: .#+523#5+ %)D5, %)D5, .#+523#5+ .#+523#5+ @ ? hci
  • 36. ! / K#),1+QH)31#$)1$XX$21,$79E;$(=()5:($}$79;$3#$*$#Q)(D544 % W1#82Q#H)31#*4$0,105,)35($:1+543#I %Q)43#5$12$)D5$`*4Q5$L05H323H*)31#$/*#IQ*I5$M`L/O$ 3 9D5$)3:3#I$:1+54 C!C 4 $H1:01#5#)$:1+54$21,$79E; AB 5 Z4*)21,:$:1+543#I$ 6 , ( A 1+548*(5+$*#*4=(3($21,$79E;$ 79;$*#+$X/$ @ 7 J1#H4Q(31#( ? hd_
  • 37. , ! ! , % W5()5+$4110( Q4)30,1H5((1,$L=()5:( C!C AB 0043H*)31# P*,+F*,5$04*)21,: ((1H3*)31# A @ W5F$#1)*)31#$E$()5,51)=05( ? hdc
  • 38. ) , ! ! J1#H50)( ! $M5)5#(31#$12$ *O 91$:1+54$:Q4)3+3:5#(31#*4$*,,*=( + $M5)5#(31#$12$ $*#+$ O 91$:1+54$)D5$)10141I=$12$)D5$43#n($5)F55#$:Q4)3+3:5#(31#*4$*,,*=( Z*))5,#8*(5+$,5IQ4*,$)10141I35( C!C AB @ = 8 75IQ4*,$(0*H3#I$12$013#)($3#(3+5$*$ A )345 75IQ4*,$(0*H3#I$12$)345( K#D5,3)($2,1:$)D5$,,*=8%/$4*#IQ*I5 @ ? hdd
  • 39. ! ! 9 F G ! 7523#5:5#)$12$)D5$:Q4)3043H3)=$ #1)*)31# `5H)1,$12$.#43:3)5+W*)Q,*4( F G C!C ? +== hc$‘$zaSa{ AB y$‘$zbhShfSy{ F G ! F G F G A (D*05$-$LD*05L05H323H*)31#$thu zH1445H)31#)),3$v$(3R5{ ! ! (3R5$-$.#43:3)5+W*)Q,*4$tiGGyu @ ? hdf
  • 40. + ! F G ! F G F G ? +==) ? +==) F G # + F G C!C * ! AB F G 0 ,505)3)31#L0*H5X505#+5#H5$-$K#)5I5,`5H)1,$thu 3(1+Q41$-$[1145*#$v$2*4(5 A F G F G 1,3I3#$-$K#)5I5,`5H)1, @ 0*))5,#LD*05$-$LD*05L05H323H*)31#$thu 0*63#I$-$K#)5I5,*),3 ,505)3)31#L0*H5$-$LD*05L05H323H*)31#$thu 23))3#I$-$K#)5I5,*),3 )345,$-$9345,L05H323H*)31# ? hdg
  • 41. - !0 # ! r$PFKL$s$z)=05$v$LKX{ hc$0,1H5((1,( !0 #? r$3#)5,7505)3)31#$s z,505)3)31#L0*H5X505#+5#H5$vzhSi{S 91,13+*4$a’a$I,3+ :1+Q41$v$),Q5{ [3+3,5H)31#*4$H1##5H)31#( # W1,)D8L1Q)D C!C ;*()8x5() AB r$PFJ1:0Q)3#I75(1Q,H5$s 0$-$;45:5#)*,=Z,1H$tzaSa{u 5 F 0i 0h 0 0_ A ( 0a 0b 0c 0d r$3#)5,7505)3)31#$s z,505)3)31#L0*H5X505#+5#H5$vziSh{S 0f 0g 0hi 0hh :1+Q41v),Q5{ @ 0h 0h_ 0ha 0hb ? hfi
  • 42. ! F G 9 ,,*=$(D*05 1,3I3#$-$K#)5I5,`5H)1, Z*))5,#$(D*05 0*63#I$-$K#)5I5,*),3 7505)3)31#$(0*H5$(D*05 23))3#I$-$K#)5I5,*),3 )345,$-$9345,L05H323H*)31# C!C 3 %-$,5IQ4*,$(0*H3#I$12$)D5$013#)($12$ F G )D5$)345( AB F G K#+5$ ! LH*##3#I$)D5$0*))5,# 1,3I3#$-$K#)5I5,`5H)1, %-$,5IQ4*,$(0*H3#I$12$)D5$)345( 0*63#I$-$K#)5I5,*),3$thu A 23))3#I$-$K#)5I5,*),3 K#+5$ LH*##3#I$)D5$,505)3)31#$(0*H5 @ 1,3I3#M0*63#I$23))3#IOG M$O $*,,*=G(D*05 ? hfh
  • 43. 0 B/1%C ! J14Q:#$65H)1,( [*(3($12$)D5$)345 Z*))5,#$(D*05 [1Q#+($12$)D5$23))3#I , C!C J14Q:#$65H)1,( AB [*(3($12$)D5$04*H5:5#)$12$ )D5$)345( 7505)3)31#$(0*H5 [1Q#+($12$)D5$0*63#I A %,3I3# J11,+3#*)5($12$)D5$ @ ,525,5#H5$013#)$12$)D5$ ,525,5#H5$)345 ? hf
  • 44. 0 B%1%C ! J14Q:#$65H)1,( [*(3($12$)D5$)345 Z*))5,#$(D*05 [1Q#+($12$)D5$23))3#I , C!C J14Q:#$65H)1,( AB [*(3($12$)D5$04*H5:5#)$12$ )D5$)345( 7505)3)31#$(0*H5 [1Q#+($12$)D5$0*63#I A %,3I3# J11,+3#*)5($12$)D5$ @ ,525,5#H5$013#)$12$)D5$ ,525,5#H5$)345 ? hf_
  • 45. ! ! r$)345,$s z1,3I3#vziSi{S 23))3#IvzziSh{{S C!C 0*63#IvzzhSi{SziS_{{ tzhf{u tzbhShfSy{u 2$-$VV9$tzbhSy{u tzbhSy{u tzhf{u r$)345,$s AB z1,3I3#vziSiSi{S 23))3#IvzziShSi{{S 0*63#IvzzhSiSi{SziSiSh{{{ ! 5/% A LD*05$12$)D5$3#0Q)$+*)*$v$bh’“ @ V1,$5*HD$D=+,10D1#5 L43+3#I$F3#+1F$12$hf$(*:045($565,=$_$)3:5$()50( ? hfa
  • 46. # ! F G ! ! F G == C!C 9343#I$1)D$5#+( AB F G 9F1$)345,( # x3)D$)D5$(*:5$)345( 0*))5,#LD*05$-$LD*05L05H323H*)31#$thu %#5$0*))5,#$(D*05 ,505)3)31#L0*H5$-$LD*05L05H323H*)31#$thu %#5$,505)3)31#$(0*H5 A 2,1:9345,$-$9345,L05H323H*)31#$thu )19345,$-$9345,L05H323H*)31#$ thu )$45*()$*44$PZV$+*)*$ @ +3(),3Q)31#( ? hfb
  • 47. # ! C!C AB # !0 # W1$(0*)3*4$+3(),3Q)31#$12$)D5$3#23#3)5$+3:5#(31#$M)3:5$()50(O A [41H$+3(),3Q)31#$12$)D5$bh$VV9($21,$5*HD$)3:5$()50 L3R5$12$)D5$41H$v$_ @ %#$)D5$hc$545:5#)*,=$0,1H5((1,( ? hfc
  • 48. # ! r$+3(),3Q)5$s z0*))5,#LD*05$v$z_{S $,505)3)31#L0*H5$v$zaSaSy{S $2,1:9345,$v$z1,3I3#$v$ziSi{S $23))3#I$v$zzhSi{{S $0*63#Ivzz_Si{SzhfSi{SziSh{{{S $)19345,$v$z1,3I3#$v$ziSi{S $$$$$$$$$$$$$$$$23))3#I$v$zziSi{{S C!C $$$$$$$$$$$$$$$$0*63#I$v$zzhSi{SziSh{SziSi{{{{ V2)L)*I5--2$-$VV9$ L3:+.#3)--0$-$ tzbhSy{u ;45:5#)*,=Z,1H$tzaSa{u AB # !0 # W1$(0*)3*4$+3(),3Q)31#$12$)D5$3#23#3)5$+3:5#(31#$M)3:5$()50(O A [41H$+3(),3Q)31#$12$)D5$bh$VV9($21,$5*HD$)3:5$()50 L3R5$12$)D5$41H$v$_ @ %#$)D5$hc$545:5#)*,=$0,1H5((1,( ? hfd
  • 49. ) ! ! Q4)3+3:5#(31#*4$(),QH)Q,5($M*,,*=(O 9343#I$=$(Q8(),QH)Q,5($M#1#$1,)D1I1#*4$1,$(0*,(5$)345($01((345O /3#n($5)F55#$(QHD$(),QH)Q,5($MH=H43H$1,$#1#$H=H43H$H1##5H)31#$0*))5,#($01((345O 9 , J1:0*H)#5(($12$)D5$:1+54 C!C ;223H35#H=S$:*3#)*3#*343)=S$,5*+*343)= AB .(5($`L/ [5#523)($2,1:$)D5$H1:01#5#)$:1+54$M241F$01,)(O 00435($)1$1)D$*0043H*)31#$*#+$D*,+F*,5$H1:01#5#)( ;)5#+($*441H*)31# + A P*#+45($1#4=$*,,*=($M#1$2*#H35,$(D*05(O x1Q4+$5#523)$2,1:$*$HQ()1:$M63(Q*4O$)345,$5+3)1, .#+5,$+565410:5#) @ ? hgh
  • 50. Detailed Example (∞) Downscaler (352, 288, ∞) (132, 288) Vert. Filter (132, 128) Horiz. Filter (352, 288) (132, 288) (132, 128, ∞)
  • 51. Horizontal Filter Horizontal filter (44, 288) (352, 288) Hfilter (132, 288) (11) (3)
  • 52. Horizontal Filter Horizontal filter (44, 288) (352, 288) Hfilter (132, 288) (11) (3) 1 1 F= F= 0 0 0 0 o= o= 0 0 8 0 3 0 P= P= 0 1 0 1
  • 53. Horizontal Filter: Input Tiler 1 F= spattern = 11 0 0 32 o= sarray = 0 18 8 0 4 P= srepetition = 0 1 18 17 0 0 0 31 r= 0
  • 54. Horizontal Filter: Input Tiler 1 F= spattern = 11 0 0 32 o= sarray = 0 18 8 0 4 P= srepetition = 0 1 18 17 0 0 1 31 r= 0
  • 55. Horizontal Filter: Input Tiler 1 F= spattern = 11 0 0 32 o= sarray = 0 18 8 0 4 P= srepetition = 0 1 18 17 0 0 2 31 r= 5
  • 56. Horizontal Filter Horizontal filter (44, 288) (352, 288) Hfilter (132, 288) (11) (3) 1 1 F= F= 0 0 0 0 o= o= 0 0 8 0 3 0 P= P= 0 1 0 1
  • 57. Horizontal Filter: Output Tiler 17 1 F= spattern = 3 0 0 12 o= sarray = 0 18 0 3 0 4 0 11 P= srepetition = r= 0 0 1 18 0
  • 58. Horizontal Filter: Output Tiler 17 1 F= spattern = 3 0 0 12 o= sarray = 0 18 0 3 0 4 0 11 P= srepetition = r= 1 0 1 18 0
  • 59. Horizontal Filter: Output Tiler 17 1 F= spattern = 3 0 0 12 o= sarray = 0 18 0 3 0 4 0 11 P= srepetition = r= 2 0 1 18 5
  • 60. Vertical Filter Vertical filter (132, 32) (132, 288) (132, 128) Vfilter (14) (4) 0 0 F= F= 1 1 0 0 o= o= 0 0 1 0 1 0 P= P= 0 9 0 4
  • 61. Vertical Filter: Input Tiler 17 0 F= spattern = 14 1 0 12 o= sarray = 0 18 0 1 0 12 0 11 P= srepetition = r= 0 0 9 2 0
  • 62. Vertical Filter: Input Tiler 17 0 F= spattern = 14 1 0 12 o= sarray = 0 18 0 1 0 12 0 11 P= srepetition = r= 1 0 9 2 0
  • 63. Vertical Filter: Input Tiler 17 0 F= spattern = 14 1 0 12 o= sarray = 0 18 0 1 0 12 0 11 P= srepetition = r= 5 0 9 2 1
  • 64. RSM Semantics Summary DSL for systematic signal processing First order pure functional language Multidimensional toroidal arrays Pattern based data acess Data parallel repetition ∀r, 0 ≤ r srepetition ∀i, 0 ≤ i spattern r t(r, i) = o + (P F) · mod sarray i
  • 66. Software and hardware co-model for data-intensive embedded system co-design
  • 67. MARTE packages used in Gaspard2  Foundations  Non Functional Properties  Generic Component Model  Flow ports  Allocation  Detailed Resource Modeling  Hardware Resource Modeling::HwLogical  Repetitive Structure Modeling
  • 68. Gaspard2 UML2.0 MM Marte MM Gaspard2 MM
  • 69. Co-model for co-design Marte and Gaspard Metamodels  High level data parallel constructions  Hierarchical  Repetitive  Application, architecture and association models  Iterative dependency expression  Data flow and control flow mixing  Gaspard2 UML profile available  With MagicDraw and Papyrus
  • 70. Optimization and compilation techniques •Data parallel code transformations •Mapping and multi-objective hierarchical scheduling heuristics •Compilation from high-level models down to simulation, execution and synthesis •Eclipse integration •Model transformation techniques •ModTransf, Momote, Mocode, QVTO
  • 71. HP-SoC simulation and synthesis •Simulation for architecture/application/association exploration •SystemC simulation framework at PVT and CABA level •Performance and power consumption evaluation •Synthesis for large and reconfigurable FPGA •VHDL code generation •Network on Chip and SIMD design for MppSoC •MppSoC implementation in FPGA (16-64 PE “à la Maspar”) •OpenMP execution on SMP •Synchronous code generation
  • 72. Downscaler application Horizontal filter: 8/3 CIF video frame: 352x288 Vertical filter: 9/4 Resized video frame
  • 73. CIF Frame structure 352 176 176 GOB1 GOB1 GOB1 GOB2 GOB2 GOB2 144 GOB3 144 GOB3 GOB3 + GOB4 + GOB4 GOB4 GOBn/2 GOBn/2 288 GOB5 U component V component GOB6 GOB. GOB. GOBn Y component
  • 74. Example: Downscaler data FG HF VF FC Hard Accto 16 MIPS 4 MIPS Sensor processors processor Bus Crossbar Task allocation Logical Data allocation Memory CIF: 352x288 • First solution: Heterogeneous mono-processor architecture • Second solution: Multi-processor architecture
  • 76. Downscaler: main application • Horizontal filter task
  • 77. Downscaler: main application • Vertical filter task
  • 80. Downscaler: main architecture • Hardware elementary components
  • 81. Example of MPSoC architecture  Shared Memory MPSoC architecture
  • 83. Downscaler: Deployment  Hardware and software deployment  Intellectual Property block (IP) reuse from libraries  A deployment extension is introduced  The most important concepts  VirtualIP  SoftwareIP, HardwareIP  implements  CodeFile  Specialization  Characteristic  PowerModel
  • 84. GaspardLib GaspardLib Software Hardware FFT, DCT, Processor, Convolution, cache, DMAC FIR crossbar Energy Processor, cache, DMAC crossbar
  • 87. Papyrus modeling editor  Open source  UML2 specification compliant  Afull Eclipse project such as EMF, etc.  Support all UML2 diagrams and profile  MARTE, SysML, CCM  OCL verification  Java and C++ code generation  Developed and supported by CEA and LIFL (DaRT)  www.papyrusuml.org
  • 88. Technology bases of Gaspard2  Model driven engineering  metamodels  model transformations  Eclipse platform  metamodeling language: Ecore  integration framework based on plugins  transformation chains
  • 90. Polyhedron model  Information given by the distribution in the high MPSoC model  A polyhedron is generated for each task repetition  Parameterized by a processor number (p0) and the task indexes
  • 91. Loop model  Scanning the polyhedron  Corresponding loop generation  Task repetition space  Using the CLoog tool
  • 92. Pattern accurate (PA) TLM level Allocation Processor 1 Instruction memory TA Task A Not used Task B TB Processor 0 NoC Task C Task D TC TD Data memory Allocation Task E TE Array0 Array1 Application execution graph  Fast simulation  Data transfer observation  Hardware/Software simulation before the processor component is available
  • 93. Gaspard2 Démo… UML Gaspard Polyhedron Loop SystemC PA  https://gforge.inria.fr/projects/gaspard2/