Comparación de enfoques de desarrollo HDL y HLL en FPGA para aplicaciones de procesamiento de imágenes

Autores
Millón, Roberto Ariel
Año de publicación
2021
Idioma
español castellano
Tipo de recurso
tesis de maestría
Estado
versión aceptada
Colaborador/a o director/a de tesis
Rucci, Enzo
Descripción
Desde su invención a medidados de los 90, las FPGA han destacado por su gran poder de cómputo, bajo consumo energético y alta flexibilidad al reconfigurar su arquitectura interna para adaptarse a las aplicaciones. Esto convirtió a las FPGA en una excelente alternativa frente a los ASIC que presentaban una arquitectura fija y prolongados tiempos de diseño y fabricación, a pesar que contaban con eficiencia energética y rendimientos superiores a otras tecnologías. Una de las áreas que más se favoreció con la incorporación de FPGA es el procesamiento digital de imágenes, la cual consiste de técnicas y algoritmos computacionales que se aplican sobre una imagen para extraer información de ella o mejorar sus características. A pesar de sus virtudes, las FPGA no tuvieron la aceptación esperada. Los lenguajes tradicionales de descripción de hardware (HDL) para programar FPGA como VHDL y Verilog resultaron poseer demasiadas palabras, ser complejos y propensos a errores. Esto, sumado a la creciente complejidad de los sistemas y los acotados tiempos de mercado, limitaron su uso.% a un grupo reducido de especialistas en hardware. Es por ello que desde el año 2000, los fabricantes comenzaron a ofrecer herramientas de desarrollo de alto nivel (HLS) como Catapult C, Bluespec y Autopilot para aumentar el nivel de abstracción y reducir la complejidad en el desarrollo de sistemas. Las HLS obtienen una descripción HDL del sistema a partir de un diseño en lenguaje de alto nivel (HLL) como C, C++ o System C. Esto permitió a los desarrolladores de software utilizar lenguajes de alto nivel para diseñar sistemas en FPGA y beneficiarse con las ventajas de esta tecnología. A su vez, los fabricantes comenzaron a incorporar núcleos de procesamiento x86 y ARM a las FPGA lo que favoreció aún mas el uso de HLL. Estas arquitecturas heterogeneas denominadas Sistemas en Chip (SoC) permitieron balancear la carga computacional entre software y hardware utilizando el mismo algoritmo de alto nivel. Sin embargo, los HLL fueron creados para desarrollar aplicaciones que ejecuten en procesadores secuenciales, por lo que presentaron algunos inconvenientes al ser utilizados en FPGA de naturaleza concurrente. Como consecuencia, los HLL incorporaron extensiones y directivas para suplir algunas falencias y permitir, entre otras cosas, sintetizar interfaces de comunicación, describir señales de cualquier longitud de bits y ejecutar tareas en forma concurrente. Por otro lado, se impusieron restricciones al lenguaje, por ejemplo, no permitir el uso de memoria dinámica. Por lo tanto, al momento de elegir un lenguaje de programación para FPGAs resulta indispensable conocer sus fortalezas y debilidades. Es por ello que esta investigación tiene como objetivo general comparar los enfoques de desarrollo HDL y HLL en FPGA con respecto a las prestaciones (rendimiento, uso de recursos y esfuerzo de programación) de sus implementaciones para aplicaciones de detección de contornos de imágenes. Para realizar el estudio comparativo, se eligió como caso de estudio un filtro de detección de contornos Sobel, ya que al ser un filtro convolucional, resulta representativo de muchos otros. Luego, se desarrollaron dos implementaciones completas y funcionales siguiendo los enfoques HDL y HLL. Ambas propuestas fueron sometidas a pruebas sobre una plataforma SoC ZYBO usando cuatro imágenes extraídas de repositorios públicos. El diseño, implementación e integración de cada sistema se realizó con las herramientas de Xilinx Vivado 2019.1, Vivado HLS 2019.1 y XSKD 2019.1, sin el uso de librerías de imagen/video, sistema operativo o software adicional. Los resultados obtenidos demostraron que la implementación HDL es levemente superior a la versión HLS en cuando a eficiencia en el uso de recursos y rendimiento. Respecto al primero, la versión HDL empleó menor cantidad de recursos aunque en ninguna de las implementaciones representó una restricción de diseño. En cuanto al rendimiento, la versión HDL obtuvo menor throughput, latencia y tiempo de ejecución. En el caso de este último, la versión en HDL alzanzó una aceleración mayor a 6x en la imagen de 512x512, aunque esa diferencia disminuyó al aumentar el tamaño de las imágenes obteniendo una aceleración de sólo 1.4x en la imagen de tamaño 1920x1080. Sin embargo, el esfuerzo de programación en la implementación de HDL fue significativamente mayor. El diseño en HDL requirió especificaciones de bajo nivel, como la descripción de interfaces AXI4 y el solapamiento de tareas, que complejizaron el algoritmo, a diferencia del diseño de alto nivel que resolvió ambas especificaciones por medio de directivas de compilador. En consecuencia, la descripción en HDL no sólo aumentó el tiempo de desarrollo sino que los diseños tuvieron más líneas de código (SLOC), fue más difícil de programar y menos reutilizable respecto a la versión de alto nivel. Luego del análisis de los resultados obtenidos se concluyó que el esfuerzo de programación requerido por HDL fue significativamente mayor respecto al de HLS y sólo se obtuvo una leve mejora en uso de recursos y rendimiento. En contextos similares a los de este estudio, HDL sólo resultaría conveniente en los diseños donde el uso de recursos y/o el tiempo de respuesta fueran parámetros de diseño sumamente críticos. De otra forma, HLS es una mejor opción que permite reducir significativamente el esfuerzo de programación y el tiempo de desarrollo.
Magíster en Informática
Universidad Nacional de San Juan
Facultad de Ciencias Exactas, Físicas y Naturales
Materia
Ciencias Informáticas
FPGA
System on a chip
Image processing
High-Level Synthesis
Hardware Description Language
Verilog
Programming cost
Performance
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by-nc-sa/4.0/
Repositorio
SEDICI (UNLP)
Institución
Universidad Nacional de La Plata
OAI Identificador
oai:sedici.unlp.edu.ar:10915/131559

id SEDICI_b5668464614891c71fcf57c21ff42c5f
oai_identifier_str oai:sedici.unlp.edu.ar:10915/131559
network_acronym_str SEDICI
repository_id_str 1329
network_name_str SEDICI (UNLP)
spelling Comparación de enfoques de desarrollo HDL y HLL en FPGA para aplicaciones de procesamiento de imágenesMillón, Roberto ArielCiencias InformáticasFPGASystem on a chipImage processingHigh-Level SynthesisHardware Description LanguageVerilogProgramming costPerformanceDesde su invención a medidados de los 90, las FPGA han destacado por su gran poder de cómputo, bajo consumo energético y alta flexibilidad al reconfigurar su arquitectura interna para adaptarse a las aplicaciones. Esto convirtió a las FPGA en una excelente alternativa frente a los ASIC que presentaban una arquitectura fija y prolongados tiempos de diseño y fabricación, a pesar que contaban con eficiencia energética y rendimientos superiores a otras tecnologías. Una de las áreas que más se favoreció con la incorporación de FPGA es el procesamiento digital de imágenes, la cual consiste de técnicas y algoritmos computacionales que se aplican sobre una imagen para extraer información de ella o mejorar sus características. A pesar de sus virtudes, las FPGA no tuvieron la aceptación esperada. Los lenguajes tradicionales de descripción de hardware (HDL) para programar FPGA como VHDL y Verilog resultaron poseer demasiadas palabras, ser complejos y propensos a errores. Esto, sumado a la creciente complejidad de los sistemas y los acotados tiempos de mercado, limitaron su uso.% a un grupo reducido de especialistas en hardware. Es por ello que desde el año 2000, los fabricantes comenzaron a ofrecer herramientas de desarrollo de alto nivel (HLS) como Catapult C, Bluespec y Autopilot para aumentar el nivel de abstracción y reducir la complejidad en el desarrollo de sistemas. Las HLS obtienen una descripción HDL del sistema a partir de un diseño en lenguaje de alto nivel (HLL) como C, C++ o System C. Esto permitió a los desarrolladores de software utilizar lenguajes de alto nivel para diseñar sistemas en FPGA y beneficiarse con las ventajas de esta tecnología. A su vez, los fabricantes comenzaron a incorporar núcleos de procesamiento x86 y ARM a las FPGA lo que favoreció aún mas el uso de HLL. Estas arquitecturas heterogeneas denominadas Sistemas en Chip (SoC) permitieron balancear la carga computacional entre software y hardware utilizando el mismo algoritmo de alto nivel. Sin embargo, los HLL fueron creados para desarrollar aplicaciones que ejecuten en procesadores secuenciales, por lo que presentaron algunos inconvenientes al ser utilizados en FPGA de naturaleza concurrente. Como consecuencia, los HLL incorporaron extensiones y directivas para suplir algunas falencias y permitir, entre otras cosas, sintetizar interfaces de comunicación, describir señales de cualquier longitud de bits y ejecutar tareas en forma concurrente. Por otro lado, se impusieron restricciones al lenguaje, por ejemplo, no permitir el uso de memoria dinámica. Por lo tanto, al momento de elegir un lenguaje de programación para FPGAs resulta indispensable conocer sus fortalezas y debilidades. Es por ello que esta investigación tiene como objetivo general comparar los enfoques de desarrollo HDL y HLL en FPGA con respecto a las prestaciones (rendimiento, uso de recursos y esfuerzo de programación) de sus implementaciones para aplicaciones de detección de contornos de imágenes. Para realizar el estudio comparativo, se eligió como caso de estudio un filtro de detección de contornos Sobel, ya que al ser un filtro convolucional, resulta representativo de muchos otros. Luego, se desarrollaron dos implementaciones completas y funcionales siguiendo los enfoques HDL y HLL. Ambas propuestas fueron sometidas a pruebas sobre una plataforma SoC ZYBO usando cuatro imágenes extraídas de repositorios públicos. El diseño, implementación e integración de cada sistema se realizó con las herramientas de Xilinx Vivado 2019.1, Vivado HLS 2019.1 y XSKD 2019.1, sin el uso de librerías de imagen/video, sistema operativo o software adicional. Los resultados obtenidos demostraron que la implementación HDL es levemente superior a la versión HLS en cuando a eficiencia en el uso de recursos y rendimiento. Respecto al primero, la versión HDL empleó menor cantidad de recursos aunque en ninguna de las implementaciones representó una restricción de diseño. En cuanto al rendimiento, la versión HDL obtuvo menor throughput, latencia y tiempo de ejecución. En el caso de este último, la versión en HDL alzanzó una aceleración mayor a 6x en la imagen de 512x512, aunque esa diferencia disminuyó al aumentar el tamaño de las imágenes obteniendo una aceleración de sólo 1.4x en la imagen de tamaño 1920x1080. Sin embargo, el esfuerzo de programación en la implementación de HDL fue significativamente mayor. El diseño en HDL requirió especificaciones de bajo nivel, como la descripción de interfaces AXI4 y el solapamiento de tareas, que complejizaron el algoritmo, a diferencia del diseño de alto nivel que resolvió ambas especificaciones por medio de directivas de compilador. En consecuencia, la descripción en HDL no sólo aumentó el tiempo de desarrollo sino que los diseños tuvieron más líneas de código (SLOC), fue más difícil de programar y menos reutilizable respecto a la versión de alto nivel. Luego del análisis de los resultados obtenidos se concluyó que el esfuerzo de programación requerido por HDL fue significativamente mayor respecto al de HLS y sólo se obtuvo una leve mejora en uso de recursos y rendimiento. En contextos similares a los de este estudio, HDL sólo resultaría conveniente en los diseños donde el uso de recursos y/o el tiempo de respuesta fueran parámetros de diseño sumamente críticos. De otra forma, HLS es una mejor opción que permite reducir significativamente el esfuerzo de programación y el tiempo de desarrollo.Magíster en InformáticaUniversidad Nacional de San JuanFacultad de Ciencias Exactas, Físicas y NaturalesRucci, Enzo2021-10-05info:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTesis de maestriahttp://purl.org/coar/resource_type/c_bdccinfo:ar-repo/semantics/tesisDeMaestriaapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/131559https://doi.org/10.35537/10915/131559spainfo:eu-repo/semantics/altIdentifier/url/https://exactas.unsj.edu.ar/2021/10/05/nuevo-magister-en-informatica-en-exactas/info:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-sa/4.0/Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-09-03T11:05:10Zoai:sedici.unlp.edu.ar:10915/131559Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-09-03 11:05:10.826SEDICI (UNLP) - Universidad Nacional de La Platafalse
dc.title.none.fl_str_mv Comparación de enfoques de desarrollo HDL y HLL en FPGA para aplicaciones de procesamiento de imágenes
title Comparación de enfoques de desarrollo HDL y HLL en FPGA para aplicaciones de procesamiento de imágenes
spellingShingle Comparación de enfoques de desarrollo HDL y HLL en FPGA para aplicaciones de procesamiento de imágenes
Millón, Roberto Ariel
Ciencias Informáticas
FPGA
System on a chip
Image processing
High-Level Synthesis
Hardware Description Language
Verilog
Programming cost
Performance
title_short Comparación de enfoques de desarrollo HDL y HLL en FPGA para aplicaciones de procesamiento de imágenes
title_full Comparación de enfoques de desarrollo HDL y HLL en FPGA para aplicaciones de procesamiento de imágenes
title_fullStr Comparación de enfoques de desarrollo HDL y HLL en FPGA para aplicaciones de procesamiento de imágenes
title_full_unstemmed Comparación de enfoques de desarrollo HDL y HLL en FPGA para aplicaciones de procesamiento de imágenes
title_sort Comparación de enfoques de desarrollo HDL y HLL en FPGA para aplicaciones de procesamiento de imágenes
dc.creator.none.fl_str_mv Millón, Roberto Ariel
author Millón, Roberto Ariel
author_facet Millón, Roberto Ariel
author_role author
dc.contributor.none.fl_str_mv Rucci, Enzo
dc.subject.none.fl_str_mv Ciencias Informáticas
FPGA
System on a chip
Image processing
High-Level Synthesis
Hardware Description Language
Verilog
Programming cost
Performance
topic Ciencias Informáticas
FPGA
System on a chip
Image processing
High-Level Synthesis
Hardware Description Language
Verilog
Programming cost
Performance
dc.description.none.fl_txt_mv Desde su invención a medidados de los 90, las FPGA han destacado por su gran poder de cómputo, bajo consumo energético y alta flexibilidad al reconfigurar su arquitectura interna para adaptarse a las aplicaciones. Esto convirtió a las FPGA en una excelente alternativa frente a los ASIC que presentaban una arquitectura fija y prolongados tiempos de diseño y fabricación, a pesar que contaban con eficiencia energética y rendimientos superiores a otras tecnologías. Una de las áreas que más se favoreció con la incorporación de FPGA es el procesamiento digital de imágenes, la cual consiste de técnicas y algoritmos computacionales que se aplican sobre una imagen para extraer información de ella o mejorar sus características. A pesar de sus virtudes, las FPGA no tuvieron la aceptación esperada. Los lenguajes tradicionales de descripción de hardware (HDL) para programar FPGA como VHDL y Verilog resultaron poseer demasiadas palabras, ser complejos y propensos a errores. Esto, sumado a la creciente complejidad de los sistemas y los acotados tiempos de mercado, limitaron su uso.% a un grupo reducido de especialistas en hardware. Es por ello que desde el año 2000, los fabricantes comenzaron a ofrecer herramientas de desarrollo de alto nivel (HLS) como Catapult C, Bluespec y Autopilot para aumentar el nivel de abstracción y reducir la complejidad en el desarrollo de sistemas. Las HLS obtienen una descripción HDL del sistema a partir de un diseño en lenguaje de alto nivel (HLL) como C, C++ o System C. Esto permitió a los desarrolladores de software utilizar lenguajes de alto nivel para diseñar sistemas en FPGA y beneficiarse con las ventajas de esta tecnología. A su vez, los fabricantes comenzaron a incorporar núcleos de procesamiento x86 y ARM a las FPGA lo que favoreció aún mas el uso de HLL. Estas arquitecturas heterogeneas denominadas Sistemas en Chip (SoC) permitieron balancear la carga computacional entre software y hardware utilizando el mismo algoritmo de alto nivel. Sin embargo, los HLL fueron creados para desarrollar aplicaciones que ejecuten en procesadores secuenciales, por lo que presentaron algunos inconvenientes al ser utilizados en FPGA de naturaleza concurrente. Como consecuencia, los HLL incorporaron extensiones y directivas para suplir algunas falencias y permitir, entre otras cosas, sintetizar interfaces de comunicación, describir señales de cualquier longitud de bits y ejecutar tareas en forma concurrente. Por otro lado, se impusieron restricciones al lenguaje, por ejemplo, no permitir el uso de memoria dinámica. Por lo tanto, al momento de elegir un lenguaje de programación para FPGAs resulta indispensable conocer sus fortalezas y debilidades. Es por ello que esta investigación tiene como objetivo general comparar los enfoques de desarrollo HDL y HLL en FPGA con respecto a las prestaciones (rendimiento, uso de recursos y esfuerzo de programación) de sus implementaciones para aplicaciones de detección de contornos de imágenes. Para realizar el estudio comparativo, se eligió como caso de estudio un filtro de detección de contornos Sobel, ya que al ser un filtro convolucional, resulta representativo de muchos otros. Luego, se desarrollaron dos implementaciones completas y funcionales siguiendo los enfoques HDL y HLL. Ambas propuestas fueron sometidas a pruebas sobre una plataforma SoC ZYBO usando cuatro imágenes extraídas de repositorios públicos. El diseño, implementación e integración de cada sistema se realizó con las herramientas de Xilinx Vivado 2019.1, Vivado HLS 2019.1 y XSKD 2019.1, sin el uso de librerías de imagen/video, sistema operativo o software adicional. Los resultados obtenidos demostraron que la implementación HDL es levemente superior a la versión HLS en cuando a eficiencia en el uso de recursos y rendimiento. Respecto al primero, la versión HDL empleó menor cantidad de recursos aunque en ninguna de las implementaciones representó una restricción de diseño. En cuanto al rendimiento, la versión HDL obtuvo menor throughput, latencia y tiempo de ejecución. En el caso de este último, la versión en HDL alzanzó una aceleración mayor a 6x en la imagen de 512x512, aunque esa diferencia disminuyó al aumentar el tamaño de las imágenes obteniendo una aceleración de sólo 1.4x en la imagen de tamaño 1920x1080. Sin embargo, el esfuerzo de programación en la implementación de HDL fue significativamente mayor. El diseño en HDL requirió especificaciones de bajo nivel, como la descripción de interfaces AXI4 y el solapamiento de tareas, que complejizaron el algoritmo, a diferencia del diseño de alto nivel que resolvió ambas especificaciones por medio de directivas de compilador. En consecuencia, la descripción en HDL no sólo aumentó el tiempo de desarrollo sino que los diseños tuvieron más líneas de código (SLOC), fue más difícil de programar y menos reutilizable respecto a la versión de alto nivel. Luego del análisis de los resultados obtenidos se concluyó que el esfuerzo de programación requerido por HDL fue significativamente mayor respecto al de HLS y sólo se obtuvo una leve mejora en uso de recursos y rendimiento. En contextos similares a los de este estudio, HDL sólo resultaría conveniente en los diseños donde el uso de recursos y/o el tiempo de respuesta fueran parámetros de diseño sumamente críticos. De otra forma, HLS es una mejor opción que permite reducir significativamente el esfuerzo de programación y el tiempo de desarrollo.
Magíster en Informática
Universidad Nacional de San Juan
Facultad de Ciencias Exactas, Físicas y Naturales
description Desde su invención a medidados de los 90, las FPGA han destacado por su gran poder de cómputo, bajo consumo energético y alta flexibilidad al reconfigurar su arquitectura interna para adaptarse a las aplicaciones. Esto convirtió a las FPGA en una excelente alternativa frente a los ASIC que presentaban una arquitectura fija y prolongados tiempos de diseño y fabricación, a pesar que contaban con eficiencia energética y rendimientos superiores a otras tecnologías. Una de las áreas que más se favoreció con la incorporación de FPGA es el procesamiento digital de imágenes, la cual consiste de técnicas y algoritmos computacionales que se aplican sobre una imagen para extraer información de ella o mejorar sus características. A pesar de sus virtudes, las FPGA no tuvieron la aceptación esperada. Los lenguajes tradicionales de descripción de hardware (HDL) para programar FPGA como VHDL y Verilog resultaron poseer demasiadas palabras, ser complejos y propensos a errores. Esto, sumado a la creciente complejidad de los sistemas y los acotados tiempos de mercado, limitaron su uso.% a un grupo reducido de especialistas en hardware. Es por ello que desde el año 2000, los fabricantes comenzaron a ofrecer herramientas de desarrollo de alto nivel (HLS) como Catapult C, Bluespec y Autopilot para aumentar el nivel de abstracción y reducir la complejidad en el desarrollo de sistemas. Las HLS obtienen una descripción HDL del sistema a partir de un diseño en lenguaje de alto nivel (HLL) como C, C++ o System C. Esto permitió a los desarrolladores de software utilizar lenguajes de alto nivel para diseñar sistemas en FPGA y beneficiarse con las ventajas de esta tecnología. A su vez, los fabricantes comenzaron a incorporar núcleos de procesamiento x86 y ARM a las FPGA lo que favoreció aún mas el uso de HLL. Estas arquitecturas heterogeneas denominadas Sistemas en Chip (SoC) permitieron balancear la carga computacional entre software y hardware utilizando el mismo algoritmo de alto nivel. Sin embargo, los HLL fueron creados para desarrollar aplicaciones que ejecuten en procesadores secuenciales, por lo que presentaron algunos inconvenientes al ser utilizados en FPGA de naturaleza concurrente. Como consecuencia, los HLL incorporaron extensiones y directivas para suplir algunas falencias y permitir, entre otras cosas, sintetizar interfaces de comunicación, describir señales de cualquier longitud de bits y ejecutar tareas en forma concurrente. Por otro lado, se impusieron restricciones al lenguaje, por ejemplo, no permitir el uso de memoria dinámica. Por lo tanto, al momento de elegir un lenguaje de programación para FPGAs resulta indispensable conocer sus fortalezas y debilidades. Es por ello que esta investigación tiene como objetivo general comparar los enfoques de desarrollo HDL y HLL en FPGA con respecto a las prestaciones (rendimiento, uso de recursos y esfuerzo de programación) de sus implementaciones para aplicaciones de detección de contornos de imágenes. Para realizar el estudio comparativo, se eligió como caso de estudio un filtro de detección de contornos Sobel, ya que al ser un filtro convolucional, resulta representativo de muchos otros. Luego, se desarrollaron dos implementaciones completas y funcionales siguiendo los enfoques HDL y HLL. Ambas propuestas fueron sometidas a pruebas sobre una plataforma SoC ZYBO usando cuatro imágenes extraídas de repositorios públicos. El diseño, implementación e integración de cada sistema se realizó con las herramientas de Xilinx Vivado 2019.1, Vivado HLS 2019.1 y XSKD 2019.1, sin el uso de librerías de imagen/video, sistema operativo o software adicional. Los resultados obtenidos demostraron que la implementación HDL es levemente superior a la versión HLS en cuando a eficiencia en el uso de recursos y rendimiento. Respecto al primero, la versión HDL empleó menor cantidad de recursos aunque en ninguna de las implementaciones representó una restricción de diseño. En cuanto al rendimiento, la versión HDL obtuvo menor throughput, latencia y tiempo de ejecución. En el caso de este último, la versión en HDL alzanzó una aceleración mayor a 6x en la imagen de 512x512, aunque esa diferencia disminuyó al aumentar el tamaño de las imágenes obteniendo una aceleración de sólo 1.4x en la imagen de tamaño 1920x1080. Sin embargo, el esfuerzo de programación en la implementación de HDL fue significativamente mayor. El diseño en HDL requirió especificaciones de bajo nivel, como la descripción de interfaces AXI4 y el solapamiento de tareas, que complejizaron el algoritmo, a diferencia del diseño de alto nivel que resolvió ambas especificaciones por medio de directivas de compilador. En consecuencia, la descripción en HDL no sólo aumentó el tiempo de desarrollo sino que los diseños tuvieron más líneas de código (SLOC), fue más difícil de programar y menos reutilizable respecto a la versión de alto nivel. Luego del análisis de los resultados obtenidos se concluyó que el esfuerzo de programación requerido por HDL fue significativamente mayor respecto al de HLS y sólo se obtuvo una leve mejora en uso de recursos y rendimiento. En contextos similares a los de este estudio, HDL sólo resultaría conveniente en los diseños donde el uso de recursos y/o el tiempo de respuesta fueran parámetros de diseño sumamente críticos. De otra forma, HLS es una mejor opción que permite reducir significativamente el esfuerzo de programación y el tiempo de desarrollo.
publishDate 2021
dc.date.none.fl_str_mv 2021-10-05
dc.type.none.fl_str_mv info:eu-repo/semantics/masterThesis
info:eu-repo/semantics/acceptedVersion
Tesis de maestria
http://purl.org/coar/resource_type/c_bdcc
info:ar-repo/semantics/tesisDeMaestria
format masterThesis
status_str acceptedVersion
dc.identifier.none.fl_str_mv http://sedici.unlp.edu.ar/handle/10915/131559
https://doi.org/10.35537/10915/131559
url http://sedici.unlp.edu.ar/handle/10915/131559
https://doi.org/10.35537/10915/131559
dc.language.none.fl_str_mv spa
language spa
dc.relation.none.fl_str_mv info:eu-repo/semantics/altIdentifier/url/https://exactas.unsj.edu.ar/2021/10/05/nuevo-magister-en-informatica-en-exactas/
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by-nc-sa/4.0/
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-sa/4.0/
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:SEDICI (UNLP)
instname:Universidad Nacional de La Plata
instacron:UNLP
reponame_str SEDICI (UNLP)
collection SEDICI (UNLP)
instname_str Universidad Nacional de La Plata
instacron_str UNLP
institution UNLP
repository.name.fl_str_mv SEDICI (UNLP) - Universidad Nacional de La Plata
repository.mail.fl_str_mv alira@sedici.unlp.edu.ar
_version_ 1842260552500379648
score 13.13397