Está en la página 1de 40

UNIVERSIDAD NACIONAL MAYOR DE SAN

MARCOS
(Universidad del Perú, Decana de América)
FACULTAD DE INGENIERÍA ELÉCTRICA,
ELECTRÓNICA Y TELECOMUNICACIONES

Trabajo Práctico N4:


Lógica C-MOS

CURSO
Circuitos Digitales

DOCENTE
Alarcón Matutti Rubén

ALUMNO - CÓDIGO
Castro Moscoso José Miguel -18190007

FACULTAD
Facultad de Ingeniería Eléctrica, Electrónica y Telecom.

GRUPO - HORARIO
G2 | Martes 14:00-18:00

FECHA DE ASIGNACIÓN | FECHA DE ENTREGA


30/06/20 | 06/07/20

JULIO 2020
EJERCICIO 1:
Verificar mediante simulación:

Dada :

Se quiere diseñar dicha función F mediante funciones minimizadas X e Y


como se muestra enla figura, Diselar los circuitos X, Y teniendo como
entradas las variables indicadas. Usar el álgebra de boole.

SOLUCIÓN:
Para la resolución del ejercicio 1, crearemos la tabla de verdad en base a
la función que el problema nos plantea.
Tabla de Verdad
Entradas Salidas
A B C D F
0 0 0 0 1 m0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1 m4
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1 m8
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 1 m13
1 1 1 0 0 m14
1 1 1 1 1 m15

Podemos tomar minterminos o maxterminos, según su conveniencia. En


este caso, de acuerdo con esta tabla de verdad, conviene utilizar
mintérminos.

Función Booleana
Tomando solamente mintérminos, tenemos la siguiente función booleana:
F= Á B́ Ć D́+ Á B Ć D́+ A B́ Ć D́+ AB Ć D+ ABC D́+ ABCD

F=Ć D́∗( Á B́+ Á B+ A B́ ) + AB∗( Ć D+C D́+CD)

F=Ć D́∗[ Á ( B́+ B ) + A B́ ] + AB∗[Ć D+C( D́+ D)]

F=Ć D́∗[ Á + A B́ ] + AB∗[ Ć D+C ]

F=Ć D́∗( Á+ B́)+ AB∗( D+ C)


Aplicamos las leyes de Morgan: X’+Y’=(XY)’ y X’Y’=(X+Y)’
F=( C +´ D)∗ Á B́+ AB∗( D+ C)

F= Á B́ ( C+´ D)+ AB∗(D+ C)


´ Y = X ' Y ' + XY .
Sabemos que la compuerta XNOR tiene la forma de X ⊕
Entonces le damos forma a la función booleana F:
´ + D)
F (A , B , C , D)= AB ⊕(C

Como la compuerta que une X(A,B) y Y(C,D) es una compuerta XNOR,


podemos decir que, haciendo una comparativa:
F= X ⊕Y ´ D)
´ = AB ⊕(C+

Entonces tenemos que:


X ( A , B)= AB

Y (C , D)=C + D

Procedemos a simular la función booleana


Esquemático

Simulaciones
A B C D F
0 0 0 0 1
A B C D F
0 0 0 1 0

A B C D F
0 0 1 0 0

A B C D F
0 0 1 1 0
A B C D F
0 1 0 0 1

A B C D F
0 1 0 1 0
A B C D F
0 1 1 0 0

A B C D F
0 1 1 1 0
A B C D F
1 0 0 0 1

A B C D F
1 0 0 1 0

A B C D F
1 0 1 0 0
A B C D F
1 0 1 1 0
A B C D F
1 1 0 0 0
A B C D F
1 1 0 1 1

A B C D F
1 1 1 0 0
A B C D F
1 1 1 1 1
EJERCICIO 2:
Verificar mediante simulación: Dada la función F se pide:

a) Diseñar el mínimo circuito utilizando solo puertas NANDs. Usar álgebra


de Boole.
b) Diseñar la función como un circuito mínimo en lógica de transistores
CMOS.

SOLUCIÓN:
Para resolver el ejercicio, realizaremos la tabla de verdad para poder
armar la función por el método de maxterminos.

Tabla de Verdad
Entradas Salida
A B C F
0 0 0 0 M0
0 0 1 0 M1
0 1 0 0 M2
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Función booleana
De la tabla expuesta, formaremos la función booleana F (A, B, C) aplicando
el método de maxtérminos:
F (A , B , C)=(A + B+C)( A+ B+ Ć)( A + B́+ C)

F (A , B , C)=(( A+ B)+ Ć C)( A+ B́+C )

F (A , B , C)=(A + B)( A + B́ +C)

F ( A , B ,C )= A+ B ( B́+C )
F ( A , B ,C )= A+ B ( B́+C )
F ( A , B ,C )= A+ BC

A partir de ahora resolveremos cada inciso con esta forma de la función

Inciso a)
Nos piden que esquematicemos la función solo con puertas NAND. Para
esto, debemos cambiar la forma de esta función, la cual llamaremos F a ya
que solo usaremos esta forma para este inciso. Lo podemos hacer
aplicando las leyes de Morgan y obtenemos:
F a ( A , B ,C )= A+ BC

F a ( A , B ,C )= A+´´BC

F a ( A , B ,C )= Á .´BC
´

Esta función solo reúne compuertas NANDs, justo como el problema nos
pide. Entonces procederemos a esquematizar.

Esquemático:

C
Simulaciones:
A B C F
0 0 0 0

A B C F
0 0 1 0
A B C F
0 1 0 0

A B C F
0 1 1 1
A B C F
1 0 0 1
A B C F
1 0 1 1

A B C F
1 1 0 1
A B C F
1 1 1 1

Inciso b)
Para la resolución de este inciso, no es necesario hacer un cambio de forma a la
función, sin embargo, por estética, pondremos a la función booleana como F b, tan solo
para diferenciarla de inciso a). Entonces tenemos:
F b ( A , B ,C )= A+ BC

No es necesario darle otra forma a la función. Sin embargo, para realizar una
esquematización con la lógica CMOS es necesario hallar el complemento de la función
Fb. Entonces tendremos:

F́ b ( A , B ,C )= A+´BC
´
F́ b ( A , B ,C )= Á . BC

F́ b ( A , B ,C )= Á .( B́+ Ć)

A la función que tiene las variables negadas le denominaremos la función PUN y la


función que tiene las variables sin negar le llamaremos la función PDN.
Observamos también que Fb no contiene variables negativas. Cuando la función
principal no contiene variables negadas, entonces debemos acompañar a la función
con la compuerta NOT en la salida. Así tendríamos el circuito.
Esquemático

C
Simulaciones:

A B C F
0 0 0 0
A B C F
0 0 1 0
A B C F
0 1 0 0
A B C F
0 1 1 1
A B C F
1 0 0 1
A B C F
1 0 1 1
A B C F
1 1 0 1

A B C F
1 1 1 1
EJERCICIO 3:
Verificar mediante simulación:
Diseñar la función dada como un circuito en lógica de transistores CMOS.
Y ( a ,b ,c , d)=( a+b+´ c )∗d

SOLUCIÓN:
Debemos cambiar la forma de a red Y para poder simularlo lo más simple
posible.
Y ( a ,b ,c , d)=( a+b+´ c )∗d
´ c ) + d́
Y ( a , b , c , d ) =( a+b+
´ )∗ć+ d́
Y ( a , b , c , d ) =( a+b

Y ( a , b , c , d ) =á b́ ć + d́

Esta función vendrá a ser la función a diseñar

Procederemos a hallar el complemento del circuito Y, es decir, el circuito


PUN el cual es el complemento de Y:
Ý ( a , b , c , d ) =( a+b+´ c )∗d
Ý ( a , b , c , d ) =( a+b+ c )∗d

Para comprobar el correcto funcionamiento de esta función, realizaremos


su tabla de verdad.

Tabla de Verdad
Entradas Salida
a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d
0 0 0 0 0 1
0 0 0 1 0 1
0 0 1 0 1 1
0 0 1 1 1 0
0 1 0 0 1 1
0 1 0 1 1 0
0 1 1 0 1 1
0 1 1 1 1 0
1 0 0 0 1 1
1 0 0 1 1 0
1 0 1 0 1 1
1 0 1 1 1 0
1 1 0 0 1 1
1 1 0 1 1 0
1 1 1 0 1 1
1 1 1 1 1 0

Procederemos a esquematizar el circuito con lógica CMOS.

Esquemático
A

Simulaciones
a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d
0 0 0 0 0 1
a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d
0 0 0 1 0 1
a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d
0 0 1 0 1 1
a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d
0 0 1 1 1 0
a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d
0 1 0 0 1 1

a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d


0 1 0 1 1 0

a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d


0 1 1 0 1 1
a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d
0 1 1 1 1 0
a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d
1 0 0 0 1 1

a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d


1 0 0 1 1 0

a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d


1 0 1 0 1 1
a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d
1 0 1 1 1 0
a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d
1 1 0 0 1 1

a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d


1 1 0 1 1 0

a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d


1 1 1 0 1 1
a b c d ( a+ b+c ) Y = ( a+b+´ c )∗d
1 1 1 1 1 0

También podría gustarte