Acceleració FPGA de la verificación de Circuits Digitals dissenyats amb Python
Oliva Abelló, Ariadna
Castells-Rufas, David tut. (Universitat Autònoma de Barcelona. Departament d'Arquitectura de Computadors i Sistemes Operatius)
Universitat Autònoma de Barcelona. Escola d'Enginyeria

Títol variant: FPGA acceleration of the verification of Digital Circuits designed with Python
Títol variant: Aceleración en FPGA de la verificación de Circuitos Digitales diseñados con Python
Data: 2026
Resum: La verificació de circuits digitals és un procés essencial però costós en temps de càlcul, especialment en dissenys de gran complexitat. Les eines de simulació purament software ofereixen flexibilitat i control, però presenten limitacions de rendiment. D’altra banda, la implementació completa en FPGA proporciona velocitat d’execució, però redueix la capacitat de depuració. Aquest treball proposa una aproximació híbrida de tipus Hardware-in-the-Loop que combina la simulació en Python, mitjançant la llibreria py4hw, amb l’execució del circuit sota test (DUT) sobre una FPGA AMD Alveo U55C connectada via PCI Express (PCIe). El control de la verificació es manté en py4hw, mentre que el càlcul del DUT es delega al hardware. S’ha dissenyat i implementat una arquitectura que, a partir d’un DUT descrit en py4hw, n’obté automàticament els ports, l’adapta a canals AXI4-Stream mitjançant un wrapper i genera el binari executable per a la FPGA mitjançant el flux de Vitis i el runtime XRT. La plataforma s’ha validat amb dos circuits (un mòdul aritmètic Add/Sub i un convertidor de color RGB a YCbCr) comprovant que les sortides obtingudes sobre la FPGA coincideixen bit a bit amb les de la simulació software de py4hw. El projecte constitueix una base per a futurs desenvolupaments en entorns de co-simulació FPGA-Python i per a l’automatització del flux de verificació en el disseny digital.
Resum: The verification of digital circuits is an essential process, but it is costly in terms of computation time, especially in highly complex designs. Purely software-based simulation tools provide flexibility and control, but they present performance limitations. On the other hand, a complete FPGA implementation provides execution speed, but reduces debugging capability. This work proposes a hybrid Hardware-in-the-Loop approach that combines Python-based simulation, through the py4hw library, with the execution of the Design Under Test (DUT) on an AMD Alveo U55C FPGA connected via PCI Express (PCIe). Verification control remains in py4hw, while the DUT computation is delegated to hardware. An architecture has been designed and implemented that, starting from a DUT described in py4hw, automatically extracts its ports, adapts them to AXI4-Stream channels through a wrapper, and generates the executable binary for the FPGA using the Vitis flow and the XRT runtime. The platform has been validated with two circuits (an Add/Sub arithmetic module and an RGB-to-YCbCr colour-space converter) confirming that the outputs obtained on the FPGA match, bit by bit, those of the py4hw software simulation. The project provides a basis for future developments in FPGA-Python co-simulation environments and for the automation of the verification flow in digital design.
Resum: La verificación de circuitos digitales es un proceso esencial, pero costoso en tiempo de cálculo, especialmente en diseños de gran complejidad. Las herramientas de simulación puramente software ofrecen flexibilidad y control, pero presentan limitaciones de rendimiento. Por otro lado, la implementación completa en FPGA proporciona velocidad de ejecución, pero reduce la capacidad de depuración. Este trabajo propone una aproximación híbrida de tipo Hardware-in-the-Loop que combina la simulación en Python, mediante la librería py4hw, con la ejecución del circuito bajo prueba (DUT) sobre una FPGA AMD Alveo U55C conectada mediante PCI Express (PCIe). El control de la verificación se mantiene en py4hw, mientras que el cálculo del DUT se delega al hardware. Se ha diseñado e implementado una arquitectura que, a partir de un DUT descrito en py4hw, obtiene automáticamente sus puertos, lo adapta a canales AXI4-Stream mediante una envoltura y genera el binario ejecutable para la FPGA mediante el flujo de Vitis y el runtime XRT. La plataforma se ha validado con dos circuitos (un módulo aritmético Add/Sub y un convertidor de color RGB a YCbCr) comprobando que las salidas obtenidas sobre la FPGA coinciden bit a bit con las de la simulación software de py4hw. El proyecto constituye una base para futuros desarrollos en entornos de co-simulación FPGA-Python y para la automatización del flujo de verificación en el diseño digital.
Drets: Aquest document està subjecte a una llicència d'ús Creative Commons. Es permet la reproducció total o parcial, la distribució, la comunicació pública de l'obra i la creació d'obres derivades, sempre i quan aquestes es distribueixin sota la mateixa llicència que regula l'obra original i es reconegui l'autoria. Creative Commons
Llengua: Català
Titulació: Grau en Enginyeria de Sistemes de Telecomunicació [956]
Pla d'estudis: Treball de Final de Grau [106538]
Document: Treball final de grau
Matèria: FPGA ; Hardware-in-the-Loop ; Verificació digital ; Py4hw ; Vitis/XRT ; AXI4-Stream ; Co-simulació hardware/software ; Digital verification ; Hardware/software co-simulation ; Verificación digital ; Co-simulación hardware/software



96 p, 9.0 MB

El registre apareix a les col·leccions:
Documents de recerca > Treballs de final de grau > Escola d'Enginyeria. TFG

 Registre creat el 2026-09-04, darrera modificació el 2026-09-06



   Favorit i Compartir