Anda di halaman 1dari 19

Estructura y Tecnología de Computadores (ITIG)

Luis Rincón Córcoles


José Ignacio Martínez Torre
Susana Borromeo
Cristina Conde Vilda
Ángel Serrano Sánchez de León

Tema 6. Circuitos combinacionales y puertas lógicas

Programa
1. Introducción.
2. Puertas lógicas básicas.
3. Análisis y síntesis de circuitos combinacionales.
4. Bloques combinacionales estándares principales.
4.1. Sumadores y restadores.
4.2. Decodificadores.
4.3. Multiplexores.
4.4. Desplazadores.
4.5. Dispositivos Lógicos Programables (Memorias ROM).
5. Bibliografía.

Conceptos básicos: circuito combinacional, puertas lógicas básicas (AND, OR,


NOT, NAND, NOR, XOR, XNOR), análisis de circuitos, síntesis de circuitos,
bloques combinacionales estándares (sumador/restador, decodificador,
multiplexor, desplazador, memorias ROM).

1
Tema 6. Circuitos combinacionales y puertas lógicas

1. Introducción
En los circuitos combinacionales la salida Z en un determinado instante
de tiempo ti sólo depende de X en ese mismo instante de tiempo ti , es
decir que no tienen capacidad de memoria y que se puede obviar la variable
de tiempo t.

Z(t) = F(X(t)) Z = F(X)

X F Z

Ejemplo: Sumador
Los circuitos combinacionales que vamos a estudiar son:
Puertas lógicas Sumadores y restadores.
Decodificadores y multiplexores.
Bloques combinacionales
Desplazadores.
Dispositivos lógicos programables (ROM). 3

Tema 6. Circuitos combinacionales y puertas lógicas

2. Puertas Lógicas
Puerta Lógica: Circuitos electrónicos compuestos por resistencias, diodos y
transistores que realizan las distintas operaciones booleanas.
Vamos a estudiar circuitos lógicos con el convenio de lógica positiva:
Nivel H (5 voltios) ⇔ 1 y Nivel L (0 voltios) ⇔ 0.
Las puertas lógicas básicas son:
AND.
OR.
NOT.
NAND.
NOR.
XOR.
XNOR.
4

2
Tema 6. Circuitos combinacionales y puertas lógicas

Puertas Lógicas Básicas: AND


Tabla de verdad Z = A AND B = A · B
A B Z
0 0 0
0 1 0
1 0 0
1 1 1

Tema 6. Circuitos combinacionales y puertas lógicas

Puertas Lógicas Básicas: OR


Tabla de verdad Z = A OR B = A + B
A B Z
0 0 0
0 1 1
1 0 1
1 1 1

3
Tema 6. Circuitos combinacionales y puertas lógicas

Puertas Lógicas Básicas: NOT


Tabla de verdad Z = NOT A = A
A Z
0 1
1 0

Tema 6. Circuitos combinacionales y puertas lógicas

Puertas Lógicas Básicas: NAND


Tabla de verdad Z = A NAND B = (A · B)
A B Z
0 0 1
0 1 1
1 0 1
1 1 0

4
Tema 6. Circuitos combinacionales y puertas lógicas

Puertas Lógicas Básicas: NOR


Tabla de verdad Z = A NOR B = (A + B)
A B Z
0 0 1
0 1 0
1 0 0
1 1 0

Tema 6. Circuitos combinacionales y puertas lógicas

Puertas Lógicas Básicas: XOR


Tabla de verdad Z = A XOR B = A ⊕ B
A B Z
0 0 0
0 1 1
1 0 1
1 1 0

10

5
Tema 6. Circuitos combinacionales y puertas lógicas

Puertas Lógicas Básicas: XNOR


Tabla de verdad Z = A XNOR B = A ⊕ B
A B Z
0 0 1
0 1 0
1 0 0
1 1 1

11

Tema 6. Circuitos combinacionales y puertas lógicas

3. Análisis de Circuitos Combinacionales


Análisis: Obtención de las funciones de conmutación que describen el
comportamiento del circuito, expresando la salida en función de las
entradas.

Ejemplo: X2
X2X1
X1

X1
X1X0
X0

X2
X1 X2X1X0
X0

Z=(X2X1 + X1X0 + X2X1X0) 12

6
Tema 6. Circuitos combinacionales y puertas lógicas

Síntesis: Suma de Productos


Síntesis: Materializar un circuito a partir de la función de conmutación. Es
inmediato generarlo con puertas AND-OR-NOT en forma de suma de
productos a partir de dicha función.

Ejemplo: Z= x2 + x1x0 + x3x2x0+ x2x1x0

13

Tema 6. Circuitos combinacionales y puertas lógicas

Síntesis: Puertas NAND (e inversores)


La síntesis de un sistema combinacional en forma de suma de productos
mediante puertas NAND es directa materializando todos los operadores
que aparecen en la expresión de conmutación con puertas NAND y se
añaden inversores en los términos formados por único literal.

Ejemplo: Z= x2 + x1x0 + x3x2x0+ x2x1x0= x2 · x1x0 · x3x2x0 · x2x1x0


Tma. Morgan

14

7
Tema 6. Circuitos combinacionales y puertas lógicas

Síntesis: Producto de Sumas


La síntesis de un sistema combinacional en forma de productos de sumas
mediante puertas AND-OR-NOT es directa materializando los operadores
que aparecen en la expresión de conmutación con sus puertas lógicas
equivalentes.

Ejemplo: Z= x2(x1+x0)(x3+x2+x0)(x2+x1+x0)

15

Tema 6. Circuitos combinacionales y puertas lógicas

Síntesis: Puertas NOR (e inversores)


La síntesis de un sistema combinacional en forma de productos de sumas
mediante puertas NOR es directa materializando los operadores que aparecen
en la expresión de conmutación con sus puertas NOR y añadiendo inversores en
los términos formados por un único literal.

Ejemplo: Z= x2(x1+x0)(x3+x2+x0)(x2+x1+x0)= x2+(x1+x0)+(x3+x2+x0)+(x2+x1+x0)


Tma. Morgan

16

8
Tema 6. Circuitos combinacionales y puertas lógicas

4. Bloques combinacionales estándares


Las materializaciones en forma de redes de puertas básicas no son adecuadas
cuando la complejidad del diseño es grande.

• En estos casos se realiza diseño jerárquico y modular, y no


materializaciones mediante redes de puertas básicas (gran propensión a
errores).

Ese diseño jerárquico y modular se puede llevar a cabo si se dispone de


módulos que realicen funciones más complejas que las puertas básicas y que
permitan dividir el diseño en partes más sencillas.

Los módulos que vamos a estudiar en lo que queda de tema son:


sumador/restador, decodificador, multiplexor, desplazador, ROM. Otro módulo
que estudiaremos en temas posteriores es la ALU.

17

Tema 6. Circuitos combinacionales y puertas lógicas

4.1. Sumadores: semisumador elemental


El semisumador (half adder) es un circuito que suma dos bits de entrada a y
b y devuelve un bit de resultado s y un bit de acarreo cout.

Tabla de verdad
a cout = a·b
a b cout s
+ Sum
s
s=a⊕b 0 0 0 0
b
0 1 0 1
CarryOut 1 0 0 1
1 1 1 0
Circuito con puertas lógicas

S Cronograma

S
18

9
Tema 6. Circuitos combinacionales y puertas lógicas

Sumador elemental completo


El sumador completo (full adder) es un circuito que suma dos bits de entrada
a y b más un acarreo de entrada cin y devuelve un bit de resultado s y un bit
de acarreo cout.
Tabla de verdad
a b a b cin cout s
cOUT = a·b + a·cIN+b·cIN 0 0 0 0 0
cs
+ 0 0 1 0 1
cOUT ccINe s = a ⊕ b ⊕ cIN
s 0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
S 1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

Cronograma

S
19

Tema 6. Circuitos combinacionales y puertas lógicas


Sumador de n bits con propagación de acarreo en serie
A B
Se construye asociando n sumadores
elementales completos (full adder) que n n

reciben y procesan todos ellos los datos en


paralelo. El acarreo se propaga en serie de cs + ce

un sumador a otro.
n

Circuito con sumadores elementales S

an-1 bn-1 a1 b1 a0 b0

a b a b a b

cn-1 cs
+ ce
... cs
+ ce cs
+ ce
c-1
s s s

sn-1 s1 s0 20

10
Tema 6. Circuitos combinacionales y puertas lógicas
Restadores binarios
Restar en C2: al minuendo se suma el complemento a 2 del sustraendo:
Para complementar el sustraendo, invertimos todos sus bits e
introducimos un 1 en el acarreo de entrada del sumador menos significativo.
Por este procedimiento también había que invertir el acarreo de salida.
Esto funciona tanto para binario puro como para complemento a 2 (en
complemento a 2 el acarreo se desprecia, y habría que detectar el posible
desbordamiento de otro modo).

an-1 bn-1 a1 b1 a0 b0

a b a b a b

cs
+ ce
... cs
+ ce cs
+ ce
'1'
cn-1
s s s

sn-1 s1 s0 21

Tema 6. Circuitos combinacionales y puertas lógicas

Sumador/restador
Podemos unir los circuitos anteriores y construir uno que haga sumas y restas en
función de una señal de control SUMADOR / RESTADOR DE n BITS.
an-1 bn-1 an-2 bn-2 a1 b 1 a0 b 0
Op

a b a b a b a b

cs
+ ce cs
+ ce
... cs
+ ce cs
+ ce
s s s s

sn-1 sn-1 s1 s0

Ejercicio 7 (Tema 5): Op = 0 OPERACIÓN DE SUMA


cn-1 ⊕ = Op = 1 OPERACIÓN DE RESTA
⊕ =
22

11
Tema 6. Circuitos combinacionales y puertas lógicas

4.2. Decodificadores
Un decodificador (o decodificador de n a 2n) es un módulo combinacional con n
entradas y 2n salidas, además de una señal de activación (Enable) de entrada.
El decodificador activa la salida i-ésima cuando se presenta la combinación binaria
i en las entradas, siempre y cuando el módulo esté activo (enable=1): se activa la
salida correspondiente al número binario codificado en la entrada.

23

Tema 6. Circuitos combinacionales y puertas lógicas


Ejemplo: Decodificador de 4 a 16.

24

12
Tema 6. Circuitos combinacionales y puertas lógicas

Síntesis de funciones con decodificadores


Un decodificador permite materializar todos los minterms de una función de n
variables.

Por lo tanto se puede usar para sintetizar cualquier función de n variables


expresada como suma de minterms sin más que usar un decodificador de n a
2n y una puerta OR con tantas entradas como sumandos tenga la
expresión de la función.

25

Tema 6. Circuitos combinacionales y puertas lógicas

Ejemplo: diseño de las funciones f1,f2 y f3 mediante decodificadores.

26

13
Tema 6. Circuitos combinacionales y puertas lógicas

4.3. Multiplexores
Un multiplexor (o multiplexor de 2n a 1) es un módulo combinacional con 2n
entradas y 1 salida, además de una señal de activación y n señales de control.

El multiplexor conecta una de las 2n entradas a la salida. Esta entrada se


selecciona con la palabra de control S (n bits).

27

Tema 6. Circuitos combinacionales y puertas lógicas

Ejemplo: Multiplexor de 4 entradas (de 4 a 1).

28

14
Tema 6. Circuitos combinacionales y puertas lógicas

Síntesis de funciones con multiplexores


Un único multiplexor de 2n a 1 permite materializar cualquier función de
conmutación de n variables. La expresión de una función como suma de
productos consiste en la suma de los minterms mi para los que la FC, f(i), toma
valor cierto, es decir:

Obviando E (enable), esta expresión coincide con la expresión del multiplexor


si se identifican: xi = f(i) ∀ i=0, ..., 2n-1, (sn-1, ..., s0) =(an-1, ..., a0). En resumen,
debemos conectar:
• Las entradas de la función (an-1,…, a0) a las entradas de control del
multiplexor (sn-1,...,s0) .
• El valor f(i) que toma la función con la entrada de datos xi del multiplexor:
0 conexión a tierra (GND).
1 conexión a fuente de alimentación (VCC).
29

Tema 6. Circuitos combinacionales y puertas lógicas

30

15
Tema 6. Circuitos combinacionales y puertas lógicas

4.4. Desplazadores
Un desplazador (shifter) es un módulo combinacional con n+2 entradas de
datos y n salidas, además de una señal de activación y señales de control.
El desplazador puede mover o no
bits a derecha e izquierda en
desplazamientos abiertos o
cerrados (rotaciones) bajo las
órdenes de las señales control.

31

Tema 6. Circuitos combinacionales y puertas lógicas

Aunque se pueden materializar mediante expresiones de conmutación a través


de puertas lógicas, la construcción habitual suele consistir en un conjunto de
multiplexores.

32

16
Tema 6. Circuitos combinacionales y puertas lógicas

4.5. Dispositivos Lógicos Programables


Conjunto de circuitos integrados formados por cierto número de puertas
lógicas y/o módulos básicos y/o biestables cuyas conexiones pueden ser
personalizadas o programadas, bien sea por el fabricante o por el usuario.
Costes de producción bajos (fabricación de grandes tiradas).
Personalización de diseños por los usuarios (aumentan la confidencialidad).
Consumos medios, aunque hay familias especializadas en bajo consumo.
Velocidad intermedia.
Fiabilidad alta.
Tiempo de desarrollo muy bajo, sin dependencia de terceros.
Metodología sencilla.
Equipamiento sencillo.

Ejemplos:
• ROM (Read-only memory).
• PAL (Programmable Array Logic).
• PLA (Programmable Logic Array).
• FPGA (Field-Programmable Gate Array).
33

Tema 6. Circuitos combinacionales y puertas lógicas

Memorias ROM (Read-only memory)


• Memorias no volátiles y de acceso aleatorio.

• ROM y PROM sólo permiten lectura.

• La información se graba en el proceso de fabricación (ROM) o mediante un


proceso eléctrico posterior irreversible (PROM). Información inalterable.

• EPROM, EEPROM y Flash son memorias permanentes, pero pueden


borrarse mediante luz UV (EPROM) o elevadas corrientes eléctricas
(EEPROM y Flash).

• EPROM: se borran totalmente; EEPROM: se borran a nivel de palabra.

• Flash: se borran a nivel de bloque ( mayor velocidad).

ROM EPROM Flash 34

17
Tema 6. Circuitos combinacionales y puertas lógicas

Una memoria ROM (Read Only Memory - memoria de sólo lectura) es un


módulo combinacional con n entradas de direcciones y k salidas de datos,
además de una o varias señales de activación o selección.

Una memoria ROM es un circuito programable,


que se compone internamente de dos grupos
de puertas: un grupo de puertas AND (e
inversores) y un grupo de puertas OR.

El grupo de puertas AND están programadas


de antemano y conectadas de forma
inalterable, mientras que el grupo de puertas
OR son programables por el usuario.

35

Tema 6. Circuitos combinacionales y puertas lógicas

El grupo de puertas AND se puede ya entender como un decodificador de n a


2n con el que se generan todos los minterms para cualquier función de n
variables (direcciones).
Ese decodificador (prefijado) junto a un grupo
de puertas OR programables permite
materializar cualquier función de n variables.

Cualquier salida de datos de la ROM


materializa la siguiente ecuación de
conmutación:

donde:

fj(i)=1 si existe la conexión (fila i, columna j) en el grupo


grupo OR
OR
fj(i)=0 si no existe dicha conexión
36

18
Tema 6. Circuitos combinacionales y puertas lógicas

Ejemplo: Materializar el comparador de


de dos palabras a={a1a0} y b={b1b0} que
cumple lo siguiente:

(Queda como ejercicio demostrarlo)

Seleccionamos las salidas que generan


los minterms de las funciones y
programar las conexiones en el grupo
OR para cada una de las salidas. Se
almacena directamente la tabla de
verdad.
37

Tema 6. Circuitos combinacionales y puertas lógicas

5. Bibliografía
D.A. PATTERSON, J.L. HENNESSY. Estructura y Diseño de Computadores.
Reverté, 2000.
A. PRIETO, A. LLORIS, J.C. TORRES. Introducción a la Informática. 3ª
edición, McGraw-Hill, 2002.
J.M. ANGULO, J.GARCÍA. Sistemas Digitales y Tecnología de Computadores.
Paraninfo, 2002.
D.D. GAJSKI. Principios de diseño digital. Prentice Hall, 1997.
T.L. FLOYD. Fundamentos de sistemas digitales. Prentice Hall, 2000.
W. STALLINGS. Organización y Arquitectura de Computadores. 5ª edición,
Prentice Hall, 2000.

38

19