Está en la página 1de 59

2 .

1 CIRCUITOS COMBINACIONALES
Elena Valderrama
Universidad Autónoma de Barcelona
2 .1
1. Circuitos combinacionales
Circuitos digitales que implementan una o varias funciones de conmutación, y tales que 
las salidas del circuito en cada instante de tiempo dependen única y exclusivamente de las 
señales de entrada en aquel mismo instante
señales de entrada en aquel mismo instante.

Circuito 
Circuito
… combinacional …

2
2 .1
1. Circuitos combinacionales
Sumador  de números de números de 4 cifras binarias (4 bits)

Sumador números
de 4 bits

s <= X + Y + acarreoIN; 
if s > 1111 then Z <= s ‐ 10000; acarreoOUT <= 1; 
else Z <= s; acarreoOUT <= 0; 
end if;
(Operaciones en base‐2) 3
2 .1
2.1 Síntesis a partir de una tabla: Memoria ROM

Sumador números
de 4 bits

ss <= X + Y + acarreo
<= X + Y + acarreoIN; ;
if s > 1111 then Z <= s ‐ 10000; acarreoOUT <= 1; 
else Z <= s; acarreoOUT <= 0; 
end if;

4
TABLA DE VERDAD
2 .1

…. ….

5
….
TABLA DE VERDAD

….

RO
OM de 29 pallabras (512) de 5 bits
2 .1
2.1 Síntesis a partir de una tabla: Memoria ROM
CC de n entradas y m salidas  ROM de 2n palabras de m bits por palabra

ROM 2n palabras de 
ROM 2 palabras de
m bits 

Circuito 
… combinacional …


… habitualmente ineficiente !

7
2 .1
PREGUNTA

¿Cuál debería ser el tamaño mínimo (número de palabras y número de bits por palabra 
de una ROM que implementase un circuito combinacional de 8 entradas y 16 salidas?
q p y

1. 23 palabras de 16 bits
2
2. 28 palabras de 16 bits
l b d 16 bit
3. 24 palabras de 8 bits
4. 216 palabras de 8 bits

8
2 .1
2.2 Síntesis a partir de una tabla: Puertas lógicas
xi yi

Sumador números Sumador   


de 4 bits acarreoOUT 1 bit acarreoIN

zi

x3 y3 x2 y2 x1 y1 x0 y0

Sumador    Sumador    Sumador    Sumador   


acarreoOUT 1 bit 1 bit 1 bit 1 bit acarreoIN

z3 z2 z1 z0

9
2 .1
xi yi

Sumador   
acarreoOUT 1 bit acarreoIN
(co) (ci)

zi

ss <= x
< xi + y
+ yi + c
+ ci; ;
if s = 0 then zi <= 0; co = 0; 
elsif s = 1 then zi <= 1; co <= 0; 
elsif s = 2 then zi <= 0; co <= 1;
else zi <= 1; co <= 1; 
end if;
end if;
end if;

10
2 .1
2.2 Síntesis a partir de una tabla: Puertas lógicas
xi yi

Sumador   
co ci
1 bit

zi

xi yi ci co zi
0  0  0  0  0 
0  0  1  0  1 
0 1
1  0
0  0
0  1
0  1  1  1  0 
1 0  0  0  1
1 0  1  1  0
1 1  0  1  0
1 1  1  1  1
11
2 .1
2.2 Síntesis a partir de una tabla: Puertas lógicas
xi yi

co
Sumador   
ci x x
1 bi
1 bit z z x z
y y
zi
x y z x y z x y
xi yi ci co zi
0 0 0 0 0
0  0  0  0  0 
0  0  1  0  1 
0 1 0 1 1
0 1
1  0
0  0
0  1 1 0 1 0 INV
0 1  1  1  0 1 1 1 1
1 0  0  0  1
1 0  1  1  0 AND OR
1 1  0  1  0
1 1  1  1  1
12
2 .1
2.2 Síntesis a partir de una tabla: Puertas lógicas
xi yi

Sumador   
co ci
1 bi
1 bit

zi

xi yi ci co zi
0  0  0  0  0 
0  0  1  0  1 
0 1
1  0
0  0
0  1
0 1  1  1  0
1 0  0  0  1
1 0  1  1  0
1 1  0  1  0
1 1  1  1  1
13
2 .1
2.2 Síntesis a partir de una tabla: Puertas lógicas
xi yi

Sumador   
co ci
1 bi
1 bit

zi

xi yi ci co zi
0  0  0  0  0 
0  0  1  0  1 
0 1
1  0
0  0
0  1
0 1  1  1  0
1 0  0  0  1
1 0  1  1  0
1 1  0  1  0
1 1  1  1  1
14
2 .1

Necesitamos una herramienta que nos permita implementar cualquier circuito digital 
Necesitamos una herramienta que nos permita implementar cualquier circuito digital
utilizando el menor número posible de puertas

ÁLGEBRA DE BOOLE
ÁLGEBRA DE BOOLE

15
2 .1
((Ejercicio)
j )
xi yi
Diseñar con puertas lógica la salida zi del sumador de 1 bit
Sumador   
co ci
1 bit

zi

xi yi ci co zi
0  0  0  0  0 
0  0  1  0  1 
0 1
1  0
0  0
0  1
0  1  1  1  0 
1 0  0  0  1
1 0  1  1  0
1 1  0  1  0
1 1  1  1  1
16
2 .1
((Solución del ejercicio
j propuesto)
p p )
xi yi
Diseñar con puertas lógica la salida zi del sumador de 1 bit
Sumador   
co ci
1 bit

zi

xi yi ci co zi
0  0  0  0  0 
0  0  1  0  1 
0 1
1  0
0  0
0  1
0  1  1  1  0 
1 0  0  0  1
1 0  1  1  0
1 1  0  1  0
1 1  1  1  1
17
2 .1
2.2 Síntesis a partir de una tabla: Puertas lógicas
xi yi

Sumador   
co ci
1 bi
1 bit

zi

xi yi ci co zi
0  0  0  0  0 
0  0  1  0  1 
0
0  1
1  0
0  0 1
0  1  1  1 0
1  0  0  0 1
1  0  1  1 0
1  1  0  1 0
1  1  1  1 1
18
2 .1
RESUMEN
 Circuitos combinacionales
 Diseño de circuitos combinacionales utilizando memorias ROM (tablas)
Diseño de circuitos combinacionales utilizando memorias ROM (tablas)
 Primer intento de diseño utilizando puertas lógicas

19
2 .1

20
2 .2 ÁLGEBRA DE BOOLE
Elena Valderrama
Universidad Autónoma de Barcelona
2 .2
1. Álgebra de Boole
g

 Un álgebra de Boole un conjunto finito de elementos sobre el cual se han definido dos 
operaciones (suma y producto) que cumplen 5 postulados que veremos a continuación
operaciones (suma y producto) que cumplen 5 postulados que veremos a continuación. 
 El álgebra de conmutación(*) es un álgebra de Boole en el que el conjunto de elementos se 
limita a {0,1}

B  0,1, operación , operación 

(*) En el ámbito de los sistemas digitales se trabaja con álgebras de conmutación, aunque se utiliza el nombre genéricos de 
álgebra de Boole.
22
2 .2
1. Álgebra de Boole
g
P 1 ‐ Las operaciones + y . son internas,   a , b  B , a  b  B y a  b  B

Existe un elemento neutro para cada operación a  B , a  0  a, a 1  a


P 2 Existe un elemento neutro para cada operación,  
P 2 ‐

P 3 – Existencia del elemento inverso,   a  B ,  a  B | a  a  1, a  a  0

P 4 ‐ Las operaciones son conmutativas,   a  b  b  a, a  b  b  a

P 5 ‐ Las operaciones son distributivas,   a  (b  c )  a  b  a  c, a  b  c  ( a  b)  ( a  c )

23
2 .2
1. Álgebra de Boole
g
La única manera de definir las operaciones suma_lógica y producto_lógico de forma que 
cumplan los 5 postulados es …

a b aa+bb a.b
0 0  0  0 
0 1  1  0 
1 0
0  1
1  0
1 1  1  1

24
2 .2
1. Álgebra de Boole
g

a  (b  c )  a  b  a  c , a  b  c  ( a  b )  ( a  c )

25
2 .2
2. Propiedades útiles del álgebra de Boole
p g
1 ‐ Elemento inverso,   0  1, 1  0
2 ‐ Idempotencia,  
p , a  a  a, a  a  a

P1 a, b  B, a  b  B y a  b  B
P1 ‐
P2 ‐ a  B, a  0  a, a 1  a
P3 ‐ a  B,  a  B | a  a  1, a  a  0
P4 ‐ a  b  b  a, a  b  b  a
P5 ‐ a  (b  c)  a  b  a  c, a  b  c  (a  b)  (a  c)

26
2 .2
(Ejercicio)
Demuestra que   a  a  a
Pista: Utiliza la segunda parte de los postulados 2,3 y 5 de manera similar a cómo lo hemos hecho 
Pista: Utiliza la segunda parte de los postulados 2 3 y 5 de manera similar a cómo lo hemos hecho
anteriormente

P1 a, b  B, a  b  B y a  b  B
P1 ‐
P2 ‐ a  B, a  0  a, a 1  a
P3 ‐ a  B,  a  B | a  a  1, a  a  0
P4 ‐ a  b  b  a, a  b  b  a
P5 ‐ a  (b  c)  a  b  a  c, a  b  c  (a  b)  (a  c)

27
2 .2
(Resolución del ejercicio)
(Resolución del ejercicio)
Demuestra que   a  a  a
Pista: Utiliza la segunda parte de los postulados 2,3 y 5 de manera similar a cómo lo hemos hecho 
Pista: Utiliza la segunda parte de los postulados 2 3 y 5 de manera similar a cómo lo hemos hecho
anteriormente

P1 a, b  B, a  b  B y a  b  B
P1 ‐
P2 ‐ a  B, a  0  a, a 1  a
P3 ‐ a  B,  a  B | a  a  1, a  a  0
P4 ‐ a  b  b  a, a  b  b  a
P5 ‐ a  (b  c)  a  b  a  c, a  b  c  (a  b)  (a  c)

28
2 .2
2. Propiedades útiles del álgebra de Boole
p g
1 ‐ Elemento inverso,  0  1, 1  0
2 ‐ Idempotencia,  
p , a  a  a, a  a  a

3 ‐ Involución,   aa


4 ‐ Asociatividad,   a  (b  c )  ( a  b)  c, a  (b.c )  ( a.b).c

5 ‐ Absorción,   a  a.b  a , a  ( a  b )  a

6 ‐ (sin nombre),   a  a.b  a  b, a  ( a  b )  a.b

7 ‐ de Morgan,   ( a  b )  a.b, a.b  a  b

8 ‐ de Morgan generalizada,   ( a1  a2  ...  a n )  a1.a2 ...an , a1.a2 ... an  a1  a2  ...  an

29
2 .2
PREGUNTA

A qué expresión booleana es equivalente la siguiente: a  (b  cd )  a.b
Pista: Utiliza los postulados y las propiedades del álgebra de Boole
Pista: Utiliza los postulados y las propiedades del álgebra de Boole

1. a.b  b.c  d
2. a.b
3. a.b  b.c  d
4. a.b  b.c  b.d

30
2 .2
3. Funciones booleanas y tablas de verdad
y
a)  Toda función booleana puede representarse explícitamente por una tabla de verdad

f ( a , b, c )  b.c  a.b

a b c f(a,b,c)
0 0 0
0  0

0 0 1  0 
0 1 0  1 
0 1 1  1 
1 0 0  0 
1 0 1  0 
1 1 0  1 
1 1 1  0 

31
2 .2
3. Funciones booleanas y tablas de verdad
y
b) Dada una tabla de verdad ¿podemos encontrar una función booleana equivalente?... 
La respuesta es SI

LITERAL

Cualquier variable o su elemento inverso a, a, b, b, c, c, ...


Cualquier variable o su elemento inverso : 

MINTERM de n variables

Cualquier producto de n literales tal que cada variable aparece una sola vez. Para n=3, 
los siguientes términos son minterms : 

a.b.c, a.b.c, a.b.c, a.b.c, ...

32
2 .2
3. Funciones booleanas y tablas de verdad
y
MINTERM de n variables : Cada minterm toma el valor 1 para una única combinación de 
valores

a b c
a.b.c  1  0 0 0  m0  a.b.c
a.b.c  1  0 0 1  m1  a.b.c
a.b.c  1  0 1 0  m2  a.b.c
a.b.c  1  0 1 1  m3  a.b.c
a.b.c  1  1 0 0  m4  a.b.c
a.b.c  1  1 0 1  m5  a.b.c
a.b.c  1  1 1 0  m6  a.b.c
a.b.c  1  1 1 1  m7  a.b.c
33
PREGUNTA

Indica cuál de las siguientes expresiones corresponde al minterm‐5  (m5 )en n=4:

1. a.b.c.d
2. a.b.c
3. a.b.c.d
4. a.b.c.d

34
2 .2
3. Funciones booleanas y tablas de verdad
y
MINTERM de una función booleana de n variables
Son aquellos minterms que coinciden con los 1s de la función

a b c f(a,b,c)
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0
35
2 .2
3. Funciones booleanas y tablas de verdad
y
Representación canónica en suma de productos de una función booleana de n variables

Toda función booleana puede representarse  a b c f(a,b,c)
de una manera única como la suma de sus 
0  0 0 0
minterms
0
0  0 1 0
0  1 0 1  m2  a.b.c
f ( a, b, c )  ( m2 , m3 , m6 )
0  1 1 1  m3  a.b.c
f ( a, b, c )  a.b.c  a.b.c  a.b.c
1  0 0 0
1  0 1 0
1  1 0 1  m6  a.b.c
1  1 1 0

36
2 .2
3. Funciones booleanas y tablas de verdad
y
if ((b=1 and c=0) or (a=0 and b=1)) then f=1; 
else f=0; 
end if;
end if;

a b c f(a,b,c)
0 0 0  0 
0 0 1  0  f ( a, b, c )  a.b.c  a.b.c  a.b.c 
0  1  0  1 
 a.b( c  c )  b.c.( a  a )  a.b  b.c
0 1 1
1  1

1  0  0  0 
f ( a, b, c )  ( m2 , m3 , m6 )
1 0 1  0 
f ( a, b, c )  a.b.c  a.b.c  a.b.c
1 1 0  1 
1 1 1  0 

37
2 .2
4. Ejemplo: Sumador binario de nºs
j p de 4 bits
xi yi

Sumador números Sumador   


de 4 bits acarreoOUT 1 bit acarreoIN

zi

x3 y3 x2 y2 x1 y1 x0 y0

Sumador    Sumador    Sumador    Sumador   


acarreoOUT 1 bit 1 bit 1 bit 1 bit acarreoIN

z3 z2 z1 z0

38
2 .2
4. Ejemplo: Sumador binario de nºs
j p de 4 bits
xi yi xi yi ci co zi
0  0  0  0  0 
Sumador    0 0 1 0 1
co ci
1 bit
0  1  0  0  1 
0 1 1 1 0
zi
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

39
2 .2
RESUMEN
 Álgebra de Boole. Postulados y propiedades.
 Representación tabular de funciones booleanas
Representación tabular de funciones booleanas
 Concepto de minterm y forma canónica de suma de productos
 Cómo obtener el circuito que implementa una descripción funcional particular 
(d
(descripción funcional 
i ió f i t bl d d d  función/es booleana/s 
l tabla de verdad f ió / b l / circuito)
i it )

40
2 .3 NAND, NOR, XOR, NXOR, TRI-STATE
Elena Valderrama
Universidad Autónoma de Barcelona
2 .3
1. NAND, NOR
,

 

a b a↑b a↓b
Símbolos algebraicos: 
0 0  1  1 
0 1  1  0  NAND(a, b) = a  b,
1 0  1  0 
NOR(a, b) = a  b.
1 1  0  0 

42
2 .3
1. NAND, NOR
,
Las puertas lógicas NAND y NOR son módulos universales

43
2 .3
(quiz)
¿Cómo implementarías una AND con puertas NOR e inversores?

1.

2.

3.

44
2 .3
(Ejercicio)
¿Cómo implementarías el circuito siguiente utilizando sólo  puertas NAND?

45
2 .3
(Resolución del ejercicio)
(Resolución del ejercicio)
¿Cómo implementarías el circuito siguiente utilizando sólo  puertas NAND?

46
2 .3
2. XOR, NXOR
,

a b XOR XNOR
0 0 0 1 Símbolos algebraicos:
Símbolos algebraicos: 
0 1 1 0 XOR(a, b) = a  b,
1 0  1  0  XNOR(a, b) = (a  b)
1 1 0 1

XOR = OR exclusiva

Las puertas lógicas XOR y NXOR no son módulos universales
47
2 .3
2. XOR, NXOR
, Las puertas lógicas XOR son asociativas
p g
a b c z
0 0 0 0 1
0 0 1 1 0

a b 0 1 0 1 0
a z
b z c z b 0 1 1 0 1
≈ ≈ c
c a 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1

n) n) n) … 1 1 1 1 0
… … …

Las puertas lógicas NAND y NOR no son asociativas


48
2 .3
2.1. XOR, NXOR
, Ejemplos de uso: Comparador de igualdad

If ((x3=y3) and (x2=y2) and (x1=y1) and  (x0=y0)) then z=1; 
else z=0;  end if;     

49
2 .3
2.2. XOR, NXOR
, Ejemplos de uso: Bits de paridad (par)

50
2 .3
2.3. XOR, NXOR
, Ejemplos de uso: Sumador de números de 4 bits

x3 y3 x2 y2 x1 y1 x0 y0

Sumador    Sumador    Sumador    Sumador   


acarreoOUT 1 bit
1 bit 1 bit
1 bit 1 bit
1 bit 1 bit
1 bit acarreoIN

z3 z2 z1 z0

51
2 .3
2.3. XOR, NXOR
, Ejemplos de uso: Sumador de números de 4 bits

52
2 .3
2.3. XOR, NXOR
, Ejemplos de uso: Sumador de números de 4 bits

y x

Suma       
co 1 bit
ci
x y

co
ci

53
2 .3
2.3. XOR, NXOR
, Ejemplos de uso: Sumador de números de 4 bits

x3 y3 x2 y2 x1 y1 x0 y0

Sumador    Sumador    Sumador    Sumador   


acarreoOUT 1 bit
1 bit 1 bit
1 bit 1 bit
1 bit 1 bit
1 bit acarreoIN

z3 z2 z1 z0

54
2 .3
3. BUFFER TRI‐STATE, INVERSOR TRI‐STATE
,
c c x z
0 0 H

x z
0 1 H
1  0  0 
1  1  1 

c
c x z
0  0  H 
x z 0  1  H 
1 0 1
1 1 0

55
2 .3
3. BUFFER TRI‐STATE, INVERSOR TRI‐STATE
,
c
c x z
0 0 0
x z 0 1 1
1 0 H
1  1  H 
c
c x z
0 0 1
x z 0 1 0
1 0 H
1 1 H

56
2 .3
3. BUFFER TRI‐STATE, INVERSOR TRI‐STATE
,

C1 C2 CK

x1 x2 x3 .. xn y1 y2 y3 .. yn z1 z2 z3 .. zn

Si C1=0 Xbus; si C2=0 Ybus; ... Cn=0 Zbus


Sól ñ l Ci está activa (C
Sólo una señal C á i (Ci =0) en cada instante de tiempo
0) d i d i

57
nombre símbolo función 2 .3
AND

OR

INV

NAND

NOR

XOR

XNOR

Tri-state

58
2 .3
RESUMEN
 NAND, NOR. Concepto e módulo universal.
 XOR,NXOR
 Buffers tri‐state. Bus.

59

También podría gustarte