bCapítulo03Circuitos Combinacionales

Post on 12-Jun-2015

491 views 0 download

description

exelente para estudiantes de ing electronica

Transcript of bCapítulo03Circuitos Combinacionales

Sistemas Digitales 1

SISTEMAS 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.

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.

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

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

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

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

Sistemas Digitales 8

Sumador Binario de 2 bits Diagrama lógico

BD

E

Z

z

AC

Y

X

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

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

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

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)

Sistemas Digitales 13

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

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.

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

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

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

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

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

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

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’

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

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

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

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

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

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

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

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

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

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

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

Sistemas Digitales 33

Comparadores Circuito lógico del comparador de

1 bit

XY

X

G

L

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)’

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

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

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

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

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

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)

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

Sistemas Digitales 42

Multiplexores

I0

I1

IN-1

Entrada de datos

Salida

Entradas de selección

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

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

Sistemas Digitales 45

MUX 4 a 1

O

i0

i1

i2

i3

x

y

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

Sistemas Digitales 47

Demultiplexor (DEMUX)

O0

O1

ON-1

Datos de entrada

Entradas de selección

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

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

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.

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

Sistemas Digitales 52

Codificadores, decodificadores, conversores de código

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

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

Sistemas Digitales 54

Codificador BCD a 7 segmentos

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

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

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)’

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

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’

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)

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

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

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

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)

Sistemas Digitales 64

Generador de Paridad Par

AB

CD

P

PAB

CD

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

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

Sistemas Digitales 67

F I N