Panel Sources de Vivado

1.9 Verificación hardware

Verificación hardware

Una vez completadas las etapas de síntesis e implementación, el diseño ha pasado de ser una descripción abstracta en VHDL a un circuito físico enrutado dentro de la FPGA. Sin embargo, este diseño reside aún en el entorno de software. Para cerrar el ciclo de desarrollo, es necesario trasladar esta configuración al dispositivo físico.

Este proceso final se divide en tres fases: la generación del archivo de configuración, la programación del dispositivo y la validación funcional.

1.9.1. Generación del Bitstream

En Flow Navigator, hacer doble clic en

Program and Debug ‣ Generate bitstream

El resultado se encuentra en la carpeta ./vivado/lab.runs/impl_1/ con el nombre alu.bit.

Esta etapa es el «paso final» del flujo de diseño FPGA. La herramienta toma la netlist completamente ruteada (Placed & Routed) y la traduce a un bitfile (lab.bit).

  • Propósito: Este archivo binario contiene la información exacta para configurar cada celda lógica (LUT) y cada conexión (rutas de interconexión).

  • Comprobación de Reglas (DRC): Antes de escribir el archivo, Vivado ejecuta un último chequeo de reglas de diseño (DRC) para asegurar que no hay conflictos físicos (como pines solapados o bancos con voltajes incompatibles).

1.9.2. Descarga en la Placa (Hardware Manager)

La transferencia del bitstream a la FPGA se realiza típicamente mediante el p rotocolo JTAG (Joint Test Action Group).

  • El Proceso: A través del puerto USB de la tarjeta Basys3, el Hardware Manager de Vivado se comunica con el controlador de la placa. El archivo .bit se carga directamente en la memoria SRAM de configuración de la FPGA Artix-7.

  • Volatilidad: Es importante notar que esta programación es volátil. Al desconectar la alimentación, la FPGA «olvida» la configuración.

  • Indicador de Éxito: La señal visual de que el proceso ha concluido correctamente es el encendido del LED «DONE» en la placa, indicando que la FPGA ha despertado y está operando según el nuevo diseño.

1.9.3. Verificación en Hardware

Esta es la prueba final. A diferencia de la simulación, donde el entorno es ideal, aquí el diseño se enfrenta al mundo real. Realizaremos las pruebas siguientes:

  • Validación de Restricciones: Se confirma empíricamente que el archivo 02_basys3_io.xdc es correcto. Ej.: si al mover el Switch 0 se enciende el LED correspondiente.

  • Prueba de Caja Negra: Realizamos la verificación del diseño como una prueba de caja negra. No se inspecciona el funcionamiento interno del diseño, sino que se evalúa su comportamiento a través de las entradas y salidas físicas. Se estimulan las entradas (Switches y Botones) y se observa la respuesta en las salidas (LEDs).

    Prueba hardware

    Prepara una tabla de pruebas con combinaciones de entradas y los resultados esperados. Verifica que se cumplen en el hardware.

fig1

Ejercicio de repaso

Se propone un ejercicio para repasar y afianzar los conceptos aprendidos en este laboratorio:

  1. Modifica el diseño VHDL para añadir una nueva operación a la ALU, por ejemplo, una operación de resta A - B. Actualiza tanto el módulo alu.vhd como el banco de pruebas alu_tb.vhd para incluir esta nueva funcionalidad.

  2. Repite todo el flujo de diseño: creación del proyecto, simulación, síntesis, implementación, generación del bitstream, programación de la FPGA y verificación en hardware.