0% encontró este documento útil (0 votos)
14 vistas7 páginas

Practica 3

El documento presenta un trabajo práctico sobre el uso de FPGAs, específicamente el modelo Xilinx Spartan-6 XC6SLX9, en el contexto de la materia de Diseño Digital con VHDL. Se describen las características de los dispositivos programables, la teoría detrás de los FPGAs, su programación y configuración, así como los módulos y recursos de la tarjeta utilizada. Además, se incluye un ejemplo de código en VHDL para demostrar el funcionamiento de la tarjeta al controlar LEDs.

Cargado por

César Juárez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas7 páginas

Practica 3

El documento presenta un trabajo práctico sobre el uso de FPGAs, específicamente el modelo Xilinx Spartan-6 XC6SLX9, en el contexto de la materia de Diseño Digital con VHDL. Se describen las características de los dispositivos programables, la teoría detrás de los FPGAs, su programación y configuración, así como los módulos y recursos de la tarjeta utilizada. Además, se incluye un ejemplo de código en VHDL para demostrar el funcionamiento de la tarjeta al controlar LEDs.

Cargado por

César Juárez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Instituto Tecnológico de Puebla

Ingeniería: Electrónica

Materia: Diseño digital con VHDL

Trabajo: Practica 3 (FPGA)

Alumno: Lionel Alexander Reyes Martínez

Profesor: José Estaban Torres León

Periodo: Enero-junio

Semestre: 6to
 Dispositivos programables
Son circuitos integrados que pueden ser configurados para realizar diferentes
funciones.
Características
Son reprogramables, lo que les da una gran flexibilidad
Son una buena opción para la creación de prototipos
Son una buena opción para la computación de alto rendimiento (HPC)
Son una buena opción para la diferenciación en un entorno que cambia
rápidamente

 Teoría de los FPGAs


Los FPGAs (Field-Programmable Gate Arrays) son circuitos integrados
programables diseñados para implementar funciones lógicas de manera flexible. A
diferencia de los ASICs (Application-Specific Integrated Circuits), que tienen una
configuración fija, los FPGAs pueden ser reprogramados cuantas veces sea
necesario para adaptarse a diferentes aplicaciones.

Un FPGA está compuesto por los siguientes bloques principales:

🔹 Matriz de Celdas Lógicas (CLBs - Configurable Logic Blocks)


Contienen LUTs (Look-Up Tables), multiplexores y flip-flops.
Se utilizan para implementar funciones lógicas y almacenamiento de datos.
🔹 Conexiones Programables (Routing Fabric)

Interconectan las CLBs y otros bloques del FPGA.


Permiten cambiar la configuración del circuito sin necesidad de hardware
adicional.
🔹 Bloques de Entrada/Salida (I/O Blocks)

Se encargan de la comunicación entre el FPGA y dispositivos externos.


Soportan distintos estándares de señal como LVTTL, LVCMOS, PCI, entre otros.
🔹 Bloques Especializados

Algunos FPGAs incluyen:


✔ Memorias RAM embebidas → Para almacenamiento interno.
✔ Multiplicadores y DSPs (Digital Signal Processing Units) → Para cálculos de alta
velocidad.
✔ Interfaces de Alta Velocidad → USB, Ethernet, PCIe.

Programación y Configuración
Los FPGAs no ejecutan instrucciones como una CPU; en cambio, su hardware se
configura para realizar una tarea específica. Esta configuración se hace a través
de:
✅ Lenguajes de Descripción de Hardware (HDL) como VHDL y Verilog.
✅ Herramientas CAD como Xilinx ISE, Vivado, Quartus Prime (Intel).
✅ Archivos de configuración (Bitstream) que definen la interconexión interna del
FPGA.

 Descripción de la tarjeta FPGA a utilizar (módulos)

1. FPGA Principal
Modelo: Xilinx Spartan-6 XC6SLX9
Recursos Internos:
11,440 Flip-Flops
576 Kb de Block RAM
16 Slices DSP
Frecuencia de Reloj: Oscilador integrado de 50 MHz

2. Memoria
Block RAM: Integrada en el FPGA, con una capacidad total de 576 Kb, adecuada
para almacenamiento temporal de datos y buffers.

3. Alimentación
Fuentes de Voltaje:
3.3V y 1.2V para el FPGA, derivadas de una entrada de 5V proporcionada por el
puerto USB.
Control de Energía: Interruptor de encendido ubicado sobre el puerto USB de
programación, permitiendo un fácil control de la alimentación de la tarjeta.

4. Interfaces de Entrada/Salida
Entradas:
8 interruptores DIP para señales digitales.
Botón de reinicio para restablecer el sistema.
Salidas:
8 LEDs indicadores para visualización de estados lógicos.

5. Puertos de Expansión
Conectores:
Dos puertos de expansión (P1 y P2) que ofrecen acceso a 36 pines de propósito
general (GPIO), facilitando la conexión con módulos externos y protoboards.
Compatibilidad: Posibilidad de conectar módulos adicionales como ADCs o DACs
para manejo de señales analógicas.
6. Programación y Depuración
Conexión USB: Puerto USB para programación y comunicación, compatible con el
software de desarrollo Xilinx ISE Design Suite.
Software de Programación: Compatible con herramientas como Xilinx ISE y el
software INTegra, desarrollado específicamente para la programación de la AMIBA
2.

1. Crear un Proyecto:
Abre Xilinx ISE y crea un nuevo proyecto. Asegúrate de seleccionar el dispositivo
correcto, que sería Spartan-6 XC6SLX9 para la AMIBA2.
2. Escribir el Código HDL:
Abre el editor de código y escribe el diseño en VHDL o Verilog, describiendo la
lógica que deseas implementar en la FPGA.
3. Síntesis (Synthesis):
Ejecuta el proceso de síntesis para convertir el código HDL en una netlist
optimizada que pueda ser implementada en la FPGA.
4. Simulación:
Utiliza ISim para realizar simulaciones funcionales y verificar que el
comportamiento de tu diseño es el esperado.
5. Implementación (Place and Route):
Después de la síntesis, realiza la implementación para asignar el diseño a los
recursos físicos del FPGA (por ejemplo, LUTs, Flip-Flops, etc.).
6. Generación de Bitstream:
Después de la implementación, genera el archivo bitstream que contiene la
configuración final para la FPGA.
7. Programación:
Utiliza la herramienta iMPACT para cargar el archivo bitstream en la tarjeta
AMIBA2 mediante el puerto USB.
 Mostrar el uso de la tarjeta con un ejemplo
CODIGO:

Port ( clk : in STD_LOGIC; -- Reloj de la FPGA (50 MHz)

reset : in STD_LOGIC; -- Botón de reset

leds : out STD_LOGIC_VECTOR (1 downto 0) -- Salida a 2 LEDs

);

end LED_Toggle;

architecture Behavioral of LED_Toggle is

signal counter : STD_LOGIC_VECTOR (23 downto 0) := (others => '0');


-- Contador para dividir frecuencia

signal led_state : STD_LOGIC_VECTOR (1 downto 0) := "01"; -- Estado


inicial de los LEDs

end process;

end Behavioral;

Ejemplo básico del uso de la tarjeta Amiba2, solo para demostrar su


funcionamiento en el uso de encender dos diferentes tipos de leds y sus
diferentes colores .

También podría gustarte