Documente Academic
Documente Profesional
Documente Cultură
Facultad de Ingenierı́a
Laboratorio Electrónica
Ventajas
• Rendimiento (Paralelismo y
Desventajas
Algoritmos)
• Precio
• Tiempo en llegar al mercado
• Entornos de desarrollo de
• Precio
propietarios
• Fiabilidad
• Lenguaje Complejo
• Mantenimiento a largo plazo
• Hardware a la medida
3 de 52
FPGA vs Micro
4 de 52
Aplicaciones
5 de 52
FPGA
6 de 52
Elbert V2 - Spartan 3A
• FPGA: Spartan XC3S50A
• 16 Mb SPI flash memory.
• USB 2.0 interface for On-board
flash programming.
• ELBERT V2 es una FPGA
• FPGA configuration via JTAG
simple pero versátil para el
and USB
aprendizaje y desarrollo.
• 8 LEDs ,6 Push Buttons, 3
• Una excelente opción para
Seven Segment Displays, DIP
aprender y experimentar en el
switch.
diseño de sistemas con FPGA.
• VGA output, Stereo audio out,
Micro SD card adapter.
• 39 IOs for user defined purposes
• On-board voltage regulators.
7 de 52
Very high-speed ICs Hardware Description Language
(VHDL)
8 de 52
Origen VHDL
9 de 52
¿Para qué sirve VHDL?
VHDL nos permite modelar sistemas digitales los cuales nos permiten:
10 de 52
Sistemas Digitales
11 de 52
Estructura de un modulo VHDL
Prueba.vhdl
Prueba.vhdl
12 de 52
Estructura de un modulo VHDL
13 de 52
IEEE 1164
14 de 52
Entidad
Se inicia la declaracion de puertos con el comando:
• Port(
Se termina la declaracion de puertos con:
• );
La sintaxis es la siguiente:
• Nombre: modo TIPO;
Modo:
• in: Una señal que entra en la entidad y no sale. La señal puede ser
leı́da pero no escrita.
• out: Una señal que entra en la entidad y no sale. La señal puede
ser leı́da pero no escrita.
• inout: Una señal que es bidireccional, entrada/salida de la entidad.
15 de 52
Flip Flop.vhdl
16 de 52
Identificadores
17 de 52
Señales
18 de 52
Si la señal se utiliza dentro de una arquitectura:
Tipo:
• std logic
• std logic vector
• unsigned
• signed
• integer
19 de 52
Asignación de señales
20 de 52
Dependiendo del tipo de dato, ası́ será el formato para asignar el
valor. Se utiliza comilla simple (‘ ‘) para:
• std logic
Se utiliza comilla doble (“ ”) para:
• std logic vector
• unsigned
• signed
No se utiliza ninguna comilla para:
• integer
• natural
21 de 52
Ruteo
22 de 52
Crear Nuevo Proyecto
23 de 52
Configuración del Dispositivo
24 de 52
Agregar un Módulo
25 de 52
Seleccion Módulo VHDL
26 de 52
Modulo para Sintetización
27 de 52
Ejemplo 1
28 de 52
User Constraints File
UCF
Este archivo contiene las señales/pines que deben ser mapeadas a una
localidad especifica debido a la forma en que la tarjeta esta
posicionada.
29 de 52
Agregando el UCF
30 de 52
Agregando el UCF
31 de 52
Configuración del UCF
32 de 52
UCF Configurado
33 de 52
Sintetización
Procesos
• A: View RTL Schematic: Una vez ya se ha
Sintetizado (Corriendo Synthesize - XST)
se prosigue a generar el esquemático
usando esta opción.
• B: Check Syntax: Verificar que no hayan
errores de sintaxis
• C: Implement Design: Una vez
configurado el UCF se prosigue a
implementar el diseño para el dispositivo
• D: Generate Programming File: Genera el
bitstream que se programara en la tarjeta
de desarrollo.
34 de 52
Clase 2
35 de 52
Type Casting
36 de 52
Importante
37 de 52
Procesos
38 de 52
Elementos de un proceso
1. Lista Sensitiva
◦ Lista de señales que disparan el proceso.
◦ Cualquier evento (cambio) en cualquiera de las señales de la lista
sensitiva causará que el proceso se ejecute.
2. Declaraciones
◦ Declaración de tipos, funciones, procedimientos y variables.
◦ Todas las declaraciones son locales
3. Sentencias Secuenciales
◦ El código que será ejecutado al activarse el proceso.
39 de 52
Ejemplo Procesos
40 de 52
Condicional IF
41 de 52
Sintaxis Condicional IF
42 de 52
Clase 3
43 de 52
Procesos para contar tiempo
Tomar en cuenta:
• El numero 0 es tomado en cuenta en el contador, por tanto el valor
a ingresar sera x-1;
44 de 52
Ejemplo
Blinking Led
45 de 52
Multiplexores
46 de 52
Diagrama
47 de 52
Condicional When
48 de 52
Sintaxis
49 de 52
Ejemplo
Multiplexor
50 de 52
Banderas (Flags)
51 de 52
Ejemplo
Multiplexar Displays
52 de 52