Síntesis alto nivel con CtoS Máster Universitario en ... · Síntesis de alto nivel de un...

1
IUMA Universidad de Las Palmas de Gran Canaria Campus Universitario de Tafira Las Palmas de Gran Canaria, SPAIN tel.: +34 928451086 +34928451250 Fax: +34 928451083 URL: www.iuma.ulpgc.es Herramientas utilizadas Síntesis de alto nivel de un decodificador H.264/AVC sobre plataforma FPGA Romén Neris Tomé Antonio Núñez Ordóñez, Pedro Pérez Carballo Septiembre 2012 Máster Universitario en Tecnologías de Telecomunicación Trabajo Fin de Máster Resumen: El objetivo de este Trabajo Fin de Máster es la síntesis de alto nivel de un decodificador de vídeo H.264/AVC sobre una plataforma FPGA. Para ello, se definirá una metodología de trabajo partiendo de un diseño existente del decodificador descrito en lenguaje SystemC. Se realizarán los pasos necesarios para llegar a la correcta síntesis del decodificador sobre una plataforma FPGA. Por último, se presentará de manera gráfica los resultados obtenidos más relevantes, formando todo ello parte del proyecto PCCMUTE llevado a cabo por la División de Sistemas Industriales y CAD SICAD. Flujo de diseño propuesto PosterTFM_v1.0 - 14 junio 2011 Verificación funcional del diseño Definición de jerarquía por módulos Síntesis alto nivel con CtoS Síntesis lógica con Synplify Extracción de datos y caracterización Presentación de resultados Comparativas con trabajos similares Adaptación del sistema al flujo de diseño de CtoS Síntesis lógica con XST en PlanAhead Resultados y comparativas Síntesis a alto nivel: Cadence CtoS Síntesis lógica: Xilinx XST Síntesis lógica: Synplify Premier Synplify Premier 11% 14% 11% 8% 8% D_FILTER INTER_P INTRA_P IQIT CAVLD 0 2000 4000 6000 8000 10000 12000 14000 D_FILTER INTER_P INTRA_P IQIT CAVLD Registros 0 5000 10000 15000 20000 25000 D_FILTER INTER_P INTRA_P IQIT CAVLD LUTs 10% 14% 22% 19% 8% D_FILTER INTER_P INTRA_P IQIT CAVLD 0 1 2 3 4 5 6 D_FILTER INTER_P INTRA_P IQIT CAVLD BRAMs 0 5 10 15 20 25 30 D_FILTER INTER_P INTRA_P IQIT CAVLD DSPs 0 10000 20000 30000 40000 50000 60000 70000 D_FILTER INTER_P INTRA_P IQIT CAVLD Registros 41% 81% 34% 76% 54% D_FILTER INTER_P INTRA_P IQIT CAVLD 0 5000 10000 15000 20000 25000 30000 35000 40000 45000 D_FILTER INTER_P INTRA_P IQIT CAVLD LUTs 28% 49% 32% 47% 29% D_FILTER INTER_P INTRA_P IQIT CAVLD 0 1 2 3 4 5 D_FILTER INTER_P INTRA_P IQIT CAVLD BRAMs 0 1 2 3 4 5 D_FILTER INTER_P INTRA_P IQIT CAVLD DSPs Xilinx XST Registros LUTs BRAMs y DSPs Resultados de Síntesis Lógica con XST y Synplify Premier 0 20 40 60 80 100 120 140 160 D_FILTER INTER_P INTRA_P IQIT CAVLD XST Synplify 0 10.000 20.000 30.000 40.000 50.000 60.000 70.000 D_FILTER INTER_P INTRA_P IQIT CAVLD XST Synplify 0 1 2 3 4 5 6 D_FILTER INTER_P INTRA_P IQIT CAVLD XST Synplify 0,00 20.000,00 40.000,00 60.000,00 80.000,00 100.000,00 120.000,00 140.000,00 160.000,00 D_FILTER INTER_P INTRA_P IQIT CAVLD CtoS XST Synplify Frecuencia BRAMs LUTs Registros Comparativa de los Resultados de Síntesis 0 20 40 60 80 100 120 140 160 180 TFM [1] [2] TFM [1] TFM [1] [3] [4] TFM [1] TFM [5] D_FILTER INTER_P INTRA_P IQIT CAVLD Frecuencia 0 5000 10000 15000 20000 25000 TFM [1] [2] TFM [1] TFM [1] [3] [4] TFM [1] TFM [5] [6] D_FILTER INTER_P INTRA_P IQIT CAVLD LUTs 0 10 20 30 40 50 60 70 TFM [1] [2] TFM [1] TFM [1] [3] [4] TFM [1] TFM D_FILTER INTER_P INTRA_P IQIT CAVLD BRAMs BLOQUE FPGA TÍTULO DE LA PUBLICACIÓN Y MARCADOR BIBLIOGRÁFICO D_FILTER Xilinx Virtex-II Pro FPGA design of a H.264/AVC main profile decoder for HDTV [1] D_FILTER Xilinx Virtex-II Pro An HDTV H.264/AVC Deblocking Filter in FPGA with RGB Video Output [2] INTER_P Xilinx Virtex-II Pro FPGA design of a H.264/AVC main profile decoder for HDTV [1] INTRA_P Xilinx Virtex-II Pro FPGA design of a H.264/AVC main profile decoder for HDTV [1] INTRA_P Xilinx Virtex 4 A new architecture for high performance Intra Prediction in H.264/AVC decoder [3] INTRA_P Xilinx Virtex-II Pro Architecture of an HDTV Intra frame Predictor for a H264 Decoder [4] IQIT Xilinx Virtex-II Pro FPGA design of a H.264/AVC main profile decoder for HDTV [1] CAVLD Stratix III A new fast architecture for HD H.264/AVC CAVLC multi syntax Decoder and its FPGA implementation [5] CAVLD Stratix II Low cost and memoryless CAVLD architecture for H.264/AVC Decoder [6] Comparativa con otras publicaciones Reducción de complejidad: x10 Nº Líneas SystemC: 36.148 No Líneas RTL Verilog: 354.567

Transcript of Síntesis alto nivel con CtoS Máster Universitario en ... · Síntesis de alto nivel de un...

Page 1: Síntesis alto nivel con CtoS Máster Universitario en ... · Síntesis de alto nivel de un decodificador H.264/AVC sobre plataforma FPGA ... se definirá una metodología de trabajo

IUMA

Universidad de Las Palmas de Gran Canaria Campus Universitario de Tafira

Las Palmas de Gran Canaria, SPAIN tel.: +34 928451086

+34928451250 Fax: +34 928451083

URL: www.iuma.ulpgc.es

Herramientas utilizadas

Síntesis de alto nivel de un decodificador

H.264/AVC sobre plataforma FPGA

Romén Neris Tomé

Antonio Núñez Ordóñez, Pedro Pérez Carballo

Septiembre 2012

Máster Universitario en Tecnologías de Telecomunicación

Trabajo Fin de Máster

Resumen: • El objetivo de este Trabajo Fin de Máster es la síntesis de alto nivel de un decodificador de vídeo H.264/AVC sobre una plataforma FPGA.

• Para ello, se definirá una metodología de trabajo partiendo de un diseño existente del decodificador descrito en lenguaje SystemC.

• Se realizarán los pasos necesarios para llegar a la correcta síntesis del decodificador sobre una plataforma FPGA.

• Por último, se presentará de manera gráfica los resultados obtenidos más relevantes, formando todo ello parte del proyecto PCCMUTE llevado a cabo por la División de Sistemas

Industriales y CAD – SICAD.

Flujo de diseño propuesto

PosterTFM_v1.0 - 14 junio 2011

Verificación funcional del diseño

Definición de jerarquía por módulos

Síntesis alto nivel con CtoS

Síntesis lógica con Synplify

Extracción de datos y caracterización

Presentación de resultados

Comparativas con trabajos similares

Adaptación del sistema al flujo de diseño de CtoS

Síntesis lógica con XST en PlanAhead

Resultados y comparativas

Síntesis a alto nivel: Cadence CtoS

Síntesis lógica: Xilinx XST

Síntesis lógica: Synplify Premier

Synplify Premier

11%

14%

11%

8%

8%

D_FILTER

INTER_P

INTRA_P

IQIT

CAVLD

0

2000

4000

6000

8000

10000

12000

14000

D_FILTER INTER_P INTRA_P IQIT CAVLD

Reg

istr

os

0

5000

10000

15000

20000

25000

D_FILTER INTER_P INTRA_P IQIT CAVLD

LUTs

10%

14%

22%

19%

8%

D_FILTER

INTER_P

INTRA_P

IQIT

CAVLD

0

1

2

3

4

5

6

D_FILTER INTER_P INTRA_P IQIT CAVLD

BR

AM

s

0

5

10

15

20

25

30

D_FILTER INTER_P INTRA_P IQIT CAVLD

DSP

s

0

10000

20000

30000

40000

50000

60000

70000

D_FILTER INTER_P INTRA_P IQIT CAVLD

Reg

istr

os

41%

81%

34%

76%

54%

D_FILTER

INTER_P

INTRA_P

IQIT

CAVLD

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

D_FILTER INTER_P INTRA_P IQIT CAVLD

LUTs

28%

49%

32%

47%

29%

D_FILTER

INTER_P

INTRA_P

IQIT

CAVLD

0

1

2

3

4

5

D_FILTER INTER_P INTRA_P IQIT CAVLD

BR

AM

s

0

1

2

3

4

5

D_FILTER INTER_P INTRA_P IQIT CAVLD

DSP

s

Xilinx XST

Registros

LUTs

BRAMs

y DSPs

Resultados de Síntesis Lógica con XST y Synplify Premier

0

20

40

60

80

100

120

140

160

D_FILTER INTER_P INTRA_P IQIT CAVLD

XST

Synplify

0

10.000

20.000

30.000

40.000

50.000

60.000

70.000

D_FILTER INTER_P INTRA_P IQIT CAVLD

XST

Synplify

0

1

2

3

4

5

6

D_FILTER INTER_P INTRA_P IQIT CAVLD

XST

Synplify

0,00

20.000,00

40.000,00

60.000,00

80.000,00

100.000,00

120.000,00

140.000,00

160.000,00

D_FILTER INTER_P INTRA_P IQIT CAVLD

CtoS

XST

Synplify

Frecuencia BRAMs

LUTs Registros

Comparativa de los Resultados de

Síntesis

0

20

40

60

80

100

120

140

160

180

TFM [1] [2] TFM [1] TFM [1] [3] [4] TFM [1] TFM [5]

D_FILTER INTER_P INTRA_P IQIT CAVLD

Frecuencia

0

5000

10000

15000

20000

25000

TFM [1] [2] TFM [1] TFM [1] [3] [4] TFM [1] TFM [5] [6]

D_FILTER INTER_P INTRA_P IQIT CAVLD

LUTs

0

10

20

30

40

50

60

70

TFM [1] [2] TFM [1] TFM [1] [3] [4] TFM [1] TFM

D_FILTER INTER_P INTRA_P IQIT CAVLD

BRAMs

BLOQUE FPGA TÍTULO DE LA PUBLICACIÓN Y MARCADOR BIBLIOGRÁFICO

D_FILTER Xilinx Virtex-II Pro FPGA design of a H.264/AVC main profile decoder for HDTV [1]

D_FILTER Xilinx Virtex-II Pro An HDTV H.264/AVC Deblocking Filter in FPGA with RGB Video Output [2]

INTER_P Xilinx Virtex-II Pro FPGA design of a H.264/AVC main profile decoder for HDTV [1]

INTRA_P Xilinx Virtex-II Pro FPGA design of a H.264/AVC main profile decoder for HDTV [1]

INTRA_P Xilinx Virtex 4 A new architecture for high performance Intra Prediction in H.264/AVC decoder [3]

INTRA_P Xilinx Virtex-II Pro Architecture of an HDTV Intra frame Predictor for a H264 Decoder [4]

IQIT Xilinx Virtex-II Pro FPGA design of a H.264/AVC main profile decoder for HDTV [1]

CAVLD Stratix III A new fast architecture for HD H.264/AVC CAVLC multi syntax Decoder and its FPGA implementation [5]

CAVLD Stratix II Low cost and memoryless CAVLD architecture for H.264/AVC Decoder [6]

Comparativa con otras publicaciones

Reducción de complejidad: x10

Nº Líneas SystemC: 36.148

No Líneas RTL Verilog: 354.567