Escribiendo código RTL con Rust

dc.contributor.advisorDel Barrio García, Alberto Antonio
dc.contributor.authorLópez Centenera, Óscar
dc.contributor.authorCabañés Sorensen, Christina
dc.date.accessioned2025-09-19T14:34:20Z
dc.date.available2025-09-19T14:34:20Z
dc.date.issued2025
dc.degree.titleGrado en Ingeniería de Computadores
dc.descriptionTrabajo de Fin de Grado en Ingeniería de Computadores, Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2024/2025
dc.description.abstractEl objetivo de este Trabajo de Fin de Grado es explorar las posibilidades prácticas del lenguaje de programación de alto nivel Rust en el diseño de circuitos digitales, utilizando la biblioteca Rust-HDL. A través del desarrollo de proyectos concretos (como un sumador combinacional, un reconocedor de patrones y un multiplicador escalar secuencial) se pretende evaluar la eficacia de Rust como herramienta alternativa a los lenguajes tradicionales de descripción hardware, especialmente Verilog. Para ello, se han implementado versiones equivalentes de cada uno de los diseños tanto en Rust-HDL como en Verilog, y se han realizado comparaciones en términos de consumo de recursos, tiempos de ejecución y facilidad de desarrollo. Las herramientas utilizadas para el análisis incluyen simuladores como GTKWave y herramientas de síntesis como Yosys, además de herramientas propias del ecosistema Rust como ’cargo run’y ’cargo test’. Este trabajo tiene como objetivo principal determinar si Rust puede considerarse una opción viable y eficiente para el diseño hardware a nivel profesional, especialmente en proyectos de mayor escala.
dc.description.abstractThe objective of this Bachelor’s Thesis is to explore the practical capabilities of the low-level programming language Rust in the design of digital circuits, using the Rust-HDL library. Through the development of specific projects (such as a combinational adder, a pattern recognizer, and a sequential scalar multiplier) we aim to evaluate Rust’s effectiveness as an alternative to traditional hardware description languages, particularly Verilog. To this end, equivalent designs have been implemented in both Rust-HDL and Verilog, and comparisons have been made in terms of resource usage, execution time, and development ease. The analysis relies on tools such as GTKWave for simulation, Yosys for synthesis, and Rust’s own toolchain via ’cargo run’ and ’cargo test’. The main goal of this work is to assess whether Rust can be considered a viable and efficient option for professional-scale hardware design projects.
dc.description.departmentDepto. de Arquitectura de Computadores y Automática
dc.description.facultyFac. de Informática
dc.description.refereedTRUE
dc.description.statusunpub
dc.identifier.urihttps://hdl.handle.net/20.500.14352/124154
dc.language.isospa
dc.page.total72
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internationalen
dc.rights.accessRightsopen access
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/
dc.subject.cdu004(043.3)
dc.subject.keywordRust
dc.subject.keywordRust-HDL
dc.subject.keywordVerilog
dc.subject.keywordExploración
dc.subject.keywordDiseño
dc.subject.keywordEficiencia
dc.subject.keywordRendimiento
dc.subject.keywordSintesis
dc.subject.keywordExploration
dc.subject.keywordDesign
dc.subject.keywordEfficiency
dc.subject.keywordPerformance
dc.subject.keywordSynthesis.
dc.subject.ucmInformática (Informática)
dc.subject.unesco33 Ciencias Tecnológicas
dc.titleEscribiendo código RTL con Rust
dc.titleWriting RTL code with Rust
dc.typebachelor thesis
dc.type.hasVersionAM
dspace.entity.typePublication
relation.isAdvisorOfPublication53f86d34-b560-4105-a0bc-a8d1994153ab
relation.isAdvisorOfPublication.latestForDiscovery53f86d34-b560-4105-a0bc-a8d1994153ab

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Escribiendo_codigo_RTL.pdf
Size:
2.02 MB
Format:
Adobe Portable Document Format