ELECTRÓNICA DIGITAL:
Una señal digital varía de forma discreta o discontinua a lo largo del tiempo. Parece
como si la señal digital fuera variando «a saltos» entre un valor máximo y un valor
mínimo. Por ejemplo, el interruptor de la luz sólo puede tomar dos valores o estados:
abierto o cerrado, o la misma lámpara: encendida o apagada.

Por otra parte, una señal analógica es una señal que varía de forma continua a lo largo
del tiempo. La mayoría de las señales que representan una magnitud física (temperatura,
luminosidad, humedad, etc.) son señales analógicas. Las señales analógicas pueden
tomar todos los valores posibles de un intervalo; y las digitales solo pueden tomar dos
valores posibles.



CIRCUITOS COMBINACIONALES:
Son aquellos circuitos digitales que en cada instante representan un estado de salida que
depende únicamente del estado de sus entradas.

                    Puertas lógicas:               AND, OR, NAND, NOR, etc
 Tipos              MSI:                  Codificadores
                                          Decodificadores
                                          Multiplexores, etc…



SISTEMA BINARIO:
El sistema binario, en matemáticas e informática, es un sistema de numeración en el
que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Los
ordenadores trabajan internamente con dos niveles de voltaje, por lo que su sistema de
numeración natural es el sistema binario (encendido 1, apagado 0).

BIT: unidad mínima de información con dos estados posibles, el cero y el uno.

Para pasar un nº en sistema binario en su equivalente en sistema decimal:
11011,01 2= 1.24+1.23+0.22+1.21+1.20+0.2-1+1.2-2 = 27,25 10
                 Bit de menor peso o menos significativo


  Bit de mayor peso o más significativo




Otros ejemplos:
11101 2= 1.24+1.23+1.22+0.21+1.20 = 29 10
11101,11 2 = 1.24+1.23+1.22+0.21+1.20+1.2-1+1.2-2 = 29,75 10




                                                                             1
Para pasar un número decimal entero a binario: se divide por dos sucesivamente
hasta que el último cociente sea inferior a 2. El último bit será el bit más significativo,
seguido de los restos comenzando del último al primero.

Ejemplo: transforma 27 en su equivalente binario:

                      27        2
                      1         13       2
                                1        6    2
      Bit menos                          0    3   2
      significativo                           1   1           Bit más significativo
                           Orden ascendente




        Luego: 2710= 11011 2
        Pasar un número decimal fraccionario a binario: la parte decimal se multiplica
por 2 y se toma la parte entera. La parte decimal del número obtenido se vuelve a
multiplicar por 2 y el proceso se repite hasta que el resultado sea 0 ó lleguemos a la
precisión necesaria:

                      0,25 x 2 = 0,50             1er dígito fraccionario : 0
                      0,50 x 2 = 1,00             2o dígito fraccionario : 1
                      0,00 x 2 = 0,00             3er dígito fraccionario : 0

 0,25 10 = 0,010 2

Ejercicio: pasa el número decimal fraccionario 128,45 a binario:

1.-      Se transforma la parte entera dividiendo sucesivamente por 2:
         128 2
         0      64      2
                0       32        2
                        0         16   2
 Bit menos                        0    8      2
 significativo
                                       0      4      2
                     Orden ascendente
                                              0      2     2
                                                     0     1                     Bit más significativo




2.- Se transforma la parte decimal multiplicando sucesivamente por 2:

                      0,45 x 2 = 0,90             1er dígito fraccionario : 0
                      0,90 x 2 = 1,80             2o dígito fraccionario : 1
                      0,80 x 2 = 1,60             3er dígito fraccionario : 1
                      0,60 x 2 = 1,20             4o dígito fraccionario : 1
                      0,20 x 2 = 0,40             5o dígito fraccionario : 0
                      0,40 x 2 = 0,80             6o dígito fraccionario : 0
                      0,80 x 2 = 1,60             7o dígito fraccionario : 1
                      0,60 x 2 = 1,20             8o dígito fraccionario : 1



                                                                                      2
3.- Quedaría así:

       128,45   10  = 10000000,01110011 2




                                            3
Código binario natural : es un código que hace corresponder a un número digital su
correspondiente binario, es decir utilizando solamente los símbolos 0 y 1.
Existen otros códigos binarios, como BCD, hexadecimal, etc que no son objeto de este
curso.

                              DECIMAL BINARIO
                                  0     0000
                                  1     0001
                                  2     0010
                                  3     0011
                                  4     0100
                                  5     0101
                                  6     0110
                                  7     0111
                                  8     1000
                                  9     1001
                                 10     1010
                                 11     1011
                                 12     1100
                                 13     1101
                                 14     1110
                                 15     1111




                                                                     4
TABLA DE            ESQUEMA          CIRCUITO
       FUNCIÓN
                              VERDAD            ELÉCTRICO       ELECTRÓNICO



1 SUMA
                 S = a+b
Ó UNIÓN                      a   b    s
OR                                         +V
                             0   0    0
                             0   1    1
                             1   0    1
                             1   1    1                                 1
                                            +V
2 PRODUCTO
Ó                S = a.b     a   b   s
INTERSECCIÓN                 0    0  0
                             0    1  0                               &
AND                                             +V
                             1    0  0
                             1    1  1
                                 a s            +V
                     S=a         0 0
3 IGUALDAD                       1 1


                                                                        1
                                           +V
4 NEGACIÓN                        a   s
 NOT                 S=a          0   1
                                  1   0
                             a   b     s
                             0   0     1
5 SUMA                       0   1     0
NEGADA           S = a+b     1   0     0
                             1   1     0                            1
NOR              =
                     a.b                   +V

                             a   b    s
                             0   0    1
6 PRODUCTO       S=a.b       0   1    1
NEGADO
                             1   0    1
                 =           1   1    0
NAND                 a+b                                    &
                                            +V
                             a   b     s
                             0   0     0
7 OR             s = a⊕b     0   1     1
EXCLUSIVA                    1   0     1
                             1   1     0                            =1
XOR              a.b + a.b




                                                                5
ALGEBRA DE BOOLE:
       Opera con dos variables que admiten sólo dos valores (V ó F, 0 ó 1 ).
       Estos símbolos no representan números, sino dos estados diferentes de un
dispositivo: lámpara encendida (1)
                          apagada (0)
               interruptor    abierto (0)
                              cerrado (1)

       Lógica de niveles:
Establece correspondencia entre los niveles de tensión y los estados lógicos 0 y 1.
     +5V

       0V           PROPIEDADES tDEL ÁLGEBRA DE BOOLE:
                          Lógica negativa
                1     0   Lógica positiva
                                                  Conmutativa:              a+b=b+a
                0     1                          a.b=b.a

Asociativa :                 a + ( b + c ) = (a + b ) + c = a + b + c
                             a . ( b . c ) = (a . b ) . c = a . b . c

Distributiva:                a + b . c = ( a + b) ( a + c )
                             a . ( b + c ) = a .b + a . c


POSTULADOS:

         a+1=1               a.1=a
         a+0=a               a.0=0
         a+a=a               a.a=a
         a+ a =1             a. a =0
         a =a




                                                                        6
TEOREMAS:

     •   a + a . b = a (si se saca factor común de a, queda: a ( 1 + b ); y 1 + b = 1 )
     •   a(a+b)=a
     •   a+   a .b = a + b (aplicando la propiedad distributiva: (a + a ) (a + b) = a + b )
     •   a ( a + b ) = a a + a b = ab


TEOREMAS DE DEMORGAN:


1º a + b = a.b
2º a.b = a + b




                                                                                         7
OBTENCIÓN DE UNA EXPRESIÓN A PARTIR DE UNA TABLA
DE VERDAD. Formas canónicas.
Cuando diseñemos circuitos combinacionales, será muy normal que tengamos una tabla
de verdad que haya que convertir a expresiones booleanas. El proceso es sencillo, sin
embargo ocurre que dada una tabla de verdad se pueden obtener multitud de
expresiones diferentes, todas ellas equivalentes. Nuestra misión consistirá en obtener la
expresión más simplificada posible.


FORMAS CANÓNICAS


A partir de una tabla de verdad, podemos obtener múltiples expresiones para la
misma función. Todas esas expresiones son equivalentes y podemos obtener unas
expresiones de otras aplicando las propiedades del Álgebra de Boole.
Existen dos tipos de expresiones que se obtienen directamente de la tabla de verdad, de
forma inmediata. Se denominan formas canónicas. Se caracterizan porque en todos
los términos de estas expresiones aparecen todas las variables.

PRIMERA FORMA CANÓNICA


Una función que esté en la primera forma canónica se caracteriza porque está
formada por sumas de productos o minterms. Y recordemos que por ser una forma
canónica, en todos sus términos se ecuentran todas sus variables.
Un ejemplo de una función de 3 variables, expresada en la primera forma canónica es la
siguiente:
f = a.b.c + a . b .c + a .b.c
Vemos que está constituida por la suma de tres términos y en cada uno de los términos
están todas las variables.
La obtención de la primera forma canónica, a partir de una tabla de verdad es inmediato.
El proceso se denomina “desarrollo de la tabla de verdad por unos”. Tomamos la tabla
de verdad y sólo nos fijamos en las filas en las que la función vale ’1’, olvidándonos del
resto.
Por cada una de estas filas tendremos un sumando, constituido por el producto de todas
las variables, aplicando la siguiente regla:
Si una variable está a ’0’, en la fila escogida, usaremos la variable negada, y si está a
’1’ usaremos la variable sin negar.

Ejemplo:
Obtener la primera forma canónica, a partir de la siguiente tabla de verdad:
                                       a b c f
                                       0 0 0 1
                                       0 0 1 1
                                       0 1 0 0
                                       0 1 1 1
                                       1 0 0 0
                                       1 0 1 1
                                       1 1 0 1
                                       1 1 1 0


                                                                         8
Nos fijamos en las filas en las que f=1.
Vemos que hay 5 filas, por tanto la función f se podrá expresar como suma de 5
términos. Tomemos la primera fila en la que f=1. En ella vemos que a=0, b=0 y c=0, por
tanto el primer término será: a.b.c .
De esta forma vamos obteniendo el resto de términos.
La función f será la suma de estos 5 términos:

f = a bc + a bc + abc + a bc + abc

Esta función está constituida por la suma de 5 términos y en cada uno de ellos es el
producto de las tres variables, bien negadas o no.

La primera forma canónica también se puede representar así:

f=   ∑
     3
         m (0,1,3,5,6)      ; donde m significa minterm o producto de variables, el nº3
debajo del símbolo sumatorio es el nº de variables y los nº s entre paréntesis
corresponden a las posiciones que ocupan los “unos de la función” en la tabla de
verdad.




SEGUNDA FORMA CANÓNICA


Una función en la segunda forma canónica se caracteriza porque está formada por
un producto de sumas o maxterms. Y en todos sus términos deben aparecer todas sus
variables, bien negadas o no.
Está constituida por términos que van multiplicados, y cada uno de ellos está formado
por sumas.
La obtención de la segunda forma canónica, a partir de una tabla de verdad es
inmediato. El proceso se denomina “desarrollo de la tabla de verdad por ceros”.
Tomamos la tabla de verdad y sólo nos fijamos en las filas en las que la función vale
’0’, olvidándonos del resto.

Por cada una de estas filas tendremos un término, constituido por la suma de todas las
variables, aplicando la siguiente regla: Si una variable está a ’1’, en la fila escogida,
usaremos la variable negada, y si está a ’0’usaremos la variable sin negar.
Es decir, que esta regla es justo la contraria que cuando estábamos trabajando con la
primera forma canónica.

En el ejemplo anterior, nos fijamos en las filas en las que f=0. En este ejemplo hay tres.
Cada fila representa un término, que estará multiplicando al resto. Tomamos la primera
fila en la que f=0 y vemos que a=0, b=1 y c=0. Aplicando la regla, el término que
obtenemos es: a + b + c .
De esta forma vamos obteniendo el resto de términos.
La función f será el producto de estos 3 términos:




                                                                         9
f = ( a + b + c )( a + b + c )( a + b + c )

La segunda forma canónica también se puede representar así:

f=   ∏3
              M (2,4,7)       ; donde M significa maxterm o suma de variables, el nº3 debajo
del símbolo producto es el nº de variables y los nºs entre paréntesis corresponden a las
posiciones que ocupan los “ceros de la función”.




Demostación de que la 1ª FORMA CANÓNICA y la 2ª FORMA CANÓNICA son iguales:


La primera forma canónica desarrollada mediante los unos de la tabla de verdad es:
f=   ∑3
              m (0,1,3,5,6)
La función negada es:
f=    ∑
      3
               m (2,4,7)
Si la negamos dos veces:                                              (Aplicando

f =   ∑   3
               m (2,4,7) = m 2 + m 4 + m 7 =     abc + a bc + abc =
                                                                      DeMorgan)


                                        = (a + b + c)(a + b + c)(a + b + c) = M2.M4.M7 = ∏ M
                           (Aplicando
= abc . a bc . abc = DeMorgan)
                                                                                        3
(2,4,7)




                                                                              10
SIMPLIFICACIÓN DE FUNCIONES
                               ALGEBRAICO
Utilizaremos dos métodos        GRÁFICO DE KARNAUGH



ALGEBRAICO


Utilizando los teoremas y propiedades del Álgebra de Boole:
Ejemplo: Simplificar la función

f = abc + abc + abc =
  = (a + a ) bc + abc = bc + abc = b(c + a c) = b(c + a)(c + c) = b(c+a) = bc+ba


MÉTODO GRÁFICO DE KARNAUGH


Se agrupan los unos adyacentes de la tabla de 8 en 8, de 4 en 4, de 2 en 2 y se elimina la
variable que cambia de valor.
La tabla es cerrada, es decir, la fila de arriba es adyacente a la de abajo, y la columna de
la izquierda es adyacente a la de la derecha.
Ejemplo 1 con 3 variables:
f = abc + abc

                                      ab                               ab
                                           0   0
                                                   11 10
                                  c        0   1
                                  0                1                   Luego:
                                  1                1                   f = ab


Ejemplo 2 con 3 variables:    f = abc + abc + a bc + abc + a bc

                                                                  ab
                                      ab   0   0
                                                   11 10
                                  c        0   1                        c
                                  0            1
                                                                       Luego:
                                  1        1   1   1   1               f = ab + c




                                                                            11
Ejemplo 3 con 3 variables: (es el ejemplo de simplificación algebraico anterior)
f = abc + abc + abc


                                         ab   0   0
                                                      11 10
                                     c        0   1                 ab
                                     0                1                  bc
                                                                          Luego:
                                     1            1   1                   f = ab +bc

Ejemplo 4 con 3 variables:
f = a bc + a bc + abc + abc + a bc + a bc

                                         ab   0   0
                                                      11 10        a
                                     c        0   1
                                     0        1       1   1                b
                                                                         Luego:
                                     1        1       1   1              f = a +b

Ejemplo 5 con 4 variables:
f = abcd + abcd + abcd + abcd + a bcd + a bcd + a bcd + a bcd + a bcd

                                                                   bd
                                      ab      0   0
                                                      11 10
                                     cd       0   1
                       bd            00       1           1                abc
                                                                         Luego:
                                     01           1   1
                                                                         f = bd + abc + bd
                                     11           1   1   1
                                     10       1           1


Ejercicio 1: Simplifica mediante el método algebraico la siguiente función:

f = cba + cba + cba + c ba + c ba = cb(a + a ) + cba + c b(a + a ) = cb + cba + c b = (*)

= b(c + ca ) + c b = b(c + c)(c + a ) + c b = bc + ba + c b



(*) Obtenemos dos resultados posibles, según si sacamos factor común de b ó de c. Si
sacamos c :
= cb + c( b + ba ) = cb + c b + ca




                                                                               12
Ejercicio 2:
Dada la función f , simplificar mediante Karnaugh, implementar mediante puertas
lógicas, implementar con puertas NAND, implementar con puertas NAND de dos
entradas:

f = a bc + a bc + abc + abc + a bc + abc



                                       ab   0       0
                                                         11 10
                                   c        0       1            bc
                                   0        1   1        1       bc
                                                                       Luego:
                                   1        1   1            1         f = bc +bc+ a

                                            a




Implementar mediante puertas lógicas:


    a     a     b      b       c       c
                                                a


                                                        bc            f = bc +bc+ a

                                                        bc




Implementar mediante puertas NAND: Se niega dos veces la función f para poder
expresar los sumandos como productos negados, es decir, puertas NAND

f = a + bc + bc = a + bc + bc = a.bc.bc

    a           b      b       c       c

                                                    a

                                                        bc            f = a.bc . bc

                                                        bc



                                                                             13
Implementar mediante puertas NAND de dos entradas:

      a   b           b        c   c

                                             a
                                                                      a bc         a bc
                                                     bc                                    f = a.bc . bc

                                                     bc
              c




Ejercicio 3:
Dada la función f , simplificar mediante Karnaugh, implementar mediante puertas
lógicas, implementar con puertas NAND, implementar con puertas NAND de dos
entradas:

f = a bcd + abcd + abcd + a bcd + abcd + abcd + abcd + a bcd + abcd + abcd + a bcd

                                                                             d
                                        ab       0    0
                                                              11 10
                                       cd        0    1
                          ab           00    1        1       1   1                bc
                                                                                 Luego:
                                       01             1       1
                                                                                 f = d + bc + a b
                                       11             1
                                       10    1        1       1   1



Implementar mediante puertas lógicas (no se permiten puertas de tres entradas):

  a       a       b       b        c   c     d            d



                                                                   ab

                                                                  bc                        f = a b + bc + d




                                                                                      14
Implementar mediante puertas NAND de 2 entradas: Se niega dos veces la función f
para poder expresar los sumandos como productos negados, es decir, puertas NAND

f = d.( bc).(ab)



a     ab           b   c   c   d   d

                                                  d bc      d bc     f = d.( bc).(ab)
                                        bc

                                               ab




                                                                15
CIRCUITOS MSI: DECODIFICADOR, CODIFICADOR,
MULTIPLEXOR.

DECODIFICADOR:
Circuito integrado por el que se introduce un número y se activa una y sólo una de las
salidas permaneciendo el resto de salidas desactivadas.

    n entradas

    2n salidas


Decodificador 2 a 4:
                                             D       La señal de inhibición pone
                                 A           D
                                               0
                                     Dec       1     todas las salidas a 0.
                                 B           D
                                     2:4       2
                                             D
                                                3
                                      INH


Tabla de verdad:

INH     A B      D0 D1 D2 D3
0       0   0    1   0   0   0
0       0   1    0   1   0   0
0       1   0    0   0   1   0
0       1   1    0   0   0   1
1       x   x    0   0   0   0

Ejemplo de aplicación: controlar un semáforo:




Si utilizamos un decodificador de 2 a 4, conseguiremos controlar el semáforo
asegurándonos que sólo estará activa una luz en cada momento. Además, el circuito de
control que diseñemos sólo tienen que tener 2 salidas.
Si el circuito de control envía el número 2, se encenderá la luz verde (que tiene asociado
el número 2) y sólo la luz verde!!!. Un decodificador activa sólo una de las salidas, la
salida que tiene un número igual al que se ha introducido por la entrada. En el ejemplo
del semáforo, si el circuito de control envía el número 3, se activa la salida O 3y se
encenderá la luz azul (y sólo esa!!).


                                                                           16
Diseño de un decodificador 2 a 4:
De la tabla de verdad:
D0 = A.B
D1 = A.B
D2 = A.B
D3 = A.B


       A     A     B     B


                                            D0

                                             D1

                                            D2


                                             D3



Decodificador 3 a 8:
Se utiliza la señal de inhibición para hacer el decodificador más grande y equivalente:




                                                                        S2
                                                                         S1
                                                                         S0

            INH        A B                         INH        A B

            D0 D1 D2     D3                        D0 D1 D2     D3

           Q4 Q5 Q6     Q7                        Q0 Q1 Q2    Q3




                                                                        17
Tabla de verdad:

S2   S1   S0         Q0   Q1      Q2    Q3 Q4 Q5 Q6 Q7
0    0     0         1    0       0     0 0 0 0 0
0    0     1         0    1       0     0 0 0 0 0
0    1     0         0    0       1     0 0 0 0 0
0    1     1         0    0       0     1 0 0 0 0
1    0     0         0    0       0     0 1 0 0 0
1    0     1         0    0       0     0 0 1 0 0
1    1     0         0    0       0     0 0 0 1 0
1    1     1         0    0       0     0 0 0 0 1




CODIFICADOR:
Es un circuito integrado que permite compactar la información generando un código de
salida a partir de la información de entrada. Realiza la función inversa al decodificador.


      2n entradas

      n salidas
                                              Ejemplo: Circuito de control de una cadena de
                                              música, y 4 botones de selección.


      D
        0
      D                             A
      D
        1           Cod
        2           4:2             B
      D
          3


                    Sol válida




Tabla de verdad:

D0   D1   D2   D3    A B         Sol válida
1    0    0    0     0 0         1
0    1    0    0     0 1         1
0    0    1    0     1 0         1
0    0    0    1     1 1         1
0    0    0    0     0 0         0


La solución válida será “1” siempre que haya un “1” en las señales de entrada.




                                                                            18
MULTIPLEXOR:
Es un circuito integrado en el que las entradas de control seleccionan una entrada entre
varias para llevar la información de ésta entrada a una única salida.


    2n entradas de señal
    n entradas de control
    1 salida



      D                                 Puede haber una entrada de habilitación (E):
      D
        0         MUX
                               Y
      D
        1                               si está a “1” la salida sigue igual, si está a
        2
      D
          3            E
                                        “0”, la salida es “0”.

                  A    B



Tabla de verdad:

E         A   B   Y
1         0   0   D0
1         0   1   D1
1         1   0   D2
1         1   1   D3
0         X   X   0

Diseño de un multiplexor 4:1



     D0

     D1
                                                                                Y
     D2


     D3
                                                                  E
                      Q0 Q1 Q2     Q3



                       Dec 2:4



                           A       B



                                                                           19
Aplicación del multiplexor: generar funciones lógicas.

                            ab   0       0
                                             11 10
                        c        0       1
                        0            1           1
                        1        1           1   1

Las entradas se asocian a “0”, “1”, “c” ó “ c ” de la tabla de Karnaugh.
            c           00
            c           01           Y
            1
                        10
            c
                        11

                    A        B


Ejercicio:
Realizar la función “f” con el mínimo número de multiplexores de 8 entradas y de 4
entradas:
f(a,b,c,d) = a cd + b(ad ) = a cd + b(a + d ) = a cd + ba + bd


Solución:

a   b   c       d   f                            Con 8 entradas:
0   0   0       0   0
0   0   0       1   0                        0       000
0   0   1       0   0                        0       001
                                             1
0   0   1       1   0                                010
                                             1       011
0   1   0       0   1                        d       100
0   1   0       1   1                        0       101
0   1   1       0   1                        1       110
0   1   1       1   1                        d       111
1   0   0       0   0
1   0   0       1   1                                a b c
1   0   1       0   0
1   0   1       1   0
1   1   0       0   1
1   1   0       1   1
1   1   1       0   1
1   1   1       1   0




                                                                           20
Con 4 entradas:

Realizamos una tabla auxiliar, que no es la tabla de Karnaugh:

       abc       000           001        010      011       100      101   110       111
  d
   0              0             0          1        1             0    0     1         1
   1              0             0          1        1             1    0     1         0

En el primer decodificador introducimos los valores de f para d y en el segundo los de
d. En las entradas de señal se introducen “1”, “0”, “c” ó “ c ”. Los valores de f para d y
para d se unen en el tercer multiplexor.


                       0            00
                                                   f (a,b,c,d)
         d             1            01
                       0            10
                       1            11

                                     a     b                                      00
                                           a                                      01             Y
                                                                                  10
                                                                                  11

                           0         00
                           1         01             f (a,b,c,d)                   d    d
             d             c         10                                           a    a
                           c         11

                                     a         b
                                               a


NOTA: Algunos ejemplos están sacados de
Apuntes de clase
Juan González Gómez




                                                                                            21

Apuntes Electronica Digital

  • 1.
    ELECTRÓNICA DIGITAL: Una señaldigital varía de forma discreta o discontinua a lo largo del tiempo. Parece como si la señal digital fuera variando «a saltos» entre un valor máximo y un valor mínimo. Por ejemplo, el interruptor de la luz sólo puede tomar dos valores o estados: abierto o cerrado, o la misma lámpara: encendida o apagada. Por otra parte, una señal analógica es una señal que varía de forma continua a lo largo del tiempo. La mayoría de las señales que representan una magnitud física (temperatura, luminosidad, humedad, etc.) son señales analógicas. Las señales analógicas pueden tomar todos los valores posibles de un intervalo; y las digitales solo pueden tomar dos valores posibles. CIRCUITOS COMBINACIONALES: Son aquellos circuitos digitales que en cada instante representan un estado de salida que depende únicamente del estado de sus entradas. Puertas lógicas: AND, OR, NAND, NOR, etc Tipos MSI: Codificadores Decodificadores Multiplexores, etc… SISTEMA BINARIO: El sistema binario, en matemáticas e informática, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Los ordenadores trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración natural es el sistema binario (encendido 1, apagado 0). BIT: unidad mínima de información con dos estados posibles, el cero y el uno. Para pasar un nº en sistema binario en su equivalente en sistema decimal: 11011,01 2= 1.24+1.23+0.22+1.21+1.20+0.2-1+1.2-2 = 27,25 10 Bit de menor peso o menos significativo Bit de mayor peso o más significativo Otros ejemplos: 11101 2= 1.24+1.23+1.22+0.21+1.20 = 29 10 11101,11 2 = 1.24+1.23+1.22+0.21+1.20+1.2-1+1.2-2 = 29,75 10 1
  • 2.
    Para pasar unnúmero decimal entero a binario: se divide por dos sucesivamente hasta que el último cociente sea inferior a 2. El último bit será el bit más significativo, seguido de los restos comenzando del último al primero. Ejemplo: transforma 27 en su equivalente binario: 27 2 1 13 2 1 6 2 Bit menos 0 3 2 significativo 1 1 Bit más significativo Orden ascendente Luego: 2710= 11011 2 Pasar un número decimal fraccionario a binario: la parte decimal se multiplica por 2 y se toma la parte entera. La parte decimal del número obtenido se vuelve a multiplicar por 2 y el proceso se repite hasta que el resultado sea 0 ó lleguemos a la precisión necesaria: 0,25 x 2 = 0,50 1er dígito fraccionario : 0 0,50 x 2 = 1,00 2o dígito fraccionario : 1 0,00 x 2 = 0,00 3er dígito fraccionario : 0 0,25 10 = 0,010 2 Ejercicio: pasa el número decimal fraccionario 128,45 a binario: 1.- Se transforma la parte entera dividiendo sucesivamente por 2: 128 2 0 64 2 0 32 2 0 16 2 Bit menos 0 8 2 significativo 0 4 2 Orden ascendente 0 2 2 0 1 Bit más significativo 2.- Se transforma la parte decimal multiplicando sucesivamente por 2: 0,45 x 2 = 0,90 1er dígito fraccionario : 0 0,90 x 2 = 1,80 2o dígito fraccionario : 1 0,80 x 2 = 1,60 3er dígito fraccionario : 1 0,60 x 2 = 1,20 4o dígito fraccionario : 1 0,20 x 2 = 0,40 5o dígito fraccionario : 0 0,40 x 2 = 0,80 6o dígito fraccionario : 0 0,80 x 2 = 1,60 7o dígito fraccionario : 1 0,60 x 2 = 1,20 8o dígito fraccionario : 1 2
  • 3.
    3.- Quedaría así: 128,45 10 = 10000000,01110011 2 3
  • 4.
    Código binario natural: es un código que hace corresponder a un número digital su correspondiente binario, es decir utilizando solamente los símbolos 0 y 1. Existen otros códigos binarios, como BCD, hexadecimal, etc que no son objeto de este curso. DECIMAL BINARIO 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 4
  • 5.
    TABLA DE ESQUEMA CIRCUITO FUNCIÓN VERDAD ELÉCTRICO ELECTRÓNICO 1 SUMA S = a+b Ó UNIÓN a b s OR +V 0 0 0 0 1 1 1 0 1 1 1 1 1 +V 2 PRODUCTO Ó S = a.b a b s INTERSECCIÓN 0 0 0 0 1 0 & AND +V 1 0 0 1 1 1 a s +V S=a 0 0 3 IGUALDAD 1 1 1 +V 4 NEGACIÓN a s NOT S=a 0 1 1 0 a b s 0 0 1 5 SUMA 0 1 0 NEGADA S = a+b 1 0 0 1 1 0 1 NOR = a.b +V a b s 0 0 1 6 PRODUCTO S=a.b 0 1 1 NEGADO 1 0 1 = 1 1 0 NAND a+b & +V a b s 0 0 0 7 OR s = a⊕b 0 1 1 EXCLUSIVA 1 0 1 1 1 0 =1 XOR a.b + a.b 5
  • 6.
    ALGEBRA DE BOOLE: Opera con dos variables que admiten sólo dos valores (V ó F, 0 ó 1 ). Estos símbolos no representan números, sino dos estados diferentes de un dispositivo: lámpara encendida (1) apagada (0) interruptor abierto (0) cerrado (1) Lógica de niveles: Establece correspondencia entre los niveles de tensión y los estados lógicos 0 y 1. +5V 0V PROPIEDADES tDEL ÁLGEBRA DE BOOLE: Lógica negativa 1 0 Lógica positiva Conmutativa: a+b=b+a 0 1 a.b=b.a Asociativa : a + ( b + c ) = (a + b ) + c = a + b + c a . ( b . c ) = (a . b ) . c = a . b . c Distributiva: a + b . c = ( a + b) ( a + c ) a . ( b + c ) = a .b + a . c POSTULADOS: a+1=1 a.1=a a+0=a a.0=0 a+a=a a.a=a a+ a =1 a. a =0 a =a 6
  • 7.
    TEOREMAS: • a + a . b = a (si se saca factor común de a, queda: a ( 1 + b ); y 1 + b = 1 ) • a(a+b)=a • a+ a .b = a + b (aplicando la propiedad distributiva: (a + a ) (a + b) = a + b ) • a ( a + b ) = a a + a b = ab TEOREMAS DE DEMORGAN: 1º a + b = a.b 2º a.b = a + b 7
  • 8.
    OBTENCIÓN DE UNAEXPRESIÓN A PARTIR DE UNA TABLA DE VERDAD. Formas canónicas. Cuando diseñemos circuitos combinacionales, será muy normal que tengamos una tabla de verdad que haya que convertir a expresiones booleanas. El proceso es sencillo, sin embargo ocurre que dada una tabla de verdad se pueden obtener multitud de expresiones diferentes, todas ellas equivalentes. Nuestra misión consistirá en obtener la expresión más simplificada posible. FORMAS CANÓNICAS A partir de una tabla de verdad, podemos obtener múltiples expresiones para la misma función. Todas esas expresiones son equivalentes y podemos obtener unas expresiones de otras aplicando las propiedades del Álgebra de Boole. Existen dos tipos de expresiones que se obtienen directamente de la tabla de verdad, de forma inmediata. Se denominan formas canónicas. Se caracterizan porque en todos los términos de estas expresiones aparecen todas las variables. PRIMERA FORMA CANÓNICA Una función que esté en la primera forma canónica se caracteriza porque está formada por sumas de productos o minterms. Y recordemos que por ser una forma canónica, en todos sus términos se ecuentran todas sus variables. Un ejemplo de una función de 3 variables, expresada en la primera forma canónica es la siguiente: f = a.b.c + a . b .c + a .b.c Vemos que está constituida por la suma de tres términos y en cada uno de los términos están todas las variables. La obtención de la primera forma canónica, a partir de una tabla de verdad es inmediato. El proceso se denomina “desarrollo de la tabla de verdad por unos”. Tomamos la tabla de verdad y sólo nos fijamos en las filas en las que la función vale ’1’, olvidándonos del resto. Por cada una de estas filas tendremos un sumando, constituido por el producto de todas las variables, aplicando la siguiente regla: Si una variable está a ’0’, en la fila escogida, usaremos la variable negada, y si está a ’1’ usaremos la variable sin negar. Ejemplo: Obtener la primera forma canónica, a partir de la siguiente tabla de verdad: a b c f 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 8
  • 9.
    Nos fijamos enlas filas en las que f=1. Vemos que hay 5 filas, por tanto la función f se podrá expresar como suma de 5 términos. Tomemos la primera fila en la que f=1. En ella vemos que a=0, b=0 y c=0, por tanto el primer término será: a.b.c . De esta forma vamos obteniendo el resto de términos. La función f será la suma de estos 5 términos: f = a bc + a bc + abc + a bc + abc Esta función está constituida por la suma de 5 términos y en cada uno de ellos es el producto de las tres variables, bien negadas o no. La primera forma canónica también se puede representar así: f= ∑ 3 m (0,1,3,5,6) ; donde m significa minterm o producto de variables, el nº3 debajo del símbolo sumatorio es el nº de variables y los nº s entre paréntesis corresponden a las posiciones que ocupan los “unos de la función” en la tabla de verdad. SEGUNDA FORMA CANÓNICA Una función en la segunda forma canónica se caracteriza porque está formada por un producto de sumas o maxterms. Y en todos sus términos deben aparecer todas sus variables, bien negadas o no. Está constituida por términos que van multiplicados, y cada uno de ellos está formado por sumas. La obtención de la segunda forma canónica, a partir de una tabla de verdad es inmediato. El proceso se denomina “desarrollo de la tabla de verdad por ceros”. Tomamos la tabla de verdad y sólo nos fijamos en las filas en las que la función vale ’0’, olvidándonos del resto. Por cada una de estas filas tendremos un término, constituido por la suma de todas las variables, aplicando la siguiente regla: Si una variable está a ’1’, en la fila escogida, usaremos la variable negada, y si está a ’0’usaremos la variable sin negar. Es decir, que esta regla es justo la contraria que cuando estábamos trabajando con la primera forma canónica. En el ejemplo anterior, nos fijamos en las filas en las que f=0. En este ejemplo hay tres. Cada fila representa un término, que estará multiplicando al resto. Tomamos la primera fila en la que f=0 y vemos que a=0, b=1 y c=0. Aplicando la regla, el término que obtenemos es: a + b + c . De esta forma vamos obteniendo el resto de términos. La función f será el producto de estos 3 términos: 9
  • 10.
    f = (a + b + c )( a + b + c )( a + b + c ) La segunda forma canónica también se puede representar así: f= ∏3 M (2,4,7) ; donde M significa maxterm o suma de variables, el nº3 debajo del símbolo producto es el nº de variables y los nºs entre paréntesis corresponden a las posiciones que ocupan los “ceros de la función”. Demostación de que la 1ª FORMA CANÓNICA y la 2ª FORMA CANÓNICA son iguales: La primera forma canónica desarrollada mediante los unos de la tabla de verdad es: f= ∑3 m (0,1,3,5,6) La función negada es: f= ∑ 3 m (2,4,7) Si la negamos dos veces: (Aplicando f = ∑ 3 m (2,4,7) = m 2 + m 4 + m 7 = abc + a bc + abc = DeMorgan) = (a + b + c)(a + b + c)(a + b + c) = M2.M4.M7 = ∏ M (Aplicando = abc . a bc . abc = DeMorgan) 3 (2,4,7) 10
  • 11.
    SIMPLIFICACIÓN DE FUNCIONES ALGEBRAICO Utilizaremos dos métodos GRÁFICO DE KARNAUGH ALGEBRAICO Utilizando los teoremas y propiedades del Álgebra de Boole: Ejemplo: Simplificar la función f = abc + abc + abc = = (a + a ) bc + abc = bc + abc = b(c + a c) = b(c + a)(c + c) = b(c+a) = bc+ba MÉTODO GRÁFICO DE KARNAUGH Se agrupan los unos adyacentes de la tabla de 8 en 8, de 4 en 4, de 2 en 2 y se elimina la variable que cambia de valor. La tabla es cerrada, es decir, la fila de arriba es adyacente a la de abajo, y la columna de la izquierda es adyacente a la de la derecha. Ejemplo 1 con 3 variables: f = abc + abc ab ab 0 0 11 10 c 0 1 0 1 Luego: 1 1 f = ab Ejemplo 2 con 3 variables: f = abc + abc + a bc + abc + a bc ab ab 0 0 11 10 c 0 1 c 0 1 Luego: 1 1 1 1 1 f = ab + c 11
  • 12.
    Ejemplo 3 con3 variables: (es el ejemplo de simplificación algebraico anterior) f = abc + abc + abc ab 0 0 11 10 c 0 1 ab 0 1 bc Luego: 1 1 1 f = ab +bc Ejemplo 4 con 3 variables: f = a bc + a bc + abc + abc + a bc + a bc ab 0 0 11 10 a c 0 1 0 1 1 1 b Luego: 1 1 1 1 f = a +b Ejemplo 5 con 4 variables: f = abcd + abcd + abcd + abcd + a bcd + a bcd + a bcd + a bcd + a bcd bd ab 0 0 11 10 cd 0 1 bd 00 1 1 abc Luego: 01 1 1 f = bd + abc + bd 11 1 1 1 10 1 1 Ejercicio 1: Simplifica mediante el método algebraico la siguiente función: f = cba + cba + cba + c ba + c ba = cb(a + a ) + cba + c b(a + a ) = cb + cba + c b = (*) = b(c + ca ) + c b = b(c + c)(c + a ) + c b = bc + ba + c b (*) Obtenemos dos resultados posibles, según si sacamos factor común de b ó de c. Si sacamos c : = cb + c( b + ba ) = cb + c b + ca 12
  • 13.
    Ejercicio 2: Dada lafunción f , simplificar mediante Karnaugh, implementar mediante puertas lógicas, implementar con puertas NAND, implementar con puertas NAND de dos entradas: f = a bc + a bc + abc + abc + a bc + abc ab 0 0 11 10 c 0 1 bc 0 1 1 1 bc Luego: 1 1 1 1 f = bc +bc+ a a Implementar mediante puertas lógicas: a a b b c c a bc f = bc +bc+ a bc Implementar mediante puertas NAND: Se niega dos veces la función f para poder expresar los sumandos como productos negados, es decir, puertas NAND f = a + bc + bc = a + bc + bc = a.bc.bc a b b c c a bc f = a.bc . bc bc 13
  • 14.
    Implementar mediante puertasNAND de dos entradas: a b b c c a a bc a bc bc f = a.bc . bc bc c Ejercicio 3: Dada la función f , simplificar mediante Karnaugh, implementar mediante puertas lógicas, implementar con puertas NAND, implementar con puertas NAND de dos entradas: f = a bcd + abcd + abcd + a bcd + abcd + abcd + abcd + a bcd + abcd + abcd + a bcd d ab 0 0 11 10 cd 0 1 ab 00 1 1 1 1 bc Luego: 01 1 1 f = d + bc + a b 11 1 10 1 1 1 1 Implementar mediante puertas lógicas (no se permiten puertas de tres entradas): a a b b c c d d ab bc f = a b + bc + d 14
  • 15.
    Implementar mediante puertasNAND de 2 entradas: Se niega dos veces la función f para poder expresar los sumandos como productos negados, es decir, puertas NAND f = d.( bc).(ab) a ab b c c d d d bc d bc f = d.( bc).(ab) bc ab 15
  • 16.
    CIRCUITOS MSI: DECODIFICADOR,CODIFICADOR, MULTIPLEXOR. DECODIFICADOR: Circuito integrado por el que se introduce un número y se activa una y sólo una de las salidas permaneciendo el resto de salidas desactivadas. n entradas 2n salidas Decodificador 2 a 4: D La señal de inhibición pone A D 0 Dec 1 todas las salidas a 0. B D 2:4 2 D 3 INH Tabla de verdad: INH A B D0 D1 D2 D3 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 1 1 x x 0 0 0 0 Ejemplo de aplicación: controlar un semáforo: Si utilizamos un decodificador de 2 a 4, conseguiremos controlar el semáforo asegurándonos que sólo estará activa una luz en cada momento. Además, el circuito de control que diseñemos sólo tienen que tener 2 salidas. Si el circuito de control envía el número 2, se encenderá la luz verde (que tiene asociado el número 2) y sólo la luz verde!!!. Un decodificador activa sólo una de las salidas, la salida que tiene un número igual al que se ha introducido por la entrada. En el ejemplo del semáforo, si el circuito de control envía el número 3, se activa la salida O 3y se encenderá la luz azul (y sólo esa!!). 16
  • 17.
    Diseño de undecodificador 2 a 4: De la tabla de verdad: D0 = A.B D1 = A.B D2 = A.B D3 = A.B A A B B D0 D1 D2 D3 Decodificador 3 a 8: Se utiliza la señal de inhibición para hacer el decodificador más grande y equivalente: S2 S1 S0 INH A B INH A B D0 D1 D2 D3 D0 D1 D2 D3 Q4 Q5 Q6 Q7 Q0 Q1 Q2 Q3 17
  • 18.
    Tabla de verdad: S2 S1 S0 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 CODIFICADOR: Es un circuito integrado que permite compactar la información generando un código de salida a partir de la información de entrada. Realiza la función inversa al decodificador. 2n entradas n salidas Ejemplo: Circuito de control de una cadena de música, y 4 botones de selección. D 0 D A D 1 Cod 2 4:2 B D 3 Sol válida Tabla de verdad: D0 D1 D2 D3 A B Sol válida 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 La solución válida será “1” siempre que haya un “1” en las señales de entrada. 18
  • 19.
    MULTIPLEXOR: Es un circuitointegrado en el que las entradas de control seleccionan una entrada entre varias para llevar la información de ésta entrada a una única salida. 2n entradas de señal n entradas de control 1 salida D Puede haber una entrada de habilitación (E): D 0 MUX Y D 1 si está a “1” la salida sigue igual, si está a 2 D 3 E “0”, la salida es “0”. A B Tabla de verdad: E A B Y 1 0 0 D0 1 0 1 D1 1 1 0 D2 1 1 1 D3 0 X X 0 Diseño de un multiplexor 4:1 D0 D1 Y D2 D3 E Q0 Q1 Q2 Q3 Dec 2:4 A B 19
  • 20.
    Aplicación del multiplexor:generar funciones lógicas. ab 0 0 11 10 c 0 1 0 1 1 1 1 1 1 Las entradas se asocian a “0”, “1”, “c” ó “ c ” de la tabla de Karnaugh. c 00 c 01 Y 1 10 c 11 A B Ejercicio: Realizar la función “f” con el mínimo número de multiplexores de 8 entradas y de 4 entradas: f(a,b,c,d) = a cd + b(ad ) = a cd + b(a + d ) = a cd + ba + bd Solución: a b c d f Con 8 entradas: 0 0 0 0 0 0 0 0 1 0 0 000 0 0 1 0 0 0 001 1 0 0 1 1 0 010 1 011 0 1 0 0 1 d 100 0 1 0 1 1 0 101 0 1 1 0 1 1 110 0 1 1 1 1 d 111 1 0 0 0 0 1 0 0 1 1 a b c 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 20
  • 21.
    Con 4 entradas: Realizamosuna tabla auxiliar, que no es la tabla de Karnaugh: abc 000 001 010 011 100 101 110 111 d 0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 1 0 En el primer decodificador introducimos los valores de f para d y en el segundo los de d. En las entradas de señal se introducen “1”, “0”, “c” ó “ c ”. Los valores de f para d y para d se unen en el tercer multiplexor. 0 00 f (a,b,c,d) d 1 01 0 10 1 11 a b 00 a 01 Y 10 11 0 00 1 01 f (a,b,c,d) d d d c 10 a a c 11 a b a NOTA: Algunos ejemplos están sacados de Apuntes de clase Juan González Gómez 21