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...
- 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 |