bloques combinacionales aritméticos - el.uma.essist. electrónicos digitales j.f. martín1 tema 4...

32
1 Sist. Electrónicos Digitales J.F. Martín Tema 4 Bloques funcionales combinacionales Bloques para el encaminamiento y/o transferencia de datos Multiplexor Demultiplexor Decodificador Codificador Bloques para el procesamiento de datos Comparador Bloques para la generación de funciones booleanas ROM PLA PAL Bloques combinacionales aritméticos Semisumador Sumador binario completo Sumador serie de n bits Sumador paralelo.

Upload: dangthien

Post on 06-Apr-2018

223 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

1Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Bloques para el encaminamiento y/o transferencia de datosMultiplexorDemultiplexorDecodificadorCodificador

• Bloques para el procesamiento de datosComparador

• Bloques para la generación de funciones booleanasROMPLAPAL

• Bloques combinacionales aritméticosSemisumadorSumador binario completoSumador serie de n bitsSumador paralelo.

Page 2: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

2Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

Bloques para el encaminamiento y/o transferencia de datos

Page 3: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

3Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Multiplexor

Es un conmutador electrónico que conecta a una única señal de salida, una de las diversas señales de entrada, en función de los valores de las señales de control.

Función de salida

[ ] [ ][ ] [ ]

n

n-1 n-2 1 0 0 n-1 n-2 1 0 1

n-1 n-2 1 0 2 n-1 n-2 1 0 3

n-1 n-2 1 0 n2 -2

z (x x .... x x ) * I (x x .... x x ) * I(x x .... x x ) * I (x x .... x x ) * I

............................................

(x x .... x x ) * I (x

= + ++ +

+ +

⎡ ⎤ +⎣ ⎦ n-1 n-2 1 0 2 -1 x .... x x ) * I⎡ ⎤⎣ ⎦

X0X1Xn-1

DISABLE

I0

I1

I2 -1n

Z

Page 4: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

4Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Implementación de un multiplexor-2 mediante puertas NAND

( ) ( ) ( ) ( )0 1 0 1 1 0 2 1 0 3 1 0

0 1 0 1 1 0 2 1 0 3 1 0

z = y x x D y x x D y x x D y x x D =

= y x x D y x x D y x x D y x x D

+ + +X0

X1

Y0

Y1

ZY2

Y3

DISABLE

Page 5: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

5Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

Para implementar una función combinacional utilizando multiplexores de N señales de selección (MUX-N), debemos aplicar a la función el teorema del desarrollo para Nvariables.

a) Si los residuos obtenidos son constantes o dependen de una sola variable, el proceso ha terminado.

b) Si los residuos obtenidos dependen de 2 ó más variables, hay que repetir el proceso con cada uno de estos residuos.

Dado un multiplexor de N señales de selección (MUX-N), podemos implementar una función de N+1 variables.

N variables como señales de control.1 variable en las entradas.

[ ][ ]

1 2 m 1 2 n n+1 n+2 m

1 2 n n+1 n+2 m

1 2

f(x * x * ....* x ) (x * x * ....* x ) * f(0,0, ... ,0,x ,x , ... , x )(x * x * ....* x ) * f(0,0, ... ,1,x ,x , ... , x )

............................................ (x * x * ...

= ++

+ +

[ ]n n+1 n+2 m.* x ) * f(1,1, ... ,1,x ,x , ... , x )

Page 6: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

6Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Demultiplexor

Es un conmutador electrónico que conecta una única señal de entrada a una de las diversas señales de salida, en función de los valores de las señales de control

Funciones de salida

n

n

0 n-1 n-2 1 0

1 n-1 n-2 1 0

n-1 n-2 1 02 -2

n-1 n-2 1 02 -1

z = I (x x ...... x x )z = I (x x ...... x x )

...........z = I (x x ...... x x )

z = I (x x ...... x x )

X0X1Xn-1

DISABLE

Z0

Z1

Z2 -1n

I

Page 7: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

7Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Implementación de un demultiplexor-2 mediante puertas AND

=

=

=

=

0 1 0

1 1 0

2 1 0

3 1 0

z x x Iz x x Iz x x Iz x x I

X0

X1

I Z0

Z1

Z2

Z3

Page 8: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

8Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Decodificador

Circuito combinacional de n entradas y 2n salidas, que activa una de estas salidas en función de los valores de entrada.

Funciones de salida:

n

0 n-1 1 0

1 n-1 1 0

n-1 1 02 -1

Z x .... x xZ x .... x x.... .........

Z x .... x x

==

=

DISABLE

Z0

Z1

Z2 -1n

X0

X1

Xn-1

Page 9: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

9Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Implementación de un decodificador de 2 entradas con puertas AND

=

=

=

=

0 1 0

1 1 0

2 1 0

3 1 0

z x xz x xz x xz x x

Z0

X0

Z1

Z2

Z3

X1

Page 10: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

10Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Codificador

Sistema combinacional de n entradas y m salidas (n ≤ 2m), que efectúa la conversión de un código en otro

Ejp: Codificador de BCD a código 7-segmentos

X0

X1 Z1

Z2

Zm

Xn-1

DISABLE

Page 11: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

11Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

111000010100100010000001Z2Z1X3X2X1X0

X3

X0

X1

X2

Z1

Z2

Page 12: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

12Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

Comparadores

Page 13: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

13Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• ComparadorUn comparador es un dispositivo combinacional que compara dos números y especifica por medio de tres señales binarias el resultado de la comparación

Datos a comparar:

Resultado de comparación previa:

Resultado de la comparación:

⇒⇒⇒

n-1 n-2 1 0

n-1 n-2 1 0

n n n

n n n

n n n

A = a a ... a aB = b b ... b b

f =1, g =0, h =0 Previo mayorf =0, g =1, h =0 Previo igualf =0, g =0, h =1 Previo menor

A > B F=1, G=0, H=0A = B F=0, G=1, H=0A < B F=0, G=0, H=1

A B

FGH

fn

gn

hn

Page 14: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

14Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

Un comparador con un número muy grande de bits es en circuito con un gran número de entradas, que resulta difícil de construir mediante tabla de verdad, por lo que se recurre a un método recursivo.

• Comparador de dos bits

xiai

bi

yi

zi

= > ⇒ =

= = ⇒ = +

= < ⇒ =

i i i i i i

i i i i i i i ii i i i i i i i

i i i i i i

i i i i i i i i

i i i i

i i i i i i

x 1 si a b x a by 1 si a b y a b a b =(a b ) (a b ) = (a +b ) (a +b )=

= (a +b ) a +(a +b ) b =

= a a + ab + a b + b b =

= ab + a bz 1 si a b z a b

Page 15: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

15Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

Ecuación de recurencia

Por tanto tendremos:

i n-1 n-2 i+1 i n-1 n-2 i+1 i

i n-1 n-2 i+1 i n-1 n-2 i+1 i

i n-1 n-2 i+1 i n-1 n-2 i+1 i

f = 1 si a a ... a a > b b ... b bg = 1 si a a ... a a = b b ... b bh = 1 si a a ... a a < b b ... b b

i i+1 i+1 i n

i i+1 i n

i i+1 i+1 i n

f = f + g x f = 0g = g y donde g = 1h = h + g z h = 0

Page 16: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

16Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

H

a3

b3

a2

b2

a1

F

b1

a0

b0

hn

G

fn

gn

z0

y0

x0

z1

y1

x1

z2

y2

x2

z3

y3

x3

Page 17: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

17Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

Bloques para la generación de funciones booleanas

Page 18: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

18Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• ROM

Estructura lógica organizada en N palabras de M bits que contiene:

a) n entradas binarias x0,x1,...,xn-1

b) M salidas binarias z0,z1,...,zM-1

c) N × M elementos de memoria de un bit denotados por mij

donde:N = 2n

i = 0,1,...,N-1j = 0,1,...,M-1

Page 19: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

19Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

El sistema está formado por una matriz de celdas organizadas por palabras (filas de celdas a las que se puede acceder separadamente), más un decodificador de direcciones para seleccionar una palabra completa de la memoria.

La palabra seleccionada se coloca en el registro de salida y sus valores serán la salida correspondiente con la entrada fijada.

y0 m0,0 m0,1 m0,M-1

mN-1,0 mN-1,1 mN-1,M-1

m1,0 m1,1 m1,M-1

y2n

y1

x0

xn-1

x1

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

Page 20: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

20Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

El comportamiento E/S vendrá dado por:

(mi,0 , mi,,1, ... , mi,M-1) representa la palabra i-ésima de la matriz de memoria.

N-1

ij i iji 0

ij

0 j M-1y es la salida del decodificadorz y m donde:m es el contenido de la fila columna i j=

≤ ≤⎧⎪= ⎨⎪⎩

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

0,0 0,1 0,M-1

1,0 1,1 1,M 1

N-1,0 N-1,1 N-1,M-1

m m ... mm m ... m... ... ... ...

m m ... m

Page 21: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

21Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales• PROM (Programmable Read Only Memories)

Es una memoria ROM que puede ser programada por el fabricante, a petición del usuario.Una vez programada no se puede volver a programar.

• EPROM (Erasable PROM)

Es una memoria PROM que puede se programada y borrada por el propio usuario.Para realizar la operación de grabado se utiliza un dispositivo especial (grabador de EPROM), y para borrarlas se someten a radiación ultravioleta (por lo que una vez grabadas deben ser tapadas por un material opaco que las protege de la luz).

• EEPROM (Electric Erasable PROM)

Es una memoria PROM que puede ser grabada y borrada por el propio usuario.La operación de grabado y borrado se realiza simplemente activando unas señales de control en la propia memoria, sin necesidad de ningún dispositivo adicional.

Page 22: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

22Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• PLA (Programmable Logic Arrays)Una ROM de N palabras de M bits cada palabra permite implementar M funciones de n variables (N = 2n), pero frecuentemente las funciones a implementar no utilizan todas las combinaciones posibles de entrada, por lo que se desperdicia parte de la ROM.

Una PLA está compuesta por una matriz de términos productos, y una matriz de términos suma.

= +

= +1 1 2 1 3

2 1 3 2 3

f x x x xf x x x x

x1

x2

x3

f1

f2

Page 23: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

23Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• PAL (Programmable Array Logic)Es un caso particular de PLA en el que no es programable la matriz de términos suma.

Es el caso más utilizado por su bajo coste y flexibilidad de programación

= +

= +1 1 2 1 3

2 1 3 2 3

f x x x xf x x x x

x1

x2

x3

f1

f2

Page 24: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

24Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

Bloques combinacionales aritméticos

Page 25: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

25Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Semisumador

0110

0001

0101

0011

sici+1yixi

+ =

= + = ⊕i 1 i i

i i i i i i i

c x ys x y x y x y

Xi

Yi

Si

Ci

Page 26: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

26Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Sumador binario completo

01101001

00010111

01010101

00110011

00001111

sici+1ciyixi

ci+1

111010100010110100

ci

xi yi

si

010111010010110100

ci

xi yi

+ = + +

= + + + = + + + =

+ = = + + =

= = + + + = + +

i 1 i i i i i i

i i i i i i i i i i i i i i i i i i i i i i i

i i i i i i i i i i i i

i i i i i i i i i i

c x y y c x c s x y c x y c x y c x y c (x y x y ) c (x y x y ) c

x y x y (x y ) (x y ) (x y ) (x y )

(x y ) x (x y ) y x x x y + = =

= + = ⊕

= ⊕ + ⊕ = ⊕ ⊕

i i i i

i i i i i i

i i i i i i i i i

x y y y

x y x y x y

(x y ) c (x y ) c x y c

Page 27: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

27Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

xi

yi

ci+1

ci

si

Page 28: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

28Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Sumador completo construido con 2 semisumadores

Ci Si

Xi

Yi

Ci+1

Page 29: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

29Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Sumador serie de n bits Podemos construir un sumador de n bits, utilizando un sumador completo y añadiendo un circuito secuencial, de forma que mediante un reloj, vamos sumando en cada instante de tiempo un par de bits y el acarreo del par anterior.

Ventajas. Tiene bajo coste hardware. (utiliza un sólo sumador completo independientemente de los bits que tenga la palabra que queremossumar).

Desventajas. Es lento. (el tiempo que tarda en realizar la suma depende del número de bits que tengan las palabras que queremos sumar).

xn-1 x1 x0

xi

yn-1 y1 y0

yi

sn-1cn

ci

ci+1

s1 s0 si

Sumadorcompleto

CLK

Flip-Folp

. . . . .

. . . . .

. . . . .

Page 30: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

30Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Sumador paralelo

El sumador paralelo realiza simultáneamente la suma de los n bits, y para ello utiliza nsumadores completos

Hay dos tipos de sumadores paralelos

a) Con generación del acarreo en serie

b) Con generación del acarreo en paralelo (acarreo anticipado).

Page 31: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

31Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales• Sumador paralelo con generación del acarreo en serie

Cada sumador completo realiza la suma en función del acarreo de la suma de los bits de peso inferior

El tiempo que se tarda en realizar la suma, viene dador por la suma de los tiempos de propagación de todos los sumadores, y dependerá del número de bits de las palabras que vamos a sumar

Si el tiempo de propagación de un sumador completo es t, para un sumador de n bits tenemos

tiempo de operación = n × t

xn-1 yn-1

sn-1

cn-1cn

xi yi

si

cici+1

x0 y0

s0

c0c1

......... .........

Page 32: Bloques combinacionales aritméticos - el.uma.esSist. Electrónicos Digitales J.F. Martín1 Tema 4 Bloques funcionales combinacionales • Bloques para el encaminamiento y ... ·

32Sist. Electrónicos Digitales J.F. Martín

Tema 4 Bloques funcionales combinacionales

• Sumador paralelo con generación del acarreo en paralelo (acarreo anticipado).

Los acarreos de todas las etapas son generados simultáneamente a partir de xi , yi , c0

Es necesario añadir un hardware adicional, que crece conforme aumenta el número de bits

El tiempo necesario para realizar una suma no depende del tiempo de propagación de los sumadores de 1 bit

xn-1 yn-1

sn-1

cn-1

cn

xi yi

si

cici+1

x0 y0

s0

c0c1

......... .........