Se espera que al obtener la tabla de verdad y al hacer la programación para el GAL con truth_table lograremos tener bien la práctica.
Enviado por Eliiass7 • 17 de Noviembre de 2015 • Práctica o problema • 1.144 Palabras (5 Páginas) • 268 Visitas
OBJETIVO
Implementar en una tablilla de conexiones un decodificador de BCD a 7 Segmentos por medio de un Dispositivo Lógico Programable usando el comando Trut_table en el lenguaje ABEL_HDL.
HIPÓTESIS
Se espera que al obtener la tabla de verdad y al hacer la programación para el GAL con truth_table lograremos tener bien la práctica.
MARCO TEÓRICO
Dispositivos Lógicos Programables
En electrónica y computación la Lógica programada es un tipo de diseño implementado en chips que permite la reconfiguración de los circuitos con el simple cambio del software que incorpora, es lo contrario de la lógica cableada.
La lógica programada se basa en dispositivos lógicos programables (PLD), los cuales tienen una función no establecida, al contrario que las puertas lógicas que tienen una función fija en el momento de su fabricación. Antes de poder utilizar el PLD en un circuito, este debe ser programado.
GAL22V10
El GAL22V10 es una serie de dispositivos lógicos programables implementadas como basados en CMOS Lógica Genérica array ICs, creado por Lattice Semiconductor , y disponible como un paquete dual en línea o una LCC de plástico . Si bien es un ejemplo de un dispositivo de GAL producción estándar que se utiliza a menudo en entornos educativos como un PLD básica.
ABEL-HDL
Por medio del Lenguaje de Descripción de Hardware (HDL) es posible fabricar un circuito integrado a la medida (ASIC), utilizando código para proporcionar las ecuaciones o la tabla de verdad en el lenguaje ABEL- HDL que fue desarrollado por Data I/O Corporation para la construcción física de circuitos correspondientes a las funciones booleanas en dispositivos lógicos programables (PLD). ABEL-HDL necesita un procesador de lenguaje llamado compilador (IspLEVER), cuyo trabajo consiste en traducir el archivo de texto de ABEL a un mapa de fusibles (JEDEC) del dispositivo físico seleccionado, pasando por un proceso de validación de las instrucciones, así como de minimización de las funciones para ajustar, si es posible, la capacidad del dispositivo elegido.
Decodificador
Proceso que permite pasar de un lenguaje codificado a otro legible directamente.
BCD
Código decimal expresado en binario, cada digito del decimal se representa por cuatro bits ejemplo el numero 9 6 7 3(10) = 1001 0110 0111 0011 (BCD).
7 Segmentos
Se refiere a un DISPLAY (dispositivo para mostrar resultados) compuesto por LED’s (Diodos emisores de luz) distribuidos de tal suerte que se puedan mostrar los dígitos del 0 al 9.
MATERIAL
- Fuente de 5 V de corriente directa.
- Tablilla de conexiones
- Circuito Integrado GAL 16, 20 0 22 o equivalente. (Lattice, Atmel o Cypress).
- 11 resistores de 330 Ω.
- 1 Dip switch de 8 interruptores o 4 Switch Push Micro NA.
- 4 Leds
- Alambre para conexiones.
- 1 Display
Programas de aplicación (software):
- IspLEVER
- Microsoft Word (reporte)
- Recortes (Windows XP o 7)
PROCEDIMIENTO
Para esta práctica se tuvo que conseguir un display de 7 segmentos, en donde puede ser de cátodo común o de ánado común, y en este caso se utilizo uno de cátodo común, esto se debe de saber, ya que es información necesaria para saber cómo se llenara la información en la tabla de verdad y así llegar a hacer la programación para el GAL.
Para realizar esta práctica, como ya se dijo se uso un display como el que se muestra en la figura 1, de cátodo común, esto quiere decir que los segmentos del display encenderán con niveles altos, es decir, con “1’s”.
[pic 1]
Figura 1. Entradas y salidas del display.
A partir de lo anterior, se le asigno a cada terminal del display un segmento como se muestra en la tabla 1.
Terminal | Segmento |
1 | e |
2 | d |
3 | Común |
4 | c |
5 | |
6 | b |
7 | a |
8 | Común |
9 | f |
10 | g |
Tabla 1. Asignación de segmentos en las terminales.
Después se obtuvo la tabla de verdad, la cual se muestra en la tabla 2, y ya teniendo la tabla de verdad se hizo la programación en el ispLever con el “truth_table”.
BCD | Segmentos | DP | ||||||||||
m | A | B | C | D | a | b | c | d | e | f | g | S |
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 2 |
3 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 3 |
4 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 4 |
5 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 5 |
6 | 0 | 1 | 1 | 0 | X | 0 | 1 | 1 | 1 | 1 | 1 | 6 |
7 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | x | 7 |
8 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 8 |
9 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | X | 0 | 1 | 1 | 9 |
10 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | H |
11 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | E |
12 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | L |
13 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | E |
14 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | N |
15 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | A |
Tabla 2. Tabla de verdad.
Como se menciono anteriormente, al tener esta tabla de verdad se pudo hacer la programación con el “truth_table” en donde también se puso el “test_vectors”, se puede ver como se dieron las asignaciones de las entradas y salidas para el GAL22V10, y de las asignaciones de los segmentos del display, yse muestra en la figura 2.
...