Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTEGRANTES :
JOHAN MACAS
FERNANDO RECALDE
ANDRES BALAREZO
NIVEL : SEXTO
PARALELO :B
LATACUNGA 2017
INDICE
INTRODUCCIÓN……………………………………………………………………………………………………………………….1
TEMA……………………………………………………………………………………………………………………………………….2
OBJETIVOS.…………………………………………………………………………………………..………………………………….2
OBJETIVOS ESPECÍFICOS………………………………………………………………..………….……………………….…...2
CIRCUITOSSUMADORES……………………………………………………………………………………………………………3
CODIFICADORES……………...……………………………………………………………………………………………...………8
CÓDIGO BCD……………...…………………………………………………….…………………………………………...………11
MULTIPLEXORES Y DEMULTIPLEXORES……………………….………….…………….….…………………...………16
DEMULTIPLEXORES…………………………………………………….………….…………….……………….……….………19
CONCLUSIONES…………………………………………………….………….………………….…………….….……...………21
REFERENCIAS…………………………………………………….………….………………….……………….…………...……..22
1
INTRODUCCIÓN
Los circuitos combinacionales son circuitos lógicos con varias entradas y una o más
salidas en los cuales la relación entre las salidas y las entradas puede ser expresada
mediante una función lógica y que se caracterizan porque esas salidas, en un instante
de tiempo determinado, dependen exclusivamente de las entradas al circuito en el
mismo instante de tiempo, pero no de entradas ocurridas en instantes pasados (no
tienen "memoria" como los circuitos secuenciales).
1
1. Tema
2. Objetivos
2.1. Objetivo general
Realizar una síntesis acerca de las aplicaciones de circuitos combinacionales.
DESARROLLO
Circuitos combinacionales
Es importante no confundirse con la frase "en el mismo instante de tiempo". Por estar
construidos estos circuitos mediante componentes que funcionan eléctricamente, que es
un fenómeno físico, no es posible que las salidas ocurran instantáneamente, existir un
pequeño "retardo" entre el instante en que se produce algún cambio en una más de las
entradas del circuito y el instante en que ese cambio se refleja en una más de las salidas
del circuito.
Por ejemplo, en un circuito AND de 2 entradas la tabla de estados debe poseer 4 filas para
representar las 4 combinaciones posibles de los dos valores (0,1) que cada una de esas
dos entradas podrá adoptar: 0 con 0, 0 con 1, 1 con 0, 1 con 1. [1]
A B S
0 0 0
0 1 0
1 0 0
1 1 1
2
Es fácil darse cuenta que en un circuito combinacional con n entradas se requerirá una
tabla de estados de 2n filas, pues ese el número total de combinaciones posibles.
Por ejemplo, un circuito con 3 entradas requerir una tabla con 8 filas, mientras que uno
con 5 entradas requerir una tabla con 32 filas
Circuitos sumadores
Suma binaria
Para sumar dos cifras binarias de n bits cada una, se comienzan a sumar los bits que están
en igual posición en cada cifra, partiendo desde la posición ms baja, y si el resultado el
resultado es igual superior a 2 se lleva un 1 de reserva hacia la siguiente columna, tal
como hacemos cuando sumamos cantidades decimales.
Mejor ser que veamos un ejemplo. Se desea sumar las cifras binarias 1101111 y 1001011
como es habitual colocamos una cifra sobre otra y sumamos los primeros bits de cada
cifra
1 1 0 1 1 1 1
1 0 0 1 0 1 1
Esto es lo mismo que ocurre cuando hacemos una suma en nuestro sistema decimal:
3 4 6
1 3 7
Al sumar el 6 con el 7 obtuvimos 13, pero en el sistema decimal no existe el dígito 13,
por eso escribimos 3 y "reservamos" 1. [1]
3
Entonces, si volvemos a nuestra suma binaria, nos corresponde ahora sumar lo que hay
en la segunda columna. En la primera cifra hay un 1, en la segunda cifra hay un 1 y en lo
alto hay una "reserva" 1. Por lo tanto, tendremos 1 + 1 + 1, que da 3. Pero, nuevamente,
como en binario no existe el dígito 3, lo que realmente hemos obtenido es 11 (que
significa 1*2 + 1, que es 3). Por lo tanto, en el resultado escribimos 1 y además
"reservamos" 1 hacia la columna siguiente:
1 1 0 1 1 1 1
1 0 0 1 0 1 1
1 0
Siguiendo con esta idea llegaremos a la última columna, en donde también ocurre una
"reserva" [1]
1 1 0 1 1 1 1
1 0 0 1 0 1 1
0 1 1 1 0 1 0
Esa última reserva "la bajamos", tal como hacemos cuando sumamos cantidades en
nuestro sistema decimal, y obtenemos el resultado final:
1 0 1 1 1 0 1 0
Por lo explicado en los prrafos anteriores es fcil deducir que la tabla de estados de este
circuito debera ser:
A B SUMA CARRY
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
4
Observe que cuando se sum 1 + 1, la salida SUMA adopta valor 0 y la
salida CARRY valor 1. Esto coincide con lo ya explicado.
Si revisa los apuntes (si tiene buena memoria) se dar cuenta que la columna SUMA se
puede lograr mediante A(+)B, es decir, mediante un XOR entre A y B
De igual forma, la salida CARRY se puede lograr mediante A*B, es decir, mediante
un AND entre A y B
A B SUMA
0 1 1
1 0 1
y podemos escribir SUMA = A*B + A*B que es precisamente la función lógica XOR
De igual forma, la salida CARRY es 1 sol para una de las filas de la tabla de estados
A B CARRY
1 1 1
Pero hay un problema con nuestro semi sumador binario, sol suma dos bits, tomando uno
de cada cifra binaria, pero no incluye en dicha suma el CARRY que pudo haberse
generado en la suma de los bits anteriores. [2]
5
Sumador binario completo (full arder)
C
nuevo
A B CARRY SUMA
CARRY
anterior
0 0 0 0 0
0 1 0 1 0
1 0 0 1 0
1 1 0 0 1
0 0 1 1 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 1
Si ahora aplicamos el criterio "suma de productos" para obtener un circuito que entregue
SUMA como salida, considerando sol las filas en que SUMA es 1, obtenemos:
Si ahora aplicamos el criterio "suma de productos" para obtener un circuito que entregue
nuevo CARRY como salida, considerando sol las filas en que nuevo CARRY es 1,
obtenemos: nuevo CARRY = A*B*C + A*B*C + A*B*C + A*B*C
SUMA = [ A(+)B ] (+) C nuevo CARRY = A*B + [ A(+)B ]*C que al implementarlas en
el simulador digital quedan as:
6
Pudiendo comprobar que funciona correctamente
Podemos representar este sumador completo como una caja con tres entradas y dos
salidas:
Entonces, para sumar dos cifras binarias de varios bits bastara con colocar varias de estas
cajitas encadenadas como se muestra en la siguiente figura
7
Como se observa, el primer sumador suma los primeros bits de cada cifra binaria, entrega
el primer bit del resultado y propaga el carry hacia el siguiente sumador, el cual suma los
segundos bits de cada cifra binaria, entrega el segundo bit del resultado y propaga el carry
hacia el tercer sumador.
Codificadores
8
0 1 0 0 0 1 01 que equivale a 1
0 0 1 0 1 0 10 que equivale a 2
0 0 0 1 1 1 11 que equivale a 3
S0 = E0*E1*E2*E3 + E0*E1*E2*E3
S1 = E0*E1*E2*E3 + E0*E1*E2*E3
S0 = E0*E1*(E2*E3 + E2*E3)
S0 = E0*E1*[E2(+)E3]
De igual forma:
S1 = E0*E2*(E1*E3 + E1*E3)
S1 = E0*E2*[E1(+)E3]
9
solo puede estar activa una entrada en un momento dado, si se activan simultáneamente
dos entradas, la salida produce una combinación incorrecta.
Otro defecto de este codificador es que cuando ninguna entrada está en 1 las salidas son
ambas 0, formando en binario 00, lo cual coincide con la situación correspondiente
a E0 en 1
Esta discrepancia puede resolverse dando una salida ms para indicar que al menos una de
las entradas es igual a 1.
Los codificadores son muy usados en el hardware de los computadores. Por ejemplo, en
el teclado que usted usa existen al menos 27 teclas alfanuméricas, cada una conectada a
una línea eléctrica, que estar a nivel lógico 1 0, según la tecla correspondiente está pulsada
o no. Para que la información enviada por el teclado al computador se transmita, es
inviable disponer de tantas líneas como teclas. Por ello se emplea un codificador que
permite convertir el número de la tecla a un código que requiera menos líneas, por
ejemplo, a código ASCII, que requerirá sol 7 líneas.
Los codificadores, como su nombre lo indica producen un código. ¿No será más correcto
decir que producen un código binario, si eso es lo que forman sus salidas, un binario?
¡No!, esos unos y ceros en las salidas pueden tener un "significado" distinto a
simplemente cifra binaria. Por ejemplo, si se tiene la siguiente información formada por
unos y ceros:
01000001
será correcto decir que ella representa al valor decimal 65? ¡Si!, pero eso no impide que
además el valor 65 tenga un "significado" especial. En efecto, en este ejemplo el 65 podrá
en realidad referirse a la letra "A", pues 65 es precisamente el código ASCII de dicha
letra.
Lo que se me interesa presentar aquí es un par de códigos de uso no tan frecuente a nivel
de usuario, pero que son importantes para nuestra asignatura.
10
Código BCD
Otra ventaja del código BCD es que dos valores BCD pueden sumarse directamente en
binario y el resultado binario corresponder al resultado decimal que se hubiese obtenido
sumando en decimal.
Veamos un ejemplo, si las cifras decimales 745 y 568 se escriben en código BCD se
tendrá:
(en el primer byte 0000 es el equivalente binario del dígito decimal "0" y 0111 es el
equivalente binario del dígito decimal "7". En el segundo byte 0100 es el equivalente
decimal del dígito decimal "4" y 0101 es el equivalente binario del dígito decimal "5")
(en el primer byte 0000 es el equivalente binario del dígito decimal "0" y 0101 es el
equivalente binario del dígito decimal "5". En el segundo byte 0110 es el equivalente
decimal del dígito decimal "6" y 1000 es el equivalente binario del dígito decimal "8")
11
En ambos casos el primer byte debí rellenarse con 0000 pues las cifras decimales teman
sol tres dígitos decimales. [5]
carry 1 1 1 1
745 0 1 1 1 0 1 0 0 0 1 0 1
568 0 1 0 1 0 1 1 0 1 0 0 0
suma 1 1 0 0 1 0 1 0 1 1 0 1
Pero al revisar el resultado vemos que la suma de cada código BCD dio como resultado
un valor binario que NO ES BCD. Por ejemplo, al sumar 0101 con 1000 se obtuvo 1101,
que no figura en la tabla BCD. Lo mismo ocurre en los casos restantes.
Cuando esto ocurre, cada resultado que no es BCD debe corregirse sumándole 0110 (que
corresponde al decimal 6). Si lo hacemos se tendrá:
carry 1 1 1 11 1 1
suma 0000 1100 1010 1101
corrección 0 0 0 0 0110 0110 0110
suma final 0 0 0 1 0011 0001 0011
Entonces, si leemos los equivalentes decimales a cada código BCD de la suma final se
tendrá que el resultado es 1313, que es correcto
Código de 7 segmentos
12
Entonces la tabla de equivalencia entre dígitos decimales y código de 7 segmentos es:
decimal BCD a b c d e f g
0 0000 1 1 1 1 1 1 0
1 0001 0 1 1 0 0 0 0
2 0010 1 1 0 1 1 0 1
3 0011 1 1 1 1 0 0 1
4 0100 0 1 1 0 0 1 1
5 0101 1 0 1 1 0 1 1
6 0110 0 0 1 1 1 1 1
7 0111 1 1 1 0 0 0 0
8 1000 1 1 1 1 1 1 1
9 1001 1 1 1 0 0 1 1
La tabla muestra que salidas a, b, c, d, e, f y g deberán estar en 1 para cada código BCD
de modo que el display de 7 segmentos forme el dibujo del correspondiente dígito
decimal.
Ahora podemos desear codificadores que operen con los códigos recién descritos
Decimal E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 S0 S1 S2 S3
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1
2 0 0 1 0 0 0 0 0 0 0 0 0 1 0
13
3 0 0 0 1 0 0 0 0 0 0 0 0 1 1
4 0 0 0 0 1 0 0 0 0 0 0 1 0 0
5 0 0 0 0 0 1 0 0 0 0 0 1 0 1
6 0 0 0 0 0 0 1 0 0 0 0 1 1 0
7 0 0 0 0 0 0 0 1 0 0 0 1 1 1
8 0 0 0 0 0 0 0 0 1 0 1 0 0 0
9 0 0 0 0 0 0 0 0 0 1 1 0 0 1
Entonces, para cada entrada que se ponga en 1 pasar a 1 las salidas indicadas, formando
el código BCD correspondiente (no olvide que este tipo de codificador da salida errónea
si más de una entrada se pone en 1).
La función lógica para cada salida es ahora un poco ms complejo. Por ejemplo, usando
suma de ministrémonos para S0 tendremos
S0 = E0*E1*E2*E3*E4*E5*E6*E7*E8*E9 + E0*E1*E2*E3*E4*E5*E6*E7*E8*E9
S0 = E0*E1*E2*E3*E4*E5*E6*E7*[E8(+) E9]
No es mucho lo que pudo ser simplificada, y lo mismo ocurrir con las otras salidas, pero
podemos hacer el análisis de un modo diferente. Dado que se supone que una sola entrada
puede estar en estado 1 podemos hacer la pregunta siguiente:
Observando la tabla vemos que ello sucede cuando está en 1 la entrada E8 la entrada E9.
Entonces podemos escribir: [6]
S0 = E8 + E9
S1 = E4 + E5 + E6 + E7
S2 = E2 + E3 + E6 + E7
S3 = E1 + E3 + E5 + E7
14
Observe que la entrada E0 no se utiliza pues ella corresponde a la situación en que todas
las salidas están en cero.
Ahora desearemos un circuito con cuatro entradas, mediante las cuales se le introducir un
código BCD y con ocho salidas, las que permitirán encender los segmentos adecuados en
el display de 7 segmentos para dibujar el símbolo correspondiente al dígito decimal
correspondiente a dicho código BCD. [7]
Decimal E0 E1 E2 E3 a b c d e f g
0 0 0 0 0 11 1 1 110
1 0 0 0 1 01 1 0 000
2 0 0 1 0 11 0 1 101
3 0 0 1 1 11 1 1 001
4 0 1 0 0 01 1 0 011
5 0 1 0 1 10 1 1 011
6 0 1 1 0 00 1 1 111
7 0 1 1 1 11 1 0 000
8 1 0 0 0 11 1 1 111
9 1 0 0 1 11 1 0 011
15
dentro del circuito que se está deseando. De igual forma en la construcción de circuitos
reales ese módulo puede comprarse en una tienda de electrónica y ser usado directamente.
Decodificadores
Multiplexores y Demultiplexores
Son circuitos combinacionales con una estructura de varias entradas y una nica salida de
datos. Permiten seleccionar una de las entradas para realizar la transmisión de datos desde
dicha entrada a la salida, que es nica (un circuito que realice el trabajo inverso se
denomina Demultiplexor). [8]
16
Un multiplexor es un selector de datos equivalente a un conmutador de m entradas y una
salida, por lo que también recibe el nombre de selector de datos o conmutador
electrónico.
17
Esta función se puede simplificar ms. La implementación con puertas lógicas es la
siguiente:
Conversor paralelo-serie: permiten seleccionar una de entre varias líneas de datos o enviar
las informaciones de varias líneas por una sola, dedicando un pequeño intervalo de tiempo
a cada una de ellas.
18
Demultiplexores
El circuito es:
19
Si examinamos el circuito veremos que el circuito demultiplexor es idéntico a un
decodificador de 2 a 4 líneas con entrada de habilitación:
Para el demultiplexor: la entrada Y provee los datos, mientras que las entradas C0 y
C1 son las entradas de control o selección.
Aunque ambos circuitos tienen aplicaciones diferentes, sus diagramas lógicos son
idénticos. Por esto, a los decodificadores con entrada de habilitación se les llama
decodificador/demultiplexor.
Circuitos comparadores
S1 = a*b
S3 = a*b
20
CONCLUSIONES
21
REFERENCIAS
[2] Sears, F., Zemansky, M., Young, H. and Freedman, R., Física universitaria, 11ª Ed.
(Pearson Education, California, 2006).
[3] Fraile, M. J., Maquinas eléctricas, 5ta Ed. (Mc Graw Hill, España, 2003).
[5] Zill, D., Ecuaciones diferenciales con aplicaciones de modelado, 6ta Ed.
(Thomson, Virginia, 1997). [6] MathWork Inc., Manual MATLAB. Version 7.0,
(Editorial Pearson, Estados Unidos, 2004). [7] Universidad Nacional de Quilmes,
http://iaci.unq.edu.ar/Materias/Cont.Digital/Apuntes/Apunt
ePagina/Practica%204.pdf, visitado en Octubre 7 (2011).
22