Beruflich Dokumente
Kultur Dokumente
LABORATORIO DE MICROELECTRONICA:
Alexander B. Hilario T.
5 de abril de 2019
1. OBJETIVOS
2. CODIFICACION EN VHDL
3. DESARROLLO DE LA PRACTICA
• Problema: Unidad aritmética lÓgica de 4 bits. Este circuito selecciona entre operaciones
aritméticas (Valor absoluto y suma) y operaciones lógicas (XOR y AND). Solo un resultado
(valor hexa decimal) puede ser mostrado en un display de 7 segmentos. Este es seleccionado
por la entrada sel(1..0).
• Entrada EN: Si EN = 1, el resultado aparece en el display de 7 segmentos. Si EN = 0, todos
los LEDs en el display de 7 segmentos están apagados. Operaciones aritméticas: Las entradas
A y B de 4 bits son tratadas como números unsigned.
A+B
|A + B|
• Operaciones lógicas (A xnor B, A nand B). Estas operaciones son bit a bit.
• Nexys-4 DDR: Cada display de 7 segmentos tiene entradas activas- bajas y una habilitación
activa - baja. Asegúrese de que solo esta activada una pantalla de 7 segmentos (por ejemplo:
AN0 = 0, AN1-AN7 = 1 para usar solo la pantalla de 7 segmentos mas a la derecha).
4. FLUJO DE DISEÑO
• Crear un nuevo proyecto ISE. Seleccionar el dispositivo: XC7A100T- 1CSG324 Artix-7 FPGA.
• Escriba el codigo VHDL para el circuito de la Figura 1.
• Escriba el test-bench VHDL para probar el circuito y pruebe los casos mas representativos.
• Realice la Functional Simulation y la Timing Simulation (Simu- lacion de comportamiento y
temporal).
• Asignación de entradas y salidas: Crear un archivo UCF. Use SW0 a SW7 en la placa Nexys-4
DDR para las entradas A y B, SW8 a SW10 para las entradas se1 y EN y CACG para la salida
de 7-bits.
1
DESARROLLO DE LA PRACTICA
Para el desarrollo de esta práctica primero vamos crear por separado los códigos correspondien-
tes a las distintas operaciones planteadas ( suma,valor absoluto, xnor y nand). Como se vera a
continuación.
VALOR ABSOLUTO
2
3
4
SUMADOR
5
6
COMPUERTA NAND
7
XNOR
8
MULTIPLEXOR
9
10
11
12
DIVISOR DE FRECUENCIA
Para poder visualizar resultados por encima del valor Fhexadecimal se implementó un divisor
de frecuencia a través del cual lo que se conseguía era temporizar el encendido de dos display que
al ojo humano diera la apariencia que ambos estaban encendido al mismo tiempo. La frecuencia
utilizada fu de 1KHz(cada 1milisegundo) y el código desarrollado fue el siguiente:
13
CONCLUSIONES
14