jueves, 31 de mayo de 2012

Lógica digital combinatoria: Autoevaluación

     SOLUCIONES:

    
     PRIMERA PARTE:
       1. D         2. C          3. D            4. D          5.C              6.D          7.C        8. C         9.A           10.B
       

      SEGUNDA PARTE
a)      Por medio de Mapa de Karnaugh se obtiene la función minimizada: S =C’ A’ +  C B’   la cual se puede implementar con una compuerta OR  de 2  entradas, dos AND de 2 entradas, y 3 inversores.

b)      Se puede utilizar un decodificador de 4 entradas/4 salidas, como 74154. Recordemos que este integrado maneja su salidas negadas, es decir detecta por medio de un Cero lógico en la salida respectiva lo que se introduzca a la entrada. Basta entonces, conectar  las salidas   correspondientes al  2 ,4, 5,  8, 13  a las entradas de una NAND, para lograr la función solicitada.


c)       Con un multiplexor de 16 entradas/ 1 salida,  se conectan las entradas 2,4,5,8 y 13 a Vcc
       ( 1 lógico), y las demás a tierra ( 0 lógico). Al variar D,C,B,A en las entradas de selección del  
       multiplexor, la salida del multiplexor sólamente dará nivel alto en las entradas mencionadas.









miércoles, 23 de mayo de 2012

Contador de 3 bits con GAL22V10 y Chip de Sonido ISD1964

LABORATORIO FINAL:
Se trata de diseñar en ispLEVER e implementar en una GAL22V10  un contador sincrónico de 3 bits utilizando 3 flip-flops o biestables tipo T con visualización en un display de 7 segmentos, cátodo común, y que además con el chip de sonido ISD1964 se pronuncie en Español e Inglés el dígito del 0 al 7 que se muestre en el Display.

Información preliminar (tomada de Wikipedia):

Biestable T (Toggle)


Símbolo normalizado: Biestable T activo por flanco de subida.
Dispositivo de almacenamiento temporal de 2 estados (alto y bajo). El biestable T cambia de estado ("toggle" en inglés) cada vez que la entrada de sincronismo o de reloj se dispara mientras la entrada T está a nivel alto. Si la entrada T está a nivel bajo, el biestable retiene el nivel previo.

TQQsiguiente
00




0
01




1
10




1
11




0


..................................................................................................................................................................
Diseño:
1) Se elabora una Tabla de Estados del contador así:

       ESTADO  PRESENTE      ESTADO SIGUIENTE
               Q2 Q1 Q0                         Q2 Q1 Q0
                0    0    0                            0    0    1
                0    0    1                            0    1    0
                0    1    0                            0    1    1
                0    1    1                            1    0    0
                1    0    0                            1    0    1
                1    0    1                            1    1    0
                1    1    0                            1    1    1
                1    1    1                            0    0    0

2) Luego, se agrega a la tabla anterior las 3 columnas correspondientes a las entradas de los flip-flops T con lo cual la tabla de estados cambia a una Tabla de Excitación:

     ESTADO  PRESENTE      ESTADO SIGUIENTE    ENTRADAS DE FLIP-FLOPS
               Q2 Q1 Q0                         Q2 Q1 Q0                       T(Q2) T(Q1) T(Q0)
                0    0    0                            0    0    1                              0        0         1
                0    0    1                            0    1    0                              0        1         1 
                0    1    0                            0    1    1                              0        0         1
                0    1    1                            1    0    0                              1        1         1
                1    0    0                            1    0    1                              0        0         1
                1    0    1                            1    1    0                              0        1         1
                1    1    0                            1    1    1                              0        0         1     
                1    1    1                            0    0    0                              1        1         1
   
3) Elaboramos ahora una tabla con Estado Presente y Entradas de Flip-flops:


  ESTADO  PRESENTE          ENTRADAS DE FLIP-FLOPS
               Q2 Q1 Q0                       T(Q2) T(Q1) T(Q0)
                0    0    0                             0        0         1
                0    0    1                             0        1         1 
                0    1    0                             0        0         1
                0    1    1                             1        1         1
                1    0    0                             0        0         1
                1    0    1                             0        1         1
                1    1    0                             0        0         1     
                1    1    1                             1        1         1

De esta tabla obtenemos las ecuaciones Booleanas de los Flip-Flops:
              T(Q2) = Q2' Q1 Q0  +  Q2 Q1 Q0 =  Q1 Q0 ( Q2' + Q2) = Q1 Q0
              T(Q1) = Q0
              T(Q0) = 1

4) Dibujamos en el Editor Esquemático de ispLEVER el circuito lógico del Contador de 3 bits:
Se solicita al lector simular el contador,  adicionar en el Editor Esquemático del ispLEVER el decodificador para los 7 segmentos del Display, simular el circuito final de la GAL, y estudiar como automatizar el proceso  para manejar el ISD1964 sin necesidad de activar manualmente el pulsador de reproducción del Chip de Sonido.


   






viernes, 18 de mayo de 2012

UNIDAD ARITMËTICO LÓGICA

La unidad aritmético lógica, también conocida como ALU(siglas en inglés de arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como  suma, resta,  etc.) y operaciones lógicas (OR, AND, XOR, etc), entre dos números binarios. Es parte fundamental de un microprocesador. Se recomienda consultar http://es.wikipedia.org/wiki/Unidad_aritm%C3%A9tico_l%C3%B3gica

El método más simple y directo de diseñar un CIRCUITO LÖGICO de una ALU se muestra a continuación, tal como se plantea en el texto "Lógica Digital y diseño de Computadores" de Morris Mano para una etapa de 2 bits Ai y Bi.
El circuito debe repetirse n veces para un circuito lógico de n bits. Las cuatro compuertas generan las 4 operaciones lógicas OR, OR EXCLUSIVA, AND y NOT. Las 2 variables de selección en el Multiplexor seleccionan una de las 4 compuertas en la salida.

Al igual que el circuito lógico se puede diseñar un circuito similar aritmético, que  por ejemplo, obtenga el complemento a uno (invierta los bits Ai y Bi), complemento a 2 (invierta los bits y le sume 1), sume Ai y Bi, reste Ai y Bi.


El circuito lógico puede ser combinado en el circuito aritmético para producir una unidad lógica aritmética. Las variables de selección S1 y S0 pueden hacerse comunes a ambas secciones siempre y cuando se use una tercera variable de selección S2 para diferenciar entre los dos.



Las salidas de los circuitos lógicos y aritméticos de cada estado pasan por un multiplexor con la variable de
selección s2 . Cuando S2=0  se. selecciona la salida aritmética, pero cuando S2 = 1 se selecciona la salida lógica.
Colocando en cascada 4 etapas como la anterior se puede elaborar una ALU de 4 bits, similar al 74181, el cual se puede simular en Altera:

La ALU 74181 se puede trabajar con cualquiera de dos tablas de funcionamiento.Una tabla con los datos activos en nivel bajo y otra donde los datos son activos en nivel alto.




EJERCICIO: Simular en ALTERA el 74181 para verificar el comportamiento de las dos tablas.