UTM Ingenierı́a en Electrónica
Universidad Tecnológica
de la Mixteca
Programas de Ingenierı́a en Electrónica
y Mecatrónica
Proyecto Final
FPGA (Tajeta Nexys 2)
Autores: Profesor:
Cruz Gomez Ismael M.C. Arturo Pablo Sandoval Garcı́a.
Ramos Quintas Jorge
Caballero Cruz Eliam
(Sistemas Digitales.)
Huajuapan de León, Oaxaca.
9 de febrero de 2023
Ing. Electrónica y Mecatrónica 1 Proyecto Final
UTM Ingenierı́a en Electrónica
1. Introducción.
El reporte a continuación pertenece a un proyecto final del semestre del 5to Semestre de la carrera de
Electrónica en donde nos pide implementar circuitos lógicos combinacionales, ası́ tambien el uso de la tarjeta
de desarrollo (FPGA), como el FPGA cuenta con 8 entradas como switch y 4 entradas como push buttons se
agregarán entradas externas para la manipulación del proyecto esto serı́a para la parte del multiplexado de los
display, en el caso de la memoria las entradas son exactas para la manipulación de esta parte del proyecto, pero
se nos pide que en un circuito externo visualicemos las salidas con diodos LED con su respectiva configuración.
La primera parte del proyecto se retomarán temas vistas en clase como es el caso del uso de los MUX de 4
a 1, la implementacón de un CLK a una frecuencia especı́fica, en este caso de 100HZ, un contador de 2 bits, un
decodificador de 2 a 4 y un decodificador de 4 a una display de 7 segmentos. Para la segunda parte se requerirá
una memoria RAM de 4 x 4, un CLK de 1 HZ y el decodificador de 7 segmentos de la parte anterior, que además
es un decodificador de Binario a Hexadecimal.
2. Información preliminar.
Para poder comprender la totalidad de esta practica debes manejar e interpretar el algebra bolenana ademas
de el manejo de esquematico en el software IseDesing. Conocer la hoja de datos de la tarjeta Nexys 2 y el uso
correcto de esta para evitar insidentes. Ademas de un manejo basico de el programa para ragar los archivos al
FPGA.
La Nexys2 La placa de circuito Nexys2 es unaplataformadedesarrollo de circuitos basada enunaFPGAXi-
linxSpartan 3E. Su puerto USB2 de alta velocidadintegrado,16Mbytes de RAM y ROM, y variosdispositivosy-
puertos de E / S lo convierten enunaplataformaideal para sistemas digitalesdetodotipo,inc luidos los s i s temas
deprocesadoresintegrados basados en MicroBlazedeXilinx. Caracterı́sticas Espartan 3E ,FPGA- NEXYS2La
FPGA Xilinx Spartan-3E, tiene de 500K o 1200Kpuertas Puerto USB2 para alimentación de la placa, confi-
guracióndeldispositivo y transferencia de datos a alta velocidad Compatible con ISE/Webpack y EDK
Fast Micron PSDRAM de 16MB
Intel StrataFlash Flash R de 16MB
Xilinx Platform Flash ROM
Fuentes de alimentación conmutadas de alta eficiencia(adecuadas para aplicaciones alimentadas por baterı́a)
Oscilador de 50MHz , además de un socket paralaposibleadición de un segundo oscilador
Figura 1: Elemento de la tarjeta Nexus.
Ing. Electrónica y Mecatrónica 2 Proyecto Final
UTM Ingenierı́a en Electrónica
Tambien debemos recalcar que para un mejor entendimiento de esta practica debeos dominar la entrada y
la salida de informacion de manera externa al FPGA NEXYS2.
Figura 2: Pmod de la tarjeta.
Figura 3: Asignaciones de pines del Pmod.
3. Metodologı́as.
3.1. MULTIPLEXADO DE DISPLAY.
1. Implementar una pantalla multiplexada utilizando los cuatro display de 7 segmentos de la tarjeta nexys
2 como se muestra en la figura. Se mostrarán simultáneamente cuatro señales de bus diferentes casi al
mismo tiempo. Las señales de bus son las señales de entrada DISPLAY-3, DISPLAY-2, DISPLAY-1 y
DISPLAY-0. El propósito de la matriz MUX 4 a 1 es dirigir o enrutar cada una de las señales del bus de
entrada a su salida-.
Figura 4: Pantalla Multiplexada.
Ing. Electrónica y Mecatrónica 3 Proyecto Final
UTM Ingenierı́a en Electrónica
2. El divisor de frecuencia reduce la frecuencia del reloj de la tarjeta en el sistema a una frecuencia de 100Hz,
el display se enciende por el decodificador 2 a 4. El contador de 2 bits es para suministrar una señal de
conteo ascendente binario, COUNT-2B, a la entrada de selección (SEL) de la matriz MUX 4 a 1 y a la
entrada del decodificador 2 a 4.
3. Adicionar los códigos en VHDL de los módulos utilizados.
Figura 5: Código del Módulo 1 perteneciente a un MUX 4 a 1.
Figura 6: Código del Módulo 2 (Decodificador de Binario a Hexadecimal a una Display de 7 Segmentos).
Ing. Electrónica y Mecatrónica 4 Proyecto Final
UTM Ingenierı́a en Electrónica
Figura 7: Código del Divisor de Frecuencia perteneciente al CLK de 100HZ.
Figura 8: Código de un Contador de 2 Bits.
Ing. Electrónica y Mecatrónica 5 Proyecto Final
UTM Ingenierı́a en Electrónica
Figura 9: Código del Módulo 4 perteneciente a un Decodificador de 2 a 4.
Figura 10: Instanciaciòn del código padre para el multiplexado de la display de 7 Segmentos.
4. Adicionar la simulación de cada código.
Ing. Electrónica y Mecatrónica 6 Proyecto Final
UTM Ingenierı́a en Electrónica
Figura 11: Simulación del Módulo 1 perteneciente a un MUX 4 a 1.
Figura 12: Simulación del Módulo 2 (Decodificador de Binario a Hexadecimal a una Display de 7 Segmentos).
Figura 13: Simulación de un Contador de 2 Bits.
Ing. Electrónica y Mecatrónica 7 Proyecto Final
UTM Ingenierı́a en Electrónica
Figura 14: Simulación del Módulo 4 perteneciente a un Decodificador de 2 a 4.
3.2. ESCRIBIR Y LEER EN LA MEMORIA RAM.
5. El sistema consiste en almacenar datos en la memoria SRAM que tiene la tarjeta para ello se va a requerir
de diversos módulos como son el divisor de frecuencia preferentemente a una frecuencia de 1Hz, la memoria
de 4x4 memoria RAM y el modulo decodificador de binario a hexadecimal. En el desplegador se deberá
mostrar los datos que se proporcionen a través de las lı́neas de dirección.
6. Adicionar los códigos en VHDL de los módulos utilizados.
Ing. Electrónica y Mecatrónica 8 Proyecto Final
UTM Ingenierı́a en Electrónica
Figura 15: Código del Módulo 1 perteneciente al CLK de 1HZ.
Figura 16: Código del Módulo 2 (Memoria RAM 4 X 4).
Ing. Electrónica y Mecatrónica 9 Proyecto Final
UTM Ingenierı́a en Electrónica
Figura 17: Código del Módulo 3 (Decodificador 7 Segmentos en Hexadecimal).
Figura 18: Instanciaciones en el código padre para la lectura y escritura de la Memoria RAM.
7. Adicionar la simulación de cada código.
Ing. Electrónica y Mecatrónica 10 Proyecto Final
UTM Ingenierı́a en Electrónica
Figura 19: Simulación del Módulo 3 (Decodificador 7 Segmentos en Hexadecimal).
4. Conclusiones.
Cruz Gomez Ismael: Al finalizar la práctica se entendió mejor de cómo es el funcionamiento del multi-
plexado de los display, ası́ como su manipulación para visualizar los números hexadecimales en ellas por
medio de un decodificador. También se entendió el funcionamiento de la memoria RAM en el FPGA ya
que este no se habı́a hecho a lo largo del curso, pero con esta implementación que se hizo de ella, se pudo
entender mejor sobre la lectura y escritura en la memoria RAM.
Ramos Quintas Jorge:Gracias a esta practica comprendimos de manera mas profunda el majejo y el
funcionamiento del FPGA ademas de que lo utilizamos como una memoria RAM. Tambien cabe reclacar
que se comprendio y utilizo por primera vez los puertos externos para meter y para sacar infomacion.
Aprendimos a escribir y a leer informacion de la tarjeta al funcionar como mermora RAM y al mismo
tiempo manejamos los displeys de forma independente.
Caballero Cruz Eliam: Con esta práctica, se aprendió un poco más sobre el uso del FPGA y el uso que
tiene como memoria. Utilizo puertos externos tanto para salida como para entrada en la primera parte de
la práctica, sabiendo de antemano que se debe configurar debidamente el circuito para cada fin. Además,
el uso de la memoria dentro del código y su instancia hicieron especial al proyecto.
Ing. Electrónica y Mecatrónica 11 Proyecto Final