bcapítulo03circuitos combinacionales

67
Sistemas Digitales 1 SISTEMAS COMBINACIONALES

Upload: csanhuezav

Post on 12-Jun-2015

495 views

Category:

Documents


0 download

DESCRIPTION

exelente para estudiantes de ing electronica

TRANSCRIPT

Page 1: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 1

SISTEMAS COMBINACIONALES

Page 2: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 2

Introducción En este capítulo estudiaremos

circuitos típicos que son utilizables en diversas máquinas digitales

Una de las más conocidas máquinas digitales son los computadores.

Page 3: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 3

Introducción Los computadores hacen uso de

circuitos tales como: Unidad Aritmética Lógica (ALU) Comparadores Multiplexores o selectores de datos Demultiplexores o decodificadores Codificadores Registros de desplazamientos (shift register) Contadores Etc.

Page 4: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 4

Sumador Binario de 2 bits Diseño de un sumador de 2 bits para sumar 2 números de dos bits AB y CD y un carry-in E.

yzE Carry-in (acarreo)

AB + CD

XYZ Suma

yz Carry-out

Sumador de2 bits

XX

YY

ZZ

EE

AA

BB

CC

DD

Page 5: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 5

Sumador Binario de 2 bits La representación simbólica sugiere

diseñar un sumador de 1 bit (EBD) y llevar en cascada el carry-out al 2º sumador de 1 bit y sumar zAC

El diagrama en bloques sugiere hacer una tabla de verdad y luego minimizar la función

Page 6: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 6

Sumador Binario de 2 bits La suma Z=1 Si un número impar de

entradas EBD = 1Z= E’B’D + E’BD’ + EB’D’ + EBD = E (B D)

El carry-out z= 1 si 2 o más entradas EBD = 1:z= E’BD + EB’D + EBD’ + EBD = EB + ED + BD

Similarmente en la segunda columna:Y= z’A’C + z’AC’ + zA’C’ + zAC = z (A C)y= z’AC + zA’C + zAC’ + zAC = zA + zC + AC

En la tercera columna:X = y

Page 7: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 7

Sumador Binario de 2 bits Diagrama en bloques

Sumador de 1 bit Sumador de 1 bit

A B A B C D C D

X Y X Y Z Z

yy zzEE

Page 8: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 8

Sumador Binario de 2 bits Diagrama lógico

BD

E

Z

z

AC

Y

X

Page 9: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 9

Sumador Binario de 2 bits directo, no en cascada Diagrama lógico

A B C B

Y ZX

E

E AB + CD XYZ Sumador de 2 bits

Page 10: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 10

Sumador Binario de 2 bits directo, no en cascada

E A B C D X Y Z

0 0 0 0 0 0 0 0 0

1 0 0 0 0 1 0 0 1

2 0 0 0 1 0 0 1 0

3 0 0 0 1 1 0 1 1

4 0 0 1 0 0 0 0 1

5 0 0 1 0 1 0 1 0

6 0 0 1 1 0 0 1 1

7 0 0 1 1 1 1 0 0

8 0 1 0 0 0 0 1 0

9 0 1 0 0 1 0 1 1

10 0 1 0 1 0 1 0 0

11 0 1 0 1 1 1 0 1

12 0 1 1 0 0 0 1 1

13 0 1 1 0 1 1 0 0

14 0 1 1 1 0 1 0 1

15 0 1 1 1 1 1 1 0

E A B C D X Y Z

16 1 0 0 0 0 0 0 1

17 1 0 0 0 1 0 1 0

18 1 0 0 1 0 1 1 1

19 1 0 0 1 1 1 0 0

20 1 0 1 0 0 0 1 0

21 1 0 1 0 1 0 1 1

22 1 0 1 1 0 1 0 0

23 1 0 1 1 1 1 0 1

24 1 1 0 0 0 0 1 1

25 1 1 0 0 1 1 0 0

26 1 1 0 1 0 1 0 1

27 1 1 0 1 1 1 1 0

28 1 1 1 0 0 1 0 0

29 1 1 1 0 1 1 0 1

30 1 1 1 1 0 1 1 0

31 1 1 1 1 1 1 1 1

Page 11: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 11

Sumador Binario de 2 bits directo, no en cascada Obteniendo las funciones y

minimizando se tiene:X= ABD + EBA + EAD + BCD + EBC + ECD + AC

Y= E’A’B’C’ + E’A’CD’ + E’AB’C’ + E’AC’D’ + EA’BC’ + EA’C’D + EABC + EACD + A’B’CD’ + AB’C’D’ + A’BC’D + ABCD

Z= EBD + EB’D’ + E’BD’ + E’B’D

Page 12: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 12

Sumador Binario de 2 bits directo, no en cascada estas expresiones pueden ser

escritas de otra forma:X= AC + A(BD + EB + ED) + C(BD + EB +

ED)X= AC + (A + C)(BD + EB + ED)

Y= (BD + EB +ED) (A C)

Z= E(BD + B’D’) + E’(BD’ + B’D)Z= E(B D)’ + E’(B D)Z= E (B D)

Page 13: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 13

Sumador Binario de 2 bits directo, no en cascada Diagrama Lógico

Page 14: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 14

Sumador/Restador de 4 bits Se trata de un solo circuito que

es capaz de sumar y restar. Evitando así dos circuitos separados para hacer estas operaciones.

Page 15: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 15

Sumador/Restador de 4 bits

A=5 0101 B=2 0010

0101 0010 forma almacenada

1101+1 complemento a 1 y se suma 1

1110

1 0011 =3 se bota

Page 16: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 16

Sumador/Restador de 4 bits

¿cómo hacer el complemento del sustraendo?

Sea W una entrada de control Sea y una entrada de dato Si W=0 ‘Y’ pasa sin cambiar a la

salida Si W=1 ‘Y’ es complementado

antes de pasar a la salida

Page 17: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 17

Sumador/Restador de 4 bits

Esto corresponde a un OR exclusivo

F = W’Y + WY’ = W Y

Control Dato Salida

W Y F

0 0 0

0 1 1

1 0 1

1 1 0

Y pasa sin cambiarY pasa sin cambiar

Y cambia al inversoY cambia al inverso

Page 18: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 18

Sumador/Restador de 4 bits

La implementación para 4 bits sería:WW

A3

A2

A1

A0

S3

S2

S1

S0

B3

B2

B1

B0

C0

Ci

Page 19: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 19

Diseño de una ALU Una ALU se puede diseñar

incorporando alguna circuitería al sumador/restador

Aquí se verá el caso de una ALU con 8 funciones aritméticas lógicas.

Previamente se diseñará un circuito capaz de realizar otras funciones adicionales

Page 20: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 20

Diseño de las funciones True/Complemento/Zero/Uno

Esta unidad (TC01) un circuito lógico combinacional que tiene:

Una entrada multibit Y Dos controles de 1 bit (E=enable;

W=complemento) Una salida multibit F

Page 21: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 21

Diseño de las funciones True/Complemento/Zero/Uno

La salida F del TC01 se define:Control Salida

W E F

0 0 Zeros

0 1 Y

1 0 Unos

1 1 Y’

Page 22: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 22

Diseño de las funciones True/Complemento/Zero/Uno

Suponiendo una entrada de 1 bit la tabla de verdad sería:

W E Y F

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 0

Pasa

Complemento

Zero

True

1

Complemento

Page 23: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 23

Diseño de las funciones True/Complemento/Zero/Uno De esta tabla se obtiene la función de salida F y luego aplicando Karnaugh, se obtiene F= W’EY + WY’ + WE’ F= W’EY + W(E’+Y’) F= W’EY + W(E’+Y’)’’ F= W’EY + W(E’’+Y’’)’ F= W’EY + W(EY)’ F= W EY

YE

W

F

Page 24: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 24

Implementación de la ALU de 8 funciones

Las funciones serán: Suma Resta Pasa Decrementa Incrementa Suma con carry-in X + complemento a 1

Page 25: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 25

Implementación de la ALU de 8 funciones

Tabla de verdad:Ci W E F Z Función

0 0 0 0 X Pasa X

0 0 1 Y X+Y Suma

0 1 0 1s X+1s Decrementa X

0 1 1 Y’ X+Y’ X+ complemento a 1

1 0 0 0s X+1 Incrementa X

1 0 1 Y X+Y+1 Suma con Carry-in

1 1 0 1s X+1s+1 Pasa X

1 1 1 Y’ X+Y’+1 Resta

Page 26: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 26

Implementación de la ALU de 8 funciones Ilustración de decremento, incremento y pasa

X = 0101 = 5F = 1111Z = 10100 = 4

Decrementa X

X = 0110 = 6F = 0000Ci = 1Z = 0111 = 7

Incrementa X

X = 0011 = 3F = 1111Ci = 1Z = 10011 = 3

Pasa X

Page 27: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 27

Implementación de la ALU de 8 funciones

f3 f2 f1 f0

Y3 Y2 Y1 Y0X3 X2 X1 X0

Z3 Z2 Z1 Z0

CiCo

E enable

W complemento

Sumador Binario

Page 28: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 28

Implementación de la ALU de 8 funciones

f3 f2 f1 f0

Y3 Y2 Y1 Y0X3 X2 X1 X0

Z3 Z2 Z1 Z0

CiCo

E

W

Sumador Binario

TC01

Page 29: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 29

Comparadores Los comparadores u operaciones de

comparación sirven para Comparar 2 números X e Y, y determinar si

X es igual, mayor o menor que Y Comparar 2 palabras de datos

alfanuméricos A y B, y determinar si A precede o sigue a B en un ordenamiento

Un comparador de n-bits determina si un número X de n-bits es =, > o < que Y de n-bits

Page 30: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 30

Comparadores ¿Cómo comparar dos palabras

alfanuméricas? Los códigos que representan

caracteres alfanuméricos están construidos de modo que: las letras están en secuencia

ascendente y son representados en binario en

forma ascendente

Page 31: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 31

Comparadores Por ejemplo: Código ASCII de 7 bits: A=1000001;

B=1000010; C=1000011 Lo mismo para otros códigos como

ASCII de 8 bits y EBCDIC

Nota: ASCII: American Estándar Code for Information Interchange EBCDI: Extended BCD Interchange Code

Page 32: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 32

Comparadores Comparador de 1 bit

E (=)

G (>)

L (<)

X Y X=Y X>Y X<y

0 0 1 0 0

0 1 0 0 1

1 0 0 1 0

1 1 1 0 0

E=X’Y’ + XY = (X Y)’

G= XY’

L= X’Y

Page 33: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 33

Comparadores Circuito lógico del comparador de

1 bit

XY

X

G

L

Page 34: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 34

Comparador de 2 bits

Sea X= X1X0 e Y= Y1Y0; entonces:

X=Y si X1=Y1 y X0=Y0

Luego: E= (X1 Y1)’ (X0 Y0)’ X>Y cuando:

(X1>Y1) o (X1=Y1 y X0>Y0)

Luego: G= X1(Y1)’ + (X1 Y1)’X0(Y0)’

Page 35: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 35

Comparador de 2 bits

Finalmente X<Y cuando:(X1 <Y1) o (X1=Y1 y X0 <Y0)

Luego: L= (X1)’Y1 + (X1 Y1)’(X0)’Y0)

Comparador de 2 bits

X1

X0

Y1

Y0

E

G

L

Page 36: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 36

Operaciones Lógicas y Aritméticas

Una ALU simple tiene la capacidad de realizar operaciones aritmética y lógicas

Aplicaciones comunes son: Enmascarar Fundir Complementar bits individuales de

palabras de datos

Page 37: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 37

Operaciones Lógicas y Aritméticas

AND: se puede usar para enmascarar (deshabilitar) parte de una palabra y extraer (habilitar) la parte restante

Ejemplo1010 1100 Palabra de dato

AND 1111 0000 Máscara1010 0000 Resultado

Page 38: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 38

Operaciones Lógicas y Aritméticas

OR: se puede usar para combinar (merge) dos palabras. Esto hace que aparezca un 1 en cada posición que hay un 1.

Ejemplo0011 1100 Palabra 1

OR 0101 0101 Palabra 20111 1101 Resultado

Page 39: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 39

Operaciones Lógicas y Aritméticas

XOR: se usa para pasar selectivamente o complementar bits individuales.

Ejemplo1100 0101 Palabra

XOR 0000 1111 Palabra Control1100 1010 Resultado

pasado complementado

Page 40: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 40

Operaciones Lógicas y Aritméticas

Estas tres operaciones son inherentes a un sumador completo

A

B

A B

A+B

A . B

C

S = C (A B)

C = AB + C (A + B)

Page 41: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 41

Multiplexores Un MUX es un dispositivo con múltiples

entradas y una salida, que selecciona una entrada la cual pasa a la salida

También es llamado Selector de datos Un MUX que tiene 2n entradas requiere

n líneas selectoras para elegir cual de las 2n entradas pasará a la salida

Page 42: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 42

Multiplexores

I0

I1

IN-1

Entrada de datos

Salida

Entradas de selección

Page 43: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 43

MUX 2 a 1i1

i0

O

salida

Sselector

S O

0 i0

1 i1

O= i0 S’ + i1 S

Oi0

S

i1

Page 44: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 44

MUX 4 a 1

i0

i1

i2

i3

O

salida

selectores

x y O

0 0 i0

0 1 i1

1 0 i2

1 1 i3

O= i0 x’y’ + i1 x’y + i2 xy’ + i3 xy

x y

Page 45: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 45

MUX 4 a 1

O

i0

i1

i2

i3

x

y

Page 46: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 46

Demultiplexor (DEMUX) Es un dispositivo con una

entrada y múltiples salidas que encamina la entrada a las salidas seleccionadas

También se conoce como distribuidor de datos

Page 47: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 47

Demultiplexor (DEMUX)

O0

O1

ON-1

Datos de entrada

Entradas de selección

Page 48: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 48

Demux 1 a 4O0

O1

O2

O3

x y O0 O1 O2 O3

0 0 I 0 0 0

0 1 0 I 0 0

1 0 0 0 I 0

1 1 0 0 0 I

I

entrada

selectores

x y

salidas

I

Page 49: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 49

Demux 1 a 4 O0 = x’y’I; O1 = x’yI; O2 = xy’I; O3

= xyII

x

y

O0

O1

O2

O3

Page 50: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 50

Codificadores, decodificadores, conversores de código Debido a que la memoria de muchos

computadores consiste de elementos de dispositivos de 2 estados, cada carácter de un conjunto de caracteres externos (letras, dígitos, símbolos) debe ser codificado en alguna forma binaria para ser almacenado en memoria

Cuando la palabra código es recuperada de memoria, debe ser decodificada a su forma original.

Page 51: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 51

Codificadores, decodificadores, conversores de código En los sistemas digitales se utilizan

diversos códigos Unos son numéricos

Binario natural BCD (Binary Coded Decimal) Gray Johnson De exceso tres

Otros son alfanuméricos

Page 52: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 52

Codificadores, decodificadores, conversores de código

Otros son alfanuméricos ASCII............................7 bits ASCII extendido........8 bits EBCDIC.........................8 bits

Page 53: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 53

Codificador BCD a 7 segmentos

Una representación de números muy usada es la lograda con 7 segmentos

Esto permite leer números en la forma conocida por seres humanos.

a

b

c

d

gf

e

Page 54: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 54

Codificador BCD a 7 segmentos

La representación de los números se logra activando los segmentos adecuados

Page 55: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 55

Codificador BCD a 7 segmentos

Dec A B C D a b c d e f g

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

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

2 0 0 1 0 1 1 0 1 1 0 1

3 0 0 1 1 1 1 1 1 0 0 1

4 0 1 0 0 0 1 1 0 0 1 1

5 0 1 0 1 1 0 1 1 0 1 1

6 0 1 1 0 0 0 1 1 1 1 1

7 0 1 1 1 1 1 1 0 0 0 0

8 1 0 0 0 1 1 1 1 1 1 1

9 1 0 0 1 1 1 1 0 0 1 1

- 1 0 1 0 x x x x x x x

- 1 0 1 1 x x x x x x x

- 1 1 0 0 x x x x x x x

- 1 1 0 1 x x x x x x x

- 1 1 1 0 x x x x x x x

- 1 1 1 1 x x x x x x x

Page 56: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 56

Codificador BCD a 7 segmentos

AB\CD 00 01 11 10

00 1 1 1

01 1 1

11 X X X X

10 1 1 X X

a= A+CD+B’D’+BD = A+CD+ (B D)’

AB\CD 00 01 11 10

00 1 1 1 1

01 1 1

11 X X X X

10 1 1 X X

b= B’+C’D’+CD = B’+ (C D)’

Page 57: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 57

Codificador BCD a 7 segmentos

AB\CD 00 01 11 10

00 1 1 1

01 1 1 1 1

11 X X X X

10 1 1 X X

c= C’+D+B

AB\CD 00 01 11 10

00 1 1 1

01 1 1

11 X X X X

10 1 X X

d= B’D’+B’C+CD’+BC`D

Page 58: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 58

Codificador BCD a 7 segmentos

AB\CD 00 01 11 10

00 1 1

01 1

11 X X X X

10 1 X X

e= B’D’+CD’

AB\CD 00 01 11 10

00 1

01 1 1 1

11 X X X X

10 1 1 X X

f= A+C’D’+BC’+BD’

Page 59: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 59

Codificador BCD a 7 segmentos

AB\CD 00 01 11 10

00 1 1

01 1 1 1

11 X X X X

10 1 1 X X

g= A+ CD’+ BC’+ B’C = A+CD’+ (B C)

Page 60: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 60

Generador y Chequeador de Paridad Paridad PAR: se cuentan los 1s en

la palabra y si es impar se agrega un 1 de paridad; si es par se agrega un 0.

El total de 1s después de la generación, debe ser par

Page 61: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 61

Generador y Chequeador de Paridad Paridad IMPAR: se cuentan los 1s

en la palabra y si es par se agrega un 1 de paridad; si es impar se agrega un 0.

El total de 1s después de la generación, debe ser impar

Page 62: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 62

Generador de ParidadA B C D P(par) P(impar)

0 0 0 0 0 1

0 0 0 1 1 0

0 0 1 0 1 0

0 0 1 1 0 1

0 1 0 0 1 0

0 1 0 1 0 1

0 1 1 0 0 1

0 1 1 1 1 0

1 0 0 0 1 0

1 0 0 1 0 1

1 0 1 0 0 1

1 0 1 1 1 0

1 1 0 0 0 1

1 1 0 1 1 0

1 1 1 0 1 0

1 1 1 1 0 1

Page 63: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 63

Generador de Paridad Par P= (A’B’C’D+A’B’CD’) + (A’BC’D’+A’BCD) +

(ABC’D+ABCD’) + (AB’C’D’+AB’CD) P= A’B’(C’D+CD’) + A’B(C’D’+CD) +

AB(C’D+CD’) + AB’(C’D’+CD) P= (A’B’+AB)(C`D+CD’) + (A’B+AB’)

(C’D’+CD) Sea:

X= A’B+AB’ = A B Y= C`D+CD’ = C D

P= X’Y+XY’ = X Y = (A B) (C D)

Page 64: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 64

Generador de Paridad Par

AB

CD

P

PAB

CD

Page 65: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 65

Chequeador de Paridad Es un dispositivo que prueba un

dato más su paridad para determinar si ha ocurrido un error en la palabra

Se verá el caso de un chequeador de paridad par para palabras de 2 bits a la que se agrega un tercer bit de paridad

Page 66: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 66

Chequeador de Paridad Par

F= P (A B)

A B P F

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

AB

P

F

Page 67: bCapítulo03Circuitos  Combinacionales

Sistemas Digitales 67

F I N