Evaluación de SoftCore PicoRV32 en TinyFPGABX

"En este documento se evalúa al procesador PicoRV32 por medio del SoC PicoSoC en la TinyFPGA BX. Para esto, se prueba la tarjeta TinyFPGA BX utilizando un ejemplo de Blink Led en Verilog para familiarizarse con esta. Luego, se prueba el SoC PicoSoC con un proyecto de Blink Led utilizando el pro...

Full description

Autores:
Sarmiento Pinilla, Carlos Mario
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2019
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
spa
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/44607
Acceso en línea:
http://hdl.handle.net/1992/44607
Palabra clave:
Controladores programables
Verilog (Lenguaje descriptivo de hardware de computadores)
Microcontrolador PicoRV32
Circuitos electrónicos
Ingeniería
Rights
openAccess
License
https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdf
id UNIANDES2_d64e9ff50ee29a12199e36317cd0d266
oai_identifier_str oai:repositorio.uniandes.edu.co:1992/44607
network_acronym_str UNIANDES2
network_name_str Séneca: repositorio Uniandes
repository_id_str
dc.title.es_CO.fl_str_mv Evaluación de SoftCore PicoRV32 en TinyFPGABX
title Evaluación de SoftCore PicoRV32 en TinyFPGABX
spellingShingle Evaluación de SoftCore PicoRV32 en TinyFPGABX
Controladores programables
Verilog (Lenguaje descriptivo de hardware de computadores)
Microcontrolador PicoRV32
Circuitos electrónicos
Ingeniería
title_short Evaluación de SoftCore PicoRV32 en TinyFPGABX
title_full Evaluación de SoftCore PicoRV32 en TinyFPGABX
title_fullStr Evaluación de SoftCore PicoRV32 en TinyFPGABX
title_full_unstemmed Evaluación de SoftCore PicoRV32 en TinyFPGABX
title_sort Evaluación de SoftCore PicoRV32 en TinyFPGABX
dc.creator.fl_str_mv Sarmiento Pinilla, Carlos Mario
dc.contributor.advisor.none.fl_str_mv Segura Quijano, Fredy Enrique
dc.contributor.author.none.fl_str_mv Sarmiento Pinilla, Carlos Mario
dc.contributor.jury.none.fl_str_mv Guerrero Hurtado, Mauricio
dc.subject.armarc.es_CO.fl_str_mv Controladores programables
Verilog (Lenguaje descriptivo de hardware de computadores)
Microcontrolador PicoRV32
Circuitos electrónicos
topic Controladores programables
Verilog (Lenguaje descriptivo de hardware de computadores)
Microcontrolador PicoRV32
Circuitos electrónicos
Ingeniería
dc.subject.themes.none.fl_str_mv Ingeniería
description "En este documento se evalúa al procesador PicoRV32 por medio del SoC PicoSoC en la TinyFPGA BX. Para esto, se prueba la tarjeta TinyFPGA BX utilizando un ejemplo de Blink Led en Verilog para familiarizarse con esta. Luego, se prueba el SoC PicoSoC con un proyecto de Blink Led utilizando el procesador PicoRV32. A partir de este proyecto se realizan desarrollos personalizados en los que se incluyen funcionalidades tales como punto flotante, negativos, etc. Paralelamente se realiza una implementación de un proyecto de robótica en Arduino. Este proyecto utiliza odometría, así como funciones exponenciales y similares para guiar un robot desde un punto inicial hasta un punto final. Se escogió al Arduino como comparación al tener una manera similar de programación en C, así como múltiples funciones nativas y un procesador de igual velocidad al de la TinyFPGA. Se desarrollaron módulos en Verilog personalizados de Clock, PWM y lectura de Encoders para poder utilizar el paralelismo y velocidad de Verilog como soporte al algoritmo implementado. Se desarrollaron métricas personalizadas para comparar los 2 procesadores, estas métricas incluyen los siguientes puntos a evaluar: Tiempo de acceso a memoria, Tiempo de ciclo del algoritmo, potencia consumida, error final de llegada, tiempo final de llegada y memoria utilizada. En cuanto al algoritmo, se realizaron 3 caminos diferentes para probar: punto delante, punto detrás y zig-zag. En el Arduino se tomaron datos de todas estas métricas. En la TinyFPGA se tomaron datos de todas las métricas excepto error final de llegada y tiempo final de llegada, debido a que el algoritmo nunca lograba converger. En todos los casos excepto consumo de potencia, el Arduino logró obtener mejores resultados que en la TinyFPGA, pero se es necesario realizar una implementación ASIC para obtener una mejor comparación en otras tecnologías posiblemente con resultados diferentes."--Tomado del Formato de Documento de Grado.
publishDate 2019
dc.date.issued.none.fl_str_mv 2019
dc.date.accessioned.none.fl_str_mv 2020-09-03T14:56:30Z
dc.date.available.none.fl_str_mv 2020-09-03T14:56:30Z
dc.type.spa.fl_str_mv Trabajo de grado - Pregrado
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/TP
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/1992/44607
dc.identifier.pdf.none.fl_str_mv u830756.pdf
dc.identifier.instname.spa.fl_str_mv instname:Universidad de los Andes
dc.identifier.reponame.spa.fl_str_mv reponame:Repositorio Institucional Séneca
dc.identifier.repourl.spa.fl_str_mv repourl:https://repositorio.uniandes.edu.co/
url http://hdl.handle.net/1992/44607
identifier_str_mv u830756.pdf
instname:Universidad de los Andes
reponame:Repositorio Institucional Séneca
repourl:https://repositorio.uniandes.edu.co/
dc.language.iso.es_CO.fl_str_mv spa
language spa
dc.rights.uri.*.fl_str_mv https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdf
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdf
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.es_CO.fl_str_mv 33 hojas
dc.format.mimetype.es_CO.fl_str_mv application/pdf
dc.publisher.es_CO.fl_str_mv Universidad de los Andes
dc.publisher.program.es_CO.fl_str_mv Ingeniería Electrónica
dc.publisher.faculty.es_CO.fl_str_mv Facultad de Ingeniería
dc.publisher.department.es_CO.fl_str_mv Departamento de Ingeniería Eléctrica y Electrónica
dc.source.es_CO.fl_str_mv instname:Universidad de los Andes
reponame:Repositorio Institucional Séneca
instname_str Universidad de los Andes
institution Universidad de los Andes
reponame_str Repositorio Institucional Séneca
collection Repositorio Institucional Séneca
bitstream.url.fl_str_mv https://repositorio.uniandes.edu.co/bitstreams/c5249093-0674-4aa2-8ad5-911334abb653/download
https://repositorio.uniandes.edu.co/bitstreams/fd55899c-be74-4d17-83ea-14cbbf213600/download
https://repositorio.uniandes.edu.co/bitstreams/92e48c0c-b319-46b4-a758-97d6b827288a/download
bitstream.checksum.fl_str_mv d4416fe0194772d5ab26a0d8bd59e7a1
1edfed4842db5ba43e0930297320e041
3cf8ecb91e586e8ba138fc731b48b2b2
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio institucional Séneca
repository.mail.fl_str_mv adminrepositorio@uniandes.edu.co
_version_ 1818112067114106880
spelling Al consultar y hacer uso de este recurso, está aceptando las condiciones de uso establecidas por los autores.https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdfinfo:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Segura Quijano, Fredy Enriquebce73583-d8ba-4926-b851-58728193ee7f400Sarmiento Pinilla, Carlos Mario2e374958-3a81-4b29-9881-b32743205f19400Guerrero Hurtado, Mauricio2020-09-03T14:56:30Z2020-09-03T14:56:30Z2019http://hdl.handle.net/1992/44607u830756.pdfinstname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/"En este documento se evalúa al procesador PicoRV32 por medio del SoC PicoSoC en la TinyFPGA BX. Para esto, se prueba la tarjeta TinyFPGA BX utilizando un ejemplo de Blink Led en Verilog para familiarizarse con esta. Luego, se prueba el SoC PicoSoC con un proyecto de Blink Led utilizando el procesador PicoRV32. A partir de este proyecto se realizan desarrollos personalizados en los que se incluyen funcionalidades tales como punto flotante, negativos, etc. Paralelamente se realiza una implementación de un proyecto de robótica en Arduino. Este proyecto utiliza odometría, así como funciones exponenciales y similares para guiar un robot desde un punto inicial hasta un punto final. Se escogió al Arduino como comparación al tener una manera similar de programación en C, así como múltiples funciones nativas y un procesador de igual velocidad al de la TinyFPGA. Se desarrollaron módulos en Verilog personalizados de Clock, PWM y lectura de Encoders para poder utilizar el paralelismo y velocidad de Verilog como soporte al algoritmo implementado. Se desarrollaron métricas personalizadas para comparar los 2 procesadores, estas métricas incluyen los siguientes puntos a evaluar: Tiempo de acceso a memoria, Tiempo de ciclo del algoritmo, potencia consumida, error final de llegada, tiempo final de llegada y memoria utilizada. En cuanto al algoritmo, se realizaron 3 caminos diferentes para probar: punto delante, punto detrás y zig-zag. En el Arduino se tomaron datos de todas estas métricas. En la TinyFPGA se tomaron datos de todas las métricas excepto error final de llegada y tiempo final de llegada, debido a que el algoritmo nunca lograba converger. En todos los casos excepto consumo de potencia, el Arduino logró obtener mejores resultados que en la TinyFPGA, pero se es necesario realizar una implementación ASIC para obtener una mejor comparación en otras tecnologías posiblemente con resultados diferentes."--Tomado del Formato de Documento de Grado."This document evaluates the PicoRV32 processor using the SoC PicoSoC on the TinyFPGA BX. In order to do this, the TinyFPGA BX board is tested using a Blink Led example in Verilog to become familiarized with it. Then, the SoC PicoSoC is tested with a Blink Led project using the PicoRV32 processor. From this project, custom developments are made that include features such as floating point, negatives, etc. At the same time, a robotics project was implemented in Arduino. This project implements odometry, as well as exponential and similar functions to guide a robot from an initial point to an end point. The Arduino was chosen as a comparison board because its programming is similar, as well as multiple native functions and a processor of equal speed to the TinyFPGA. Customized Verilog modules of Clock, PWM and Encoder reading were developed in order to use Verilog's parallelism and speed to support the implemented algorithm. Custom metrics were developed to compare the 2 processors, these metrics include the following points to evaluate: Memory Access Time, Algorithm Cycle Time, Power Consumption, Final Arrival Error, Final Arrival Time and Memory Used. As for the algorithm, 3 different paths were made to test it: point ahead, point behind and zig-zag. In the Arduino, data was taken from all these metrics. In the TinyFPGA, data was taken from all the metrics except final arrival error and final arrival time, because the algorithm never managed to converge. In all cases except power consumption, the Arduino was able to obtain better results than the TinyFPGA, but an ASIC implementation is necessary to obtain a better comparison in other technologies possibly with different results."--Tomado del Formato de Documento de Grado.Ingeniero ElectrónicoPregrado33 hojasapplication/pdfspaUniversidad de los AndesIngeniería ElectrónicaFacultad de IngenieríaDepartamento de Ingeniería Eléctrica y Electrónicainstname:Universidad de los Andesreponame:Repositorio Institucional SénecaEvaluación de SoftCore PicoRV32 en TinyFPGABXTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fhttp://purl.org/coar/version/c_970fb48d4fbd8a85Texthttp://purl.org/redcol/resource_type/TPControladores programablesVerilog (Lenguaje descriptivo de hardware de computadores)Microcontrolador PicoRV32Circuitos electrónicosIngenieríaPublicationTEXTu830756.pdf.txtu830756.pdf.txtExtracted texttext/plain85461https://repositorio.uniandes.edu.co/bitstreams/c5249093-0674-4aa2-8ad5-911334abb653/downloadd4416fe0194772d5ab26a0d8bd59e7a1MD54THUMBNAILu830756.pdf.jpgu830756.pdf.jpgIM Thumbnailimage/jpeg8171https://repositorio.uniandes.edu.co/bitstreams/fd55899c-be74-4d17-83ea-14cbbf213600/download1edfed4842db5ba43e0930297320e041MD55ORIGINALu830756.pdfapplication/pdf292610https://repositorio.uniandes.edu.co/bitstreams/92e48c0c-b319-46b4-a758-97d6b827288a/download3cf8ecb91e586e8ba138fc731b48b2b2MD511992/44607oai:repositorio.uniandes.edu.co:1992/446072023-10-10 19:46:46.409https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdfopen.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.co