0% encontró este documento útil (0 votos)
85 vistas20 páginas

Compuertas Lógicas y Circuitos en PLD

Este documento describe cómo construir y probar un decodificador de 3 bits utilizando un PLD. Explica brevemente qué es un decodificador y su función de convertir un código binario de entrada de varios bits en salidas exclusivas. Luego, detalla los materiales necesarios y los pasos para armar el circuito, cargar el archivo de programación al PLD y probar el funcionamiento del decodificador implementado.

Cargado por

Ana Delgado
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
85 vistas20 páginas

Compuertas Lógicas y Circuitos en PLD

Este documento describe cómo construir y probar un decodificador de 3 bits utilizando un PLD. Explica brevemente qué es un decodificador y su función de convertir un código binario de entrada de varios bits en salidas exclusivas. Luego, detalla los materiales necesarios y los pasos para armar el circuito, cargar el archivo de programación al PLD y probar el funcionamiento del decodificador implementado.

Cargado por

Ana Delgado
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 PDF, TXT o lee en línea desde Scribd

Práctica 11

COMPUERTAS LÓGICAS (PLD)


1.- OBJETIVO
 Ver el funcionamiento de las distintas compuertas al ser programadas en un
PLD
 Observar el comportamiento del PLD y de sus distintas salidas

2.- TEORIA

¿QUE ES UNA COMPUERTA LÓGICA?

Las compuertas lógicas son dispositivos que operan con aquellos estados lógicos
mencionados en la página anterior y funcionan igual que una calculadora, de un
lado ingresas los datos, ésta realiza una operación, y finalmente, te muestra el
resultado.

Cada una de las compuertas lógicas se las representa mediante un Símbolo, y la


operación que realiza (Operación lógica) se corresponde con una tabla,
llamada Tabla de Verdad, vamos con la primera...

.: Compuerta NOT

Se trata de un inversor, es decir, invierte el dato de entrada, por ejemplo; si pones


su entrada a 1 (nivel alto) obtendrás en su salida un 0 (o nivel bajo), y viceversa.
Esta compuerta dispone de una sola entrada. Su operación lógica es s igual a a
invertida
.: Compuerta AND

Una compuerta AND tiene dos entradas como mínimo y su operación lógica es un
producto entre ambas, no es un producto aritmético, aunque en este caso
coincidan.
*Observa que su salida será alta si sus dos entradas están a nivel alto*

.: Compuerta OR

Al igual que la anterior posee dos entradas como mínimo y la operación lógica,
será una suma entre ambas... Bueno, todo va bien hasta que 1 + 1 = 1, el tema es
que se trata de una compuerta O Inclusiva es como a y/o b
*Es decir, basta que una de ellas sea 1 para que su salida sea también 1*

.: Compuerta OR-EX o XOR

Es OR EXclusiva en este caso con dos y lo que hará con ellas será una suma
lógica entre a por b invertida y a invertida por b.

*Al ser O Exclusiva su salida será 1 si una y sólo una de sus entradas es 1*
3.- MATERIAL Y EQUIPO
 Fuente de alimentación de CD.  7 Resistencias de 330Ω
 PLD ATF20V8B  7 Diodos LED
 2 DIP switch de 4 líneas  Protoboard
 8 Resistencias de 1KΩ  Cables de conexión
4.- PROCEDIMIENTO
1.- Arme el siguiente circuito

4.- Carga apropiadamente el archivo JEDEC, previamente creado, al PLD.


3.- Compruebe el funcionamiento de las compuertas en el PLD según el siguiente
programa realizado en wincupl.

Pin 1 = a;
Pin 2 = b;

Pin 22 = inva;
Pin 21 = invb;
Pin 20 = and;
Pin 19 = nand;
Pin 18 = or;
Pin 17 = nor;
Pin 16 = xor;
Pin 15 = xnor;

inva = !a; /* inverters */


invb = !b;
and = a & b; /* and gate */
nand = !(a & b); /* nand gate */
or = a # b; /* or gate */
nor = !(a # b); /* nor gate */
xor = a $ b; /* exclusive or gate */
xnor = !(a $ b); /* exclusive nor gate */

OBSERVACIONES:

El PLD toma fácilmente cualquier función que se requiera, puede configurarse


cada pin de salida como una compuerta diferente, lo que nos da muchas
posibilidades de uso.
Práctica 12
SUMADOR COMPLETO (PLD)
1.- OBJETIVO
 Construir un sumador completo utilizando un PLD
 Observar el comportamiento del sumador

2.- TEORIA

¿QUE ES UN SUMADOR?

Hasta aquí se ha logrado implementar una suma de dos números de un bit, pero
en una computadora las sumas de hacen con un número mayor de bits.

Si cada par de sumandos binarios puede producir un bit de acarreo, también debe
tener la capacidad de reconocer cuando viene un bit de acarreo del sumador de
nivel inferior (digamos cuando en el sistema decimal hay un "llevo" debido a la
suma de las unidades y hay que pasarla a las decenas)

Para lograr este propósito se implementa el siguiente circuito con su tabla de


verdad

El circuito anterior es un poco complicado de graficar así


que se puede reemplazar por una caja negra con tres
entradas y dos salidas (ver la tabla de verdad)
Con la anteriormente mencionado se puede implementar un sumador de "n" bits.

Nota: Cin = acarreo entrante, Cout = acarreo saliente

3.- MATERIAL Y EQUIPO


 Fuente de alimentación de CD.
 C.I. ATF20V8B
 2 DIP switch de 4 líneas
 8 Resistencias de 10KΩ
 3 Resistencias de 330Ω
 3 Diodos LED
 Protoboard
 Cables de conexión

4.- PROCEDIMIENTO
1.- Arme el siguiente circuito

2.- Carga apropiadamente el archivo JEDEC, previamente creado, al PLD.

3.- Compruebe el funcionamiento de las compuertas en el PLD según el siguiente


programa realizado en wincupl.

/* *************** INPUT PINS *********************/


Pin 1 = a; /* */
Pin 2 = b; /* */
Pin 3 = c; /* */

/* *************** OUTPUT PINS *********************/


Pin 22 = suma ; /*Acarreo */
Pin 21 = acarreoS; /*Suma */

suma = ((a $ b) $ c);


acarreoS = ((c & (a $ b)) # (a & b));

OBSERVACIONES:

Evidentemente el PLD cumple con el mismo funcionamiento que el circuito


integrado utilizando en un principio, además el PLD se puede programar para
agregar más sumadores o aumentar el número de bits a sumar.

En cuanto a la programación, se ingresó la operación necesaria para determinar


las salidas del PLD y hacerlo un sumador completo.

Práctica 13
COMPARADOR (PLD)
1.- OBJETIVO
 Construir un comparador utilizando el PLD
 Observar el comportamiento del comparador

2.- TEORIA

¿QUE ES UN COMPARADOR?

Los comparadores son circuitos combinaciónales capases de comparar dos


combinaciones presentes en sus entradas indicando si son iguales o diferentes;
en caso de ser diferentes, indican cual de las dos es mayor. Tienen tres salidas
que indican el resultado de la comparación: A=B, A<B y A>B.

El procedimiento para comparar dos datos binarios consiste primero en comparar


el bit más significativo de cada uno de ellos, si estos son iguales, se compara el
siguiente bit más significativo y así sucesivamente hasta encontrar una
desigualdad que indica cual de los datos es mayor o menor. Si se comparan todos
los bits de ambos datos y no hay desigualdad entre ellos, entonces podemos
concluir que los datos comparados son iguales.

Los circuitos integrados más utilizados son: el circuito integrado 74HC85

Este circuito integrado contiene un comparador de dos datos de 4 bits cada uno.

La relación de pines del integrado es la siguiente:

A>B, A<B y A=B: entradas de comparación en cascada activas a nivel alto (1).

A>B, A<B y A=B: salidas de comparación activas a nivel alto (1).

A0, A1, A2 y A3: entradas del dato A

B0, B1, B2 y B3: entradas del dato B

3.- MATERIAL Y EQUIPO


 Fuente de alimentación de CD.  3 Resistencias de 330Ω
 C.I. ATF20V8B  3 Diodos LED
 2 DIP switch de 4 líneas  Protoboard
 9 Resistencias de 10KΩ  Cables de conexión
4.- PROCEDIMIENTO
1.- Arme el siguiente circuito

2.- Carga apropiadamente el archivo JEDEC, previamente creado, al PLD.

3.- Compruebe el funcionamiento de las compuertas en el PLD según el siguiente


programa realizado en wincupl.

/** Definicion de los pines de entrada **/


Pin 2 = a; /** Dato A1**/
pin 3 = b; /** Dato A2 **/
pin 5 = c; /** Dato B1 **/
pin 6 = d; /** Dato B2 **/

/** Definicion de los pines de salida **/


Pin 22 = f; /*B mayor que A*/
Pin 21 = g; /*A igual que B*/
Pin 20 = h; /*A mayor que B*/

/** Cuerpo del programa **/


TABLE a, b, c, d => f, g, h {

'b'0000=>'b'010;
'b'0001=>'b'100;
'b'0010=>'b'100;
'b'0011=>'b'100;
'b'0100=>'b'001;
'b'0101=>'b'010;
'b'0110=>'b'100;
'b'0111=>'b'100;
'b'1000=>'b'001;
'b'1001=>'b'001;
'b'1010=>'b'010;
'b'1011=>'b'100;
'b'1100=>'b'001;
'b'1101=>'b'001;
'b'1110=>'b'001;
'b'1111=>'b'010;

OBSERVACIONES:

La forma de programar fue distinta en esta práctica pues se aplicó el método de


agregar una tabla de verdad para determinar las salidas y poder dar al PLD la
función de comparador lógico.

Práctica 15
DECODIFICADOR DE 3 BITS (PLD)
1.- OBJETIVO
 Construir un decodificador de 3 bits usando el integrado ATF20V8B
 Observar el comportamiento del decodificador

2.- TEORIA

¿QUE ES UN DECODIFICADOR?

Un decodificador o descodificador es un circuito combinacional, cuya función es


inversa a la del codificador, esto es, convierte un código binario de entrada
(natural, BCD, etc.) de N bits de entrada y M líneas de salida (N puede ser
cualquier entero y M es un entero menor o igual a 2 N), tales que cada línea de
salida será activada para una sola de las combinaciones posibles de entrada.
Estos circuitos, normalmente, se suelen encontrar como decodificador
/demultiplexor. Esto es debido a que un demultiplexor puede comportarse como un
decodificador.

En un sistema digital, como puede ser nuestro PC, se pueden transmitir tanto
instrucciones como números mediante niveles binarios o trenes de impulsos. Si,
por ejemplo, los cuatro bits de un mensaje se disponen para transmitir órdenes, se
pueden lograr 16 instrucciones diferentes, esto es lo que denominábamos,
información codificada en sistema binario. Otras veces nos interesa que un
conmutador de varias posiciones pueda funcionar de acuerdo con este código, es
decir, para cada uno de los dieciséis códigos debe ser excitada una sola línea. A
este proceso de identificación de un código particular se le denomina
decodificación.

Dicho de otra manera, un decodificador realiza la función opuesta a la de codificar,


es decir, convierte un código binario de varias entradas en salidas exclusivas.
Podemos distinguir dos tipos básicos de decodificadores: los excitadores y los no
excitadores. En el primero de los casos tenemos, por ejemplo, aquellos cuya
misión es convertir el código BCD de sus entradas al formato de salida necesario
para excitar un visualizador numérico o alfanumérico.

3.- MATERIAL Y EQUIPO


 Fuente de alimentación de CD.
 C.I. ATF20V8B
 1 DIP switch de 4 líneas
 4 Resistencias de 10KΩ
 16 Resistencias de 330Ω
 16 Diodos LED
 Protoboard
 Cables de conexión

4.- PROCEDIMIENTO
1.- Arme el siguiente circuito

2.- Carga apropiadamente el archivo JEDEC, previamente creado, al PLD.

3.- Compruebe el funcionamiento de las compuertas en el PLD según el siguiente


programa realizado en wincupl.

/** Definicion de los pines de entrada **/


Pin [2..4] = [A0..2];

/** Definicion de los pines de salida **/


Pin [15..22] = [B7..0];

/** Cuerpo del programa **/

TABLE [A0..2] => [B7..0]{


'b'000=>'b'0000000;
'b'001=>'b'0000001;
'b'010=>'b'0000010;
'b'011=>'b'0000100;
'b'100=>'b'0001000;
'b'101=>'b'0010000;
'b'110=>'b'0100000;
'b'111=>'b'1000000;

/** Cada LED de la salida indica un número en decimal: 0 LEDS encendidos indica
un 0 decimal, el primer LED encendido indica un 1 decimal, el segundo LED
encendido indica el 2 decimal, continuando sucesivamente de esta manera **/

OBSERVACIONES:

El decodificador se armó de 3 bits debido a las limitaciones (cantidad de salidas)


del PLD utilizado, sin embargo, el funcionamiento fue bastante apropiado y
correcto, las especificaciones de funcionamiento se indican en el programa
correspondiente de esta práctica.

Práctica 14
CODIFICADOR DE 4 BITS (PLD)
1.- OBJETIVO
 Construir un codificador de 4 bits usando el integrado ATF20V8B
 Observar el comportamiento del codificador

2.- TEORIA

¿QUE ES UN CODIFICADOR?

Un codificador es considerado como un traductor del lenguaje de la gente al


lenguaje de la maquina, es decir, traduce una entrada decimal a un numero BCD
8421.

Figura 1: Codificador BCD

El codificador tiene diez entradas a la izquierda y cuatro salidas a la derecha,


además puede tener una entrada activa, que produce una única salida.
Una característica poco habitual del codificador es que no hay entrada 0. Una
entrada cero significa una salida 1111 (en D, C, B y A) que es verdadera cuando
todas las entradas del 1-9 están desconectadas. Cuando las entradas no están
conectadas, se dice que están flotando.
En la figura se presenta el diagrama de bloques y la tabla de verdad de un
codificador comercial denominado de prioridad de 10-4 líneas.

Figura 2: Símbolo lógico del codificador 74147


La primera línea de la tabla de verdad indica que no hay entrada. Cuando todas
las entradas flotan el alto, las salidas flotan en alto, lo cual es interpretado como
0000 por los indicadores de salidas. La segunda línea de la tabla muestra la
entrada decimal 9 activada por un nivel bajo, lo que produce LHHL en la salida.
Esta salida la invierten los cuatro inversores y en los indicadores BCD se lee 1001.
En la misma línea se muestra las entradas del 1 al 8 marcadas con X (irrelevante).
Una entrada irrelevante puede estar alta o baja. Este codificador tiene una
característica de prioridad, que activa él número mayor que tenga una entrada en
baja.
Si por ejemplo tenemos un nivel bajo en el 3 y en 8, el codificador dará una salida
en binario correspondiente al número mayor, en este caso el 8.
En la figura se presenta el diagrama lógico del codificador 74147, donde se
presentan las 30 puertas lógicas que lo conforman.

Figura 3: Diagrama lógico del codificador 74147

Si queremos activar el 9 decimal le colocamos un nivel bajo. Esta entrada a 0 la


invierte el inversor 1, y se aplica a las puertas NOR 2 y 3, que se activan entonces,
dando una salida en baja. Las puertas NOR 4 y 5 se desactivan por la presencia
de 0 en las entradas de las puertas AND (de la 7-18) desactivadas.
Estas puertas AND están desactivadas por los 0 de sus entradas inferiores,
producidos por la puerta NOR 6. Las puertas AND de la (7-18) aseguran que
tenga prioridad sobre las demás, la entrada decimal correspondiente al número
mayor.

3.- MATERIAL Y EQUIPO


 Fuente de alimentación de CD.
 C.I. ATF20V8B
 1 DIP switch de 8 líneas
 8 Resistencias de 10KΩ
 4 Resistencias de 330Ω
 4 Diodos LED
 Protoboard
 Cables de conexión

4.- PROCEDIMIENTO
1.- Arme el siguiente circuito

2.- Carga apropiadamente el archivo JEDEC, previamente creado, al PLD.

3.- Compruebe el funcionamiento de las compuertas en el PLD según el siguiente


programa realizado en wincupl.

/** Definicion de los pines de entrada **/


Pin [2..10] = [A8..0];

/** Definicion de los pines de salida **/


Pin [19..22] = [B3..0];
/** Cuerpo del programa **/

TABLE [A8..0] => [B3..0]{


'b'000000000=>'b'0000;
'b'100000000=>'b'0001;
'b'010000000=>'b'0010;
'b'001000000=>'b'0011;
'b'000100000=>'b'0100;
'b'000010000=>'b'0101;
'b'000001000=>'b'0110;
'b'000000100=>'b'0111;
'b'000000010=>'b'1000;
'b'000000001=>'b'1001;

OBSERVACIONES:

Cada switch de los pines de entrada representa un número en decimal que se


CODIFICARÁ para obtener el mismo número cambiado a sistema binario a la
salida del PLD, representado por LEDs.

Práctica 16
MULTIPLEXOR (PLD)
1.- OBJETIVO
 Construir un multiplexor usando el integrado ATF20V8B
 Observar el comportamiento del multiplexor

2.- TEORIA

¿QUE ES UN MULTIPLEXOR?

El multiplexor (MUX) es un circuito combinacional que tiene varios canales de


datos de entrada y solamente un canal de salida.

Sólo un canal de la entrada pasará a la salida y este será el que haya sido
escogido mediante unas señales de control.

Ejemplo:

Si utiliza un multiplexor de 4 canales de entrada.

Una de los cuatro canales de entrada será escogido para pasar a la salida y esto
se logra con ayuda de las señales de control o selección.

La cantidad de líneas de control que debe de tener el multiplexor depende del


número de canales de entrada. En este caso, se utiliza la siguiente fórmula:

Número de canales de entrada =2n.

Donde n es el número de líneas de selección.

3.- MATERIAL Y EQUIPO


 Fuente de alimentación de CD.
 C.I. ATF20V8B
 1 DIP switch de 9 líneas
 8 Resistencias de 10KΩ
 4 Resistencias de 330Ω
 4 Diodos LED
 Protoboard
 Cables de conexión

4.- PROCEDIMIENTO
1.- Arme el siguiente circuito

2.- Carga apropiadamente el archivo JEDEC, previamente creado, al PLD.

3.- Compruebe el funcionamiento de las compuertas en el PLD según el siguiente


programa realizado en wincupl.

/** Definicion de los pines de entrada **/


Pin [2..5] = [A3..0]; /* Dato A */
Pin [6..9] = [B3..0]; /* Dato B */
Pin 10 = select;

/** Definicion de los pines de salida **/


Pin 22 = a; /* */
Pin 21 = b;
Pin 20 = c;
pin 19 = d;

/** Cuerpo del programa **/


/* Descripcion del multiplexor utilizando funciones logicas */
a = (!select & A3) # (select & B3);
b = (!select & A2) # (select & B2);
c = (!select & A1) # (select & B1);
d = (!select & A0) # (select & B0);

OBSERVACIONES:

El multiplexor escoge uno de los dos conjuntos de datos proporcionados al activar


una de las entradas del PLD, en cuyo caso 0 hará mostrar el DATO A y un 1 en el
pin de selección mostrará el DATO B.

También podría gustarte