Anda di halaman 1dari 49

14.

Componentes combinacionales
bsicos

Oliverio J. Santana Jaria


Sistemas Digitales
Ingeniera Tcnica en Informtica de Sistemas
Curso 2006 2007

Introduccin

 Los circuitos combinacionales son aquellos cuyo

valor de salida depende nica y exclusivamente de


los valores de entrada
 Los circuitos complejos suelen disearse reutilizando
determinados componentes combinacionales bsicos
de uso comn
 Los objetivos de este tema son:



Describir algunos de los componentes combinacionales


bsicos ms frecuentemente usados en el diseo de circuitos
Describir como se implementan estos componentes utilizando
puertas lgicas bsicas

Componentes combinacionales bsicos

Introduccin

 Introduccin
 Circuitos comparadores
 Codificacin/Decodificacin
 Seleccin/Distribucin de datos
 Convertidores de cdigo
 Circuitos de paridad
 Buses y salidas triestado
 Desplazamiento/Rotacin
 Dispositivos programables
 Resumen y bibliografa
Componentes combinacionales bsicos

Circuitos comparadores

 La funcin bsica de un circuito comparador consiste

en comparar las magnitudes de dos cantidades binarias


para determinar la relacin entre ellas

 En su forma ms sencilla, un circuito comparador

determina si dos nmeros son iguales o no

 Resulta frecuente ampliar la funcionalidad de un

circuito comparador para que, en caso de que los dos


nmeros comparados no sean iguales, sea capaz de
distinguir cul de los dos es el mayor

Componentes combinacionales bsicos

Igualdad entre magnitudes

 La puerta XOR puede ser utilizada como comparador

bsico, ya que su salida es 0 si las entradas son iguales


y 1 si las entradas son diferentes

Componentes combinacionales bsicos

Igualdad entre magnitudes

 Por ejemplo, para comparar nmeros binarios de dos

bits sern necesarias dos puertas XOR





Si los nmeros son iguales los dos bits tambin lo sern


Si los nmeros son distintos, alguno de los bits ser distinto

 Este esquema es fcilmente extensible para nmeros

con mayor cantidad de bits

Componentes combinacionales bsicos

Desigualdad entre magnitudes

 Adems de indicar si los nmeros comparados son

iguales, es frecuente que los circuitos comparadores


indiquen cul de los dos nmeros es el mayor

 Esto implica la existencia de

tres salidas en el circuito:






Indicacin de si los dos


nmeros son iguales
Indicacin de si el primer
nmero es el mayor
Indicacin de si el segundo
nmero es el mayor

Componentes combinacionales bsicos

Desigualdad entre magnitudes

 El procedimiento general para comparar dos nmeros

consiste en buscar una desigualdad en cualquiera de las


posiciones, comenzando por el bit ms significativo

 La relacin entre los nmeros queda establecida en el

momento en que se encuentre la primera desigualdad





Si A = 1 y B = 0 entonces A > B
Si A = 0 y B = 1 entonces A < B
i

 Si se examinan todas las posiciones y no se encuentra

ninguna desigualdad, entonces los nmeros son iguales

Componentes combinacionales bsicos

Desigualdad entre magnitudes

 Tambin resulta til tener tres entradas para permitir

la conexin en cascada de circuitos comparadores


 Cuando se realice este tipo de conexin en cascada
es importante tener en cuenta que siempre ser
prioritaria la salida del comparador correspondiente
a los bits ms significativos

Componentes combinacionales bsicos

Diseo de un circuito comparador

 Un circuito comparador universal que permita comparar

dos nmeros X e Y puede disearse conectando mdulos


sencillos que comparen pocos bits

 Cada mdulo necesitar slo dos salidas: G y L






G=1X>Y
 L=1X<Y
G=0XY
 L=0XY
Si G = 0 y L = 0 al mismo tiempo  X = Y

 La conexin de estos mdulos para generar un circuito

comparador puede hacerse en serie o en paralelo

Componentes combinacionales bsicos

10

Diseo de un circuito comparador

 El diseo de un circuito comparador de nmeros de dos

bits puede realizarse usando el mtodo de Karnaugh

G = A1B1 + A1A0B0 + B1A0B0

L = A1B1 + A1A0B0 + B1A0B0

Componentes combinacionales bsicos

11

Diseo de un circuito comparador

 Dadas estas ecuaciones, el diseo del circuito

comparador de nmeros de dos bits queda como sigue:

G = A1B1 + A1A0B0 + B1A0B0

L = A1B1 + A1A0B0 + B1A0B0

Componentes combinacionales bsicos

12

Diseo de un circuito comparador

 Una implementacin en serie de un comparador usara

un mdulo de dos bits para comparar cada pareja de


bits de ambos nmeros
 Hay que tener en cuenta que el resultado de la
comparacin de los bits ms significativos siempre
es prioritaria respecto a los dems bits

Componentes combinacionales bsicos

13

Diseo de un circuito comparador

 El problema de la conexin en serie es que el retardo

del circuito global depende de la propagacin de la


seal por todos los mdulos
 Esto puede resolverse con una conexin paralela en la
que primero se comparan parejas, luego parejas de
parejas y as sucesivamente

Componentes combinacionales bsicos

14

Introduccin

 Introduccin
 Circuitos comparadores
 Codificacin/Decodificacin
 Seleccin/Distribucin de datos
 Convertidores de cdigo
 Circuitos de paridad
 Buses y salidas triestado
 Desplazamiento/Rotacin
 Dispositivos programables
 Resumen y bibliografa
Componentes combinacionales bsicos

15

Circuitos decodificadores

 La funcin bsica de un decodificador es detectar la

presencia de una determinada combinacin de bits,


denominada cdigo, en sus entradas

 Un decodificador indicar la presencia de un cdigo

en sus entradas por medio de un determinado nivel de


salida, ya sea alto o bajo

 En su forma ms general, un decodificador tendr

n entradas y 2n salidas para indicar cada una de las

posibles combinaciones de valores de las entradas

Componentes combinacionales bsicos

16

Activacin a nivel alto

 Por ejemplo, supongamos que queremos indicar cundo

aparece la combinacin 1001 en las entradas de un


circuito por medio de un nivel alto en la salida
 Se puede utilizar una puerta AND como elemento
bsico de decodificacin, ya que slo genera un nivel
alto a la salida si todas las entradas estn a nivel alto
A
B

X = ABCD
C
D
Componentes combinacionales bsicos

17

Entrada de habilitacin

 Los circuitos decodificadores suelen incorporar

tambin una entrada de habilitacin E para habilitar


o no su funcionamiento

 Cuando la entrada de habilitacin de un decodificador

activo a nivel alto est a 0, todas las salidas sern 0


independientemente de la combinacin de valores de
las entradas

 Cuando la entrada de habilitacin est a 1, la salida

correspondiente a la combinacin de valores de las


entradas ser 1 y todas las dems salidas sern 0

Componentes combinacionales bsicos

18

Decodificadores activos a nivel alto

 Un decodificador de 1 entrada tendr 2 salidas, tal y

como se muestra a continuacin

C0 = EA0
C1 = EA0

Componentes combinacionales bsicos

19

Decodificadores activos a nivel alto

 El diseo anterior puede expandirse fcilmente para

obtener un decodificador de 2 entradas y 4 salidas


C0 = EA1A0
C1 = EA1A0
C2 = EA1A0
C3 = EA1A0

Componentes combinacionales bsicos

20

10

Decodificadores activos a nivel alto

 Tambin resulta posible construir decodificadores

mayores, por ejemplo con 3 entradas y 8 salidas, a


partir de los bloques anteriores
 El diseo incluir varios niveles de decodificadores,
donde los de un nivel habilitan o no a los del siguiente

Componentes combinacionales bsicos

21

Activacin a nivel bajo

 Supongamos ahora que queremos indicar cundo

aparece la combinacin 1001 en las entradas de un


circuito por medio de un nivel bajo en la salida
 Se puede utilizar una puerta NAND como elemento
bsico de decodificacin, ya que slo genera un nivel
bajo a la salida si todas las entradas estn a nivel alto
A
B
X = ABCD
C
D
Componentes combinacionales bsicos

22

11

Decodificadores activos a nivel bajo

 Por ejemplo, un decodificador activo a nivel bajo

con 4 lneas de entrada necesitar 16 salidas para poder


decodificar todas las posibles combinaciones de entrada

Componentes combinacionales bsicos

23

Decodificadores activos a nivel bajo

 Otro ejemplo es el decodificador BCD a decimal, que

tiene 4 lneas de entrada que se corresponden con un


cdigo BCD 8421
 Este decodificador slo necesita 10 lneas de salida,
correspondientes a los dgitos decimales, ya que hay
que ignorar 6 de las posibles combinaciones de entrada

Componentes combinacionales bsicos

24

12

Decodificadores activos a nivel bajo

 Otra aplicacin es usar un decodificador con 4 lneas de

entrada, correspondientes a un cdigo BCD, y 7 lneas


de salida que controlen un display de 7 segmentos

Componentes combinacionales bsicos

25

Generacin de funciones lgicas

 Cada salida de un decodificador se corresponde con

un trmino producto o con un trmino suma, por lo


que podemos usar decodificadores para implementar
funciones lgicas
A B C
F

 Por ejemplo, dada

esta tabla de verdad,


podemos obtener una
expresin como suma
de productos o como
producto de sumas

Componentes combinacionales bsicos

0)
1)
2)
3)
4)
5)
6)
7)

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
0
1
0
1
0
1

F(A,B,C) = (1,3,5,7)
F(A,B,C) = (0,2,4,6)
26

13

Generacin de funciones lgicas

 Para generar una funcin expresada como suma de

productos con un decodificador activo a nivel alto ser


necesario conectar las salidas correspondientes a una
puerta OR
F(A,B,C) = (1,3,5,7)

Componentes combinacionales bsicos

27

Generacin de funciones lgicas

 Para generar una funcin expresada como suma de

productos con un decodificador activo a nivel bajo ser


necesario conectar las salidas correspondientes a una
puerta NAND
F(A,B,C) = (1,3,5,7)

Componentes combinacionales bsicos

28

14

Generacin de funciones lgicas

 Para generar una funcin expresada como producto de

sumas con un decodificador activo a nivel alto ser


necesario conectar las salidas correspondientes a una
puerta NOR

F(A,B,C) = (0,2,4,6)
Componentes combinacionales bsicos

29

Generacin de funciones lgicas

 Para generar una funcin expresada como producto de

sumas con un decodificador activo a nivel bajo ser


necesario conectar las salidas correspondientes a una
puerta AND

F(A,B,C) = (0,2,4,6)
Componentes combinacionales bsicos

30

15

Circuitos codificadores

 Un circuito codificador realiza, en esencia, la funcin

contraria a un circuito decodificador

 Cuando se activa una de sus lneas de entrada, un

circuito codificador generar una salida codificada


correspondiente a la entrada

 En su forma ms general, un decodificador tendr

n salidas y 2n entradas que se correspondern a cada

una de las posibles combinaciones de salida


Componentes combinacionales bsicos

31

Codificadores activos a nivel alto

 Un codificador activo a nivel alto generar una

combinacin de salida si la entrada correspondiente


est a nivel alto

 Por ejemplo, un

codificador de decimal
a BCD 8421 tendr 10
lneas de entrada, que
se corresponden con
los dgitos decimales,
y 4 lneas de salida
para codificarlas

Componentes combinacionales bsicos

32

16

Codificadores activos a nivel alto

 Cada una de las lneas de salida se corresponde a uno

de los bits del cdigo BCD 8421


A0 = 1 + 3 + 5 + 7 + 9
A1 = 2 + 3 + 6 + 7
A2 = 4 + 5 + 6 + 7
A3 = 8 + 9

Componentes combinacionales bsicos

33

Codificadores activos a nivel bajo

 Un codificador tambin puede ser activo a nivel bajo,

es decir, generar una combinacin de salida cuando la


entrada correspondiente est a nivel bajo
 Por ejemplo, un codificador de octal a binario tendr
8 lneas de entrada, correspondientes a los dgitos
octales, y 3 lneas de salida para codificarlos en binario

Componentes combinacionales bsicos

34

17

Codificadores con prioridad

 Si se activa ms de una lnea de entrada en un circuito

codificador, el resultado de salida no ser el esperado

 Para evitar esto es necesario dar un orden de prioridad a

las entradas, de manera que siempre que haya varias


entradas activadas slo se tenga en cuenta una de ellas

 Un codificador con prioridad tambin puede tener una

salida adicional, denominada CUALQUIERA, que se


activar si alguna de las entradas est activada

Componentes combinacionales bsicos

35

Codificadores con prioridad

 Un codificador con prioridad activo a nivel alto con 2

entradas tendr 1 lnea de salida, tal y como se muestra


a continuacin

A0 = D1
Cualquiera = D0+D1

Componentes combinacionales bsicos

36

18

Codificadores con prioridad

 El diseo anterior puede expandirse fcilmente para

obtener un decodificador de 2 entradas y 4 salidas

A0 = D1D2+D3
A1 = D2+D3
Cualquiera = D0+D1+D2+D3

Componentes combinacionales bsicos

37

Introduccin

 Introduccin
 Circuitos comparadores
 Codificacin/Decodificacin
 Seleccin/Distribucin de datos
 Convertidores de cdigo
 Circuitos de paridad
 Buses y salidas triestado
 Desplazamiento/Rotacin
 Dispositivos programables
 Resumen y bibliografa
Componentes combinacionales bsicos

38

19

Circuitos multiplexores o selectores

 Un multiplexor o selector es un circuito que permite

dirigir la informacin digital procedente de varias


lneas de entrada hacia una nica lnea de salida

 Su principal objetivo es permitir que informacin

procedente de varias fuentes pueda transmitirse a


un destino comn a travs de una lnea compartida

 Un multiplexor posee 2n lneas de entrada y una nica

lnea de salida, adems de n entradas de seleccin que


permiten decidir qu entrada se conecta a la salida

Componentes combinacionales bsicos

39

Diseo de circuitos multiplexores

 Este diagrama muestra el diseo de un circuito

multiplexor con 2 entradas de datos y 1 entrada


de seleccin que permite elegir entre ellas

Y = SD0 +SD1

Componentes combinacionales bsicos

40

20

Diseo de circuitos multiplexores

 Este otro diagrama muestra el diseo de un multiplexor

con 4 entradas de datos, por lo que sern necesarias 2


entradas de seleccin para elegir entre ellas

Y=S0S1D0+ S0S1D1+ S0S1D2+ S0S1D3

Componentes combinacionales bsicos

41

Diseo de circuitos multiplexores

 Un multiplexor con 8 entradas de datos y 3 de seleccin

puede construirse usando varios multiplexores menores


 Un primer nivel de multiplexores permitir elegir entre
cada dos entradas, el siguiente nivel elegir entre las
parejas anteriores y as sucesivamente

Componentes combinacionales bsicos

42

21

Diseo de circuitos multiplexores

 Un multiplexor de 8 entradas de datos tambin puede

implementarse usando un decodificador de 3 entradas


para controlar las seales de seleccin
 Esta tcnica slo puede usarse para multiplexores
pequeos, pues, en otro caso, el coste del decodificador
y la puerta OR de salida sera demasiado grande

Componentes combinacionales bsicos

43

Generacin de funciones lgicas

 Una aplicacin de los multiplexores es la generacin de

funciones lgicas

 El nmero de entradas de seleccin equivale al nmero de


variables de la funcin
 El nmero de entradas de datos equivale al nmero de
posibles combinaciones de entrada

 Dada una tabla de verdad, las entradas del multiplexor

correspondientes a las lneas de la tabla con valor de


salida 1 se fijan a 1
 El resto de las entradas de datos se fijan a 0
Componentes combinacionales bsicos

44

22

Generacin de funciones lgicas

 Dada una funcin de 3 variables, podemos representarla

utilizando un multiplexor con 3 entradas de seleccin

F(A,B,C) = (1,2,4,5)

F(A,B,C) = (0,3,6,7)
0)
1)
2)
3)
4)
5)
6)
7)

A B C

0
0
0
0
1
1
1
1

0
1
1
0
1
1
0
0

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

MUX

Componentes combinacionales bsicos

45

Generacin de funciones lgicas

Una funcin de 3 variables tambin se puede realizar


usando un multiplexor con slo 2 entradas de seleccin,
usando un mapa de Karnaugh como ayuda

F(A,B,C) = (1,2,4,5)
F(A,B,C) = (0,3,6,7)
C

00 0
01 1

1
0
0
1

AB

11 0
10 1

MUX
D0
D1
D3
D2

Componentes combinacionales bsicos

46

23

Generacin de funciones lgicas

Tambin podemos realizar una funcin de 4 variables


con un multiplexor de 3 entradas de seleccin, siempre
dejando en las columnas del mapa una nica variable

F(A,B,C,D) = (1,2,4,5,9,10,11)
F(A,B,C,D) = (0,3,6,7,8,12,13,14,15)
D

000 0
001 1

1
0
0
1
0
0
1
1

ABC

011 0
010 1
110 0
111 0
101 1
100 0

D0
D1

MUX

D3
D2
D6
D7
D5
D4

Componentes combinacionales bsicos

47

Diseo de circuitos codificadores

Los multiplexores o selectores tambin pueden usarse


para implementar un circuito codificador con prioridad

a partir de circuitos codificadores simples


Un codificador diseado as
tendr varios niveles
formados por codificadores
ms sencillos que agrupan

las lneas de entrada


Las salidas CUALQUIERA
de los codificadores se
propagarn hasta que se
obtenga el cdigo de salida

Componentes combinacionales bsicos

48

24

Diseo de circuitos codificadores

La salida CUALQUIERA de los codificadores de un


mismo nivel se utilizar como entrada de seleccin para
circuitos multiplexores que generen los bits menos
significativos de cada parte del cdigo

Componentes combinacionales bsicos

49

Circuitos demultiplexores o distribuidores

Un demultiplexor realiza la funcin contraria a la de un


multiplexor, es decir, distribuir los datos provenientes
de una lnea de entrada entre varias lneas de salida

Su principal objetivo es permitir que informacin


procedente una fuente comn que llega por una lnea
compartida pueda transmitirse a varios destinos

Un demultiplexor posee una nica lnea de entrada y

lneas de salida, adems de

n entradas de seleccin

que permiten decidir qu salida se conecta a la entrada

Componentes combinacionales bsicos

50

25

Diseo de circuitos demultiplexores

Este diagrama muestra el diseo de un circuito


demultiplexor con 4 salidas de datos y 2 entradas
de seleccin que permiten elegir entre ellas

S0 S1

D0 D1 D2 D3

E X X X

X E X X

X X E X

X X X E

Componentes combinacionales bsicos

51

Diseo de circuitos demultiplexores

La implementacin de un demultiplexor puede


realizarse usando un circuito decodificador con
una entrada de habilitacin

 Las entradas de datos


sern usadas como
entradas de seleccin
 La entrada de habilitacin
ser usada como entrada
de datos

Cuando est a 0, todas las


salidas estarn a 0
Cuando est a 1, la salida
correspondiente al cdigo
de entrada estar a 1

Componentes combinacionales bsicos

DEMUX

52

26

Introduccin

 Introduccin
 Circuitos comparadores
 Codificacin/Decodificacin
 Seleccin/Distribucin de datos
 Convertidores de cdigo
 Circuitos de paridad
 Buses y salidas triestado
 Desplazamiento/Rotacin
 Dispositivos programables
 Resumen y bibliografa
Componentes combinacionales bsicos

53

Convertidores de cdigo

 A lo largo de los aos se ha ido creando una gran

cantidad de mtodos distintos para convertir un cdigo


en otro usando circuitos digitales

 En general, es posible convertir entre dos cdigos

cualesquiera planteando las funciones apropiadas y


simplificndolas con los mtodos habituales

 A modo de ejemplo nos centraremos en la conversin

de cdigo Gray a binario o de binario a cdigo Gray


utilizando circuitos sencillos con puertas XOR

Componentes combinacionales bsicos

54

27

El cdigo Gray

 El cdigo Gray es un cdigo no

0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000

ponderado y no aritmtico que


puede tener cualquier nmero
de bits
 Su caracterstica ms importante
es que es continuo, es decir, slo
vara un bit desde una palabra del
cdigo hasta la siguiente
 Tambin es un cdigo cclico
porque hay continuidad entre la
primera y la ltima palabra

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Componentes combinacionales bsicos

55

Conversin binario Gray

 El bit ms significativo siempre es el mismo


 De izquierda a derecha se debe sumar cada par

adyacente de bits para obtener el siguiente bit en Gray


 Los acarreos deben descartarse
 A continuacin se muestra el circuito necesario para la
conversin y un ejemplo de su funcionamiento
0
0

Componentes combinacionales bsicos

1
56

28

Conversin Gray binario

 El bit ms significativo siempre es el mismo


 De izquierda a derecha, cada bit del cdigo binario se

calcula sumando el correspondiente bit Gray con el bit


anterior del cdigo binario y descartando los acarreos
 A continuacin se muestra el circuito necesario para la
conversin y un ejemplo de su funcionamiento
0
0
Componentes combinacionales bsicos

0
57

Introduccin

 Introduccin
 Circuitos comparadores
 Codificacin/Decodificacin
 Seleccin/Distribucin de datos
 Convertidores de cdigo
 Circuitos de paridad
 Buses y salidas triestado
 Desplazamiento/Rotacin
 Dispositivos programables
 Resumen y bibliografa
Componentes combinacionales bsicos

58

29

Errores de transmisin

 Durante la transferencia de datos digitales desde una

parte de un circuito a otra pueden producirse errores


debido al mal funcionamiento de un componente o a
ruidos elctricos

 Estos errores se manifiestan mediante cambios

indeseados en los bits que conforman la informacin


codificada: un 0 puede convertirse en un 1 o viceversa

 Debido a la posibilidad de que aparezcan errores,

existen tcnicas, como los bits de paridad, que tienen


como objetivo detectarlos y corregirlos

Componentes combinacionales bsicos

59

Circuitos de paridad

 El objetivo de aadir un bit de paridad a un nmero

binario es que la cantidad total de unos sea par o impar,


dependiendo del sistema
 Las reglas bsicas en las que se basan los circuitos
generadores y comprobadores de paridad es sencilla:
 Si se descartan los acarreos, la suma de un nmero par de
unos siempre es 0
 Si se descartan los acarreos, la suma de un nmero impar
de unos siempre es 1

 Por tanto, para determinar la paridad de un nmero

binario basta con sumar todos los bits del nmero

Componentes combinacionales bsicos

60

30

Circuitos de paridad

 La suma de dos bits, descartando el acarreo, se puede

generalizar utilizando una puerta XOR

 Cuando el nmero de unos en las entradas sea par, la salida


estar a nivel bajo
 Cuando el nmero de unos en las entradas sea impar, la salida
estar a nivel alto

Componentes combinacionales bsicos

61

Circuitos de paridad

 Esta estructura de puertas XOR puede extenderse para

formar circuitos ms grandes, como el correspondiente


al smbolo lgico mostrado en este diagrama
 El circuito tendr dos salidas complementarias, una
que indica paridad par y otra que indica paridad impar

Componentes combinacionales bsicos

62

31

Generador de paridad

 El bloque anterior puede utilizarse como un circuito

generador de paridad para un nmero de hasta 9 bits

 En caso de paridad par, el bit de paridad se toma de la

salida Impar, ya que esta salida es 0 cuando hay un


nmero par de bits en las entradas y 1 cuando hay un
nmero impar de bits en las entradas

 En caso de paridad impar, el bit de paridad se toma de

la salida Par, ya que esta salida es 0 cuando hay un


nmero impar de bits en la entradas y 1 cuando hay un
nmero par de bits en las entradas

Componentes combinacionales bsicos

63

Comprobador de paridad

 El bloque anterior tambin puede utilizarse como un

circuito comprobador de paridad para un cdigo de 9


bits, con 8 bits de datos y 1 bit de paridad

 En caso de paridad par, el nmero de unos en la entrada

deber ser par, por lo que la salida Par debe ser 1 y la


salida Impar debe ser 0, o se habr producido un error

 En caso de paridad impar, el nmero de unos en la

entrada deber ser impar, por lo que la salida Impar


debe ser 1 y la salida Par debe ser 0, o se habr
producido un error

Componentes combinacionales bsicos

64

32

Introduccin

 Introduccin
 Circuitos comparadores
 Codificacin/Decodificacin
 Seleccin/Distribucin de datos
 Convertidores de cdigo
 Circuitos de paridad
 Buses y salidas triestado
 Desplazamiento/Rotacin
 Dispositivos programables
 Resumen y bibliografa
Componentes combinacionales bsicos

65

Buses

 Es difcil fabricar multiplexores con un gran nmero

de entradas, ya que eso implicara centralizar un gran


nmero de conexiones en un nico lugar

 Un bus es un elemento de transmisin de datos, fcil de

fabricar, que permite solucionar este problema

 Para implementar un bus se utiliza un componente

denominado adaptador triestado, cuya salida puede


proporcionar tres posibles valores: un 0, un 1 o un
estado de alta impedancia

Componentes combinacionales bsicos

66

33

Adaptadores triestado

 Un adaptador triestado tiene una lnea de datos (D), una

lnea de salida (Y) y una entrada de habilitacin (E)

 Siempre que la entrada de habilitacin est a 1, la salida ser


igual al contenido de la entrada
 Si la entrada de habilitacin est a 0, la salida ser un estado
de alta impedancia

 En la prctica, el estado de alta impedancia (Z) puede

considerarse como una desconexin elctrica del bus

Componentes combinacionales bsicos

67

Adaptadores triestado

 El funcionamiento de los adaptadores triestado de un

bus es equivalente al de un multiplexor


 Cada bus contiene un conjunto
de adaptadores triestado, de forma
que se utiliza uno de ellos para
cada fuente de datos que se
conecta al bus
 Las entradas de habilitacin de los
adaptadores deben establecerse de
manera que slo una fuente de
datos pueda estar conectada al bus
en un momento dado
Componentes combinacionales bsicos

68

34

Implementacin de buses

 Utilizando los mismos principios se pueden construir

buses que tengan ms fuentes de datos


 Por ejemplo, un bus con cuatro
fuentes necesitar dos entradas
de seleccin para elegir la
fuente que se conecta al bus
 Estas entradas de seleccin
pueden conectarse a un
decodificador, que ser el
encargado de manipular las
lneas de habilitacin de los
adaptadores triestado
Componentes combinacionales bsicos

69

Introduccin

 Introduccin
 Circuitos comparadores
 Codificacin/Decodificacin
 Seleccin/Distribucin de datos
 Convertidores de cdigo
 Circuitos de paridad
 Buses y salidas triestado
 Desplazamiento/Rotacin
 Dispositivos programables
 Resumen y bibliografa
Componentes combinacionales bsicos

70

35

Desplazamiento y rotacin

 Una operacin de desplazamiento consiste en desplazar

un nmero binario m posiciones de bit a la izquierda o


a la derecha

 Como resultado de un desplazamiento, se mueven fuera


m bits del nmero y se introducen m bits nuevos

 Una operacin de rotacin es similar a una de

desplazamiento, pero en ella no se pierden bits, ya que


los que se mueven fuera son los que se introducen de
nuevo por el otro extremo del nmero

Componentes combinacionales bsicos

71

Modos de desplazamiento

 La operacin de desplazamiento puede realizarse tanto

en modo lgico como en modo aritmtico


 Un desplazamiento lgico siempre introduce ceros para
rellenar las posiciones vacas del nmero desplazado
 Un desplazamiento aritmtico de una posicin
representa una multiplicacin por dos si es a la
derecha o una divisin por dos si es a la izquierda
 Si se desplaza a la derecha un nmero en complemento a 2, se
rellenan las nuevas posiciones con copias del bit de signo
 Si se desplaza a la izquierda un nmero en complemento a 2,
el bit ms significativo debe ser un duplicado del bit de signo
Componentes combinacionales bsicos

72

36

Circuitos desplazadores y rotadores

 La implementacin de circuitos desplazadores y

rotadores se realiza utilizando multiplexores


 Por ejemplo, un circuito desplazador/rotador universal
necesitara tres seales de control para manipular los
multiplexores
 Una seal S0 indicar si el circuito debe realizar una
operacin de desplazamiento o una operacin de rotacin
 Una seal S1 indicar si la operacin de desplazamiento
o rotacin debe realizarse a la izquierda o a la derecha
 Una seal S2 indicar si se realiza la operacin de
desplazamiento o rotacin, o bien si se deja el nmero
sin modificar
Componentes combinacionales bsicos

73

Circuitos desplazadores y rotadores

 Este diagrama muestra un circuito desplazador/rotador

universal que puede realizar un desplazamiento lgico


o rotar una posicin a izquierda o derecha

Componentes combinacionales bsicos

74

37

Circuitos desplazadores y rotadores

 El circuito anterior solo puede realizar una operacin

desplazamiento o rotacin de una nica posicin

 Esto significa que para desplazar o rotar ms de una

posicin habr que pasar el nmero al circuito varias


veces, lo que ralentizara el proceso

 Para evitar esto se puede utilizar un desplazador o

rotador en bloques, que es capaz de desplazar o rotar


cualquier nmero de posiciones

Componentes combinacionales bsicos

75

Circuitos desplazadores y rotadores

 Los desplazadores/rotadores en bloques utilizan varios

niveles de multiplexores

 Dado un nmero de n bits, el desplazamiento/rotacin

mximo ser de n 1 bits, para lo que sern necesarios


tantos niveles de multiplexores como bits tenga la
representacin binaria de n

 Cada nivel de multiplexores desplazar o rotar el

nmero tantas posiciones como el peso de uno de los


bits de n, por lo que combinndolos todos podremos
obtener todos los valores entre 0 y n 1

Componentes combinacionales bsicos

76

38

Circuitos desplazadores y rotadores

 Por ejemplo, un rotador a la derecha en bloques

para nmeros de ocho bits, como el mostrado en


el diagrama, necesitar tres entradas de seleccin
 S0  rota 1 posicin
 S1  rota 2 posiciones
 S2  rota 4 posiciones

Componentes combinacionales bsicos

77

Introduccin

 Introduccin
 Circuitos comparadores
 Codificacin/Decodificacin
 Seleccin/Distribucin de datos
 Convertidores de cdigo
 Circuitos de paridad
 Buses y salidas triestado
 Desplazamiento/Rotacin
 Dispositivos programables
 Resumen y bibliografa
Componentes combinacionales bsicos

78

39

Dispositivos lgicos programables

 Los dispositivos lgicos programables (PLD Programmable

) se utilizan para reemplazar circuitos


complejos, reduciendo el coste y ahorrando espacio

Logic Device

 Un PLD est formado por una matriz de puertas AND

y puertas OR que se puede programar para conseguir


funciones lgicas especficas

 Esencialmente, una de estas matrices programables es

una red de conductores distribuidos en filas y columnas


con un fusible en cada punto de interseccin

Componentes combinacionales bsicos

79

Matriz OR programable

 Una matriz OR est formada por una serie de puertas

OR conectadas a una matriz programable


 La matriz se programa fundiendo los fusibles para
eliminar determinadas variables de los puntos de salida



Para cada entrada de una puerta OR slo quedar intacto el


fusible correspondiente a la variable deseada
Una vez fundido, un fusible no se puede volver a conectar

Componentes combinacionales bsicos

80

40

Matriz AND programable

 Una matriz AND est formada por una serie de puertas

AND conectadas a una matriz programable


 La matriz se programa fundiendo los fusibles para
eliminar determinadas variables de los puntos de salida



Para cada entrada de una puerta AND slo quedar intacto el


fusible correspondiente a la variable deseada
Una vez fundido, un fusible no se puede volver a conectar

Componentes combinacionales bsicos

81

Clasificacin de los PLD

 Existen cuatro tipos de PLD, clasificados en funcin de

la organizacin de sus elementos internos


 Las memorias programables de slo lectura (PROM
Programmable Read-Only Memory) estn formadas por un conjunto
fijo de puertas AND conectadas como decodificador y
una matriz programable OR
 Debido a la limitacin de las puertas AND fijas, las
PROM suelen usarse como memorias direccionables
y no como dispositivos lgicos

Componentes combinacionales bsicos

82

41

Clasificacin de los PLD

 Las matrices lgicas programables PLA (Programmable Logic

) estn formadas por una matriz AND programable


y una matriz OR programable

Array

 Las matrices lgicas programables PAL (Programmable Array

) estn formadas por una matriz AND programable


y una matriz OR fija con una lgica de salida
 Este esquema evita los retardos y la complejidad
causada por los fusibles adicionales resultantes de
tener dos matrices programables
Logic

Componentes combinacionales bsicos

83

Clasificacin de los PLD

 Las matrices lgicas genricas (GAL Generic Array Logic) se

forman con una matriz AND programable y una matriz


OR fija con una salida lgica programable
 Las GAL se diferencian de las PAL en que las
configuraciones de salida son programables
 Sin embargo, la principal diferencia es que las GAL se
pueden reprogramar una y otra vez debido a que usan
una tecnologa ms avanzada en lugar de fusibles

Componentes combinacionales bsicos

84

42

Matrices lgicas programables

 Las PAL estn formadas por una matriz programable

de puertas AND conectadas a una matriz de puertas OR


fijas con una lgica de salida

 La matriz AND programable est formada por una

red de conductores, con cada fila conectada a la entrada


de una puerta AND y cada columna conectada a una
variable de entrada o a su complemento

 Cada punto de interseccin entre una fila y una

columna se denomina celda, siendo ste el elemento


programable de la PAL

Componentes combinacionales bsicos

85

Programacin de una PAL

 Una PAL permite implementar cualquier expresin

en forma de suma de productos con un nmero de


variables definido
 Por ejemplo, este diagrama muestra la estructura bsica
de una PAL para dos variables de entrada y una salida

Componentes combinacionales bsicos

86

43

Programacin de una PAL

 El proceso de programacin consiste en fundir los

fusibles adecuados para obtener la funcin deseada





Cuando se requiere la conexin entre una fila y una columna,


el fusible correspondiente queda intacto
Cuando dicha conexin no se requiere, el fusible se abre

Componentes combinacionales bsicos

87

Smbolos simplificados

 Las PAL reales son circuitos muy complejos, por lo que

los fabricantes han adoptado una notacin simplificada


para representarlos
 Para evitar cargar el diseo con demasiadas lneas de
entrada se utilizan buffers de entrada, que generan tanto
el valor de una variable como su complemento
 Para evitar cargar el diseo con demasiadas filas, las
entradas de las puertas AND se representan con una
nica lnea horizontal
 Para representar los fusibles intactos se utiliza una X,
mientras que para los fusibles fundidos no se indica nada
Componentes combinacionales bsicos

88

44

Smbolos simplificados

 Este diagrama muestra una expresin lgica en forma

de suma de productos implementada con una PAL


usando la notacin simplificada

Componentes combinacionales bsicos

89

Lgica combinacional de salida

 Existen varios tipos de circuitos

combinacionales de salida


Una salida combinacional, usada para


una suma de productos, que puede estar
a nivel alto o bajo
Una entrada/salida combinacional, que
se usa cuando la salida debe
realimentarse a una entrada de la matriz
Una salida de polaridad programable,
que permite seleccionar la funcin de
salida o su complemento usando una
puerta XOR y un fusible que se elimina
para invertir la salida

Componentes combinacionales bsicos

90

45

Matrices lgicas genricas

 Las GAL estn formadas por una matriz de puertas

AND reprogramable conectada a una matriz de puertas


OR fija con una lgica de salida programable

 La matriz AND reprogramable est formada por una

red de conductores, ordenados en filas y columnas, con


una celda E2CMOS (Electrically Erasable CMOS) en cada punto
de interseccin en lugar de un fusible

 Cada fila de celdas est conectada a la entrada de una

puerta AND y cada columna a una variable de entrada


o a su complemento

Componentes combinacionales bsicos

91

Matrices lgicas genricas

 Una celda E2CMOS activada conecta de forma efectiva

su correspondiente fila y columna, mientras que una


celda desactivada no conecta la fila con la columna

 La principal ventaja de utilizar celdas E2CMOS en

lugar de fusibles es que cada una de estas celdas se


puede borrar y reprogramar elctricamente

 Dependiendo de la tecnologa, una celda E2CMOS

tpica puede permanecer en el estado en el que se la ha


programado durante 20 aos o ms

Componentes combinacionales bsicos

92

46

Programacin de una GAL

 Una GAL permite implementar cualquier expresin

en forma de suma de productos con un nmero de


variables definido
 Por ejemplo, este diagrama muestra la estructura bsica
de una GAL para dos variables de entrada y una salida

Componentes combinacionales bsicos

93

Programacin de una GAL

 El proceso de programacin consiste en activar o

desactivar cada celda E2CMOS con el objetivo de


aplicar la combinacin adecuada de variables a cada
puerta AND y obtener la suma de productos

Componentes combinacionales bsicos

94

47

Programacin de una GAL

 Las salidas de las puertas AND se introducen en

macroceldas lgicas de salida (OLMC Output Logic Macrocells)


que contienen puertas OR y lgica programable
 Estas OLMC proporcionan mucha ms flexibilidad
que la lgica de salida fija de las PAL, convirtiendo
las GAL en un tipo de dispositivo ms verstil

Componentes combinacionales bsicos

95

Introduccin

 Introduccin
 Circuitos comparadores
 Codificacin/Decodificacin
 Seleccin/Distribucin de datos
 Convertidores de cdigo
 Circuitos de paridad
 Buses y salidas triestado
 Desplazamiento/Rotacin
 Dispositivos programables
 Resumen y bibliografa
Componentes combinacionales bsicos

96

48

Resumen

 La reutilizacin de mdulos combinacionales

previamente diseados resulta ventajosa para la


implementacin de circuitos digitales
 Existe un gran nmero de estos mdulos
combinacionales que se han usado frecuentemente
en los diseos y que se siguen usando, por lo que es
importante conocer su estructura y funcionamiento
 Adems, el diseo modular nos permite realizar
abstracciones jerrquicas de los componentes del
circuito, haciendo posible la implementacin de
circuitos digitales complejos
Componentes combinacionales bsicos

97

Bibliografa
Fundamentos de Sistemas Digitales (7 edicin)
Captulos 6 y 7
Thomas L. Floyd
Prentice Hall, 2000

Principios de Diseo Digital


Captulo 5
Daniel D. Gajski
Prentice Hall, 1997

Componentes combinacionales bsicos

98

49

Anda mungkin juga menyukai