Professional Documents
Culture Documents
Resto de Mdulos:
Mdulo MUX_2_TO_1
Este mdulo, a partir de una seal de seleccin (sel), transmite al bit de
salida (z) uno de los dos bits de cuatro bits de entrada (a o b).
Si miramos el funcionamiento interno del mdulo, utilizamos 2AND2 para
seleccionar a o b dependiendo de sel, una NOT para obtener nosel y
una OR2 para unir las salidas de las ANDs, cuya salida de la OR2
corresponde a la salida z del mdulo.
Hay que destacar que la salida ser a si sel='1' y ser b si sel='0'.
a
inst
OR2
inst
OUTPUT
INPUT
VCC
a
b
sel
AND2
INPUT
VCC
sel
MUX_2_to_1
AND2
inst2
nosel
inst1
sel
INPUT
VCC
NOT
inst3
nosel
Mdulo MUX_2B4_TO_1B4
MUX_2B8_TO_1B8
x[7..0]
y[7..0]
sel
z[7..0]
inst14
Este mdulo, a partir de una seal de seleccin (sel), transmite al bus de salida (z[3..0]) uno
de los dos buses de cuatro bits de entrada (x[3..0] o y[3..0]).
Si miramos el funcionamiento interno del mdulo, observamos cuatro multiplexores
MUX_2_TO_1 en paralelo.
Mdulo P_1B
P_1B
num[3..0]
out[7..0]
inst11
El mdulo presentado en la figura nos permite ampliar un nmero codificado en Ca2 de 4 bits
(num[3..0]) a 8 bits (out[7..0]).
El funcionamiento del mdulo se describe de la siguiente forma: debemos fijarnos en el bit de
mayor peso del nmero de entrada (MSB), ya que de esta forma podemos averiguar si se trata
de un nmero positivo o de un negativo. Si es negativo le concatenamos cuatro unos a la
izquierda, y si es positivo cuatro ceros. Esta concatenacin se hace mediante buffers "LCELL" y
se selecciona entre "1111" (un bus de 4 bits conectado a VCC) y "0000" (un bus de 4 bits
conectado a GND) gracias a un multiplexor " MUX_2B4_TO_1B4" controlado por el MSB del
nmero "num[3..0]".
MUX_2B4_to_1B4
VCC
num[7..4]
x[3..0]
y[3..0]
sel
GND
LCELL
z[3..0]
out[7..4]
OUTPUT
out[7..0]
inst3
inst
num[3]
num[3..0]
INPUT
VCC
num[3..0]
LCELL
out[3..0]
inst4
Mdulo MUX_2B8_TO_1B8
MUX_2B8_TO_1B8
x[7..0]
y[7..0]
sel
z[7..0]
inst14
Este mdulo, a partir de una seal de seleccin (sel), transmite al bus de salida (z[7..0]) uno
de los dos buses de cuatro bits de entrada (x[7..0] o y[7..0]).
Si miramos el funcionamiento interno del mdulo, observamos ocho multiplexores
MUX_2_TO_1 en paralelo.
co
ci
s
Mdulo SUM_1B
SUM_1B
inst5
El mdulo presentado en la figura suma dos bits de entrada ("a" y "b") teniendo en cuenta el
acarreao de entrada ("CI") dando lugar al resultado de 8 bits de la suma ("s") y un acarreo de
salida ("CO").
Mdulo SUM_8B
SUM_8B
A[7..0]
B[7..0]
CI
S[7..0]
CO
inst8
El mdulo presentado en la figura suma dos buses 8 bits de entrada ("A[7..0]" y "B[7..0]")
teniendo en cuenta el acarreao de entrada ("CI") dando lugar al resultado de 8 bits de la suma
("S[7..0]") y un acarreo de salida ("CO").
Si miramos el funcionamiento interno del mdulo, observamos que est compuesto por ocho
mdulos "SUM_1B" en serie.
Mdulo MULT_8X1
MULT_8X1
multiplicando[7..0]
multiplicador
Res[7..0]
inst
INPUT
VCC
INPUT
VCC
AND2
OUTPUT
inst
Res[7..0]
Mdulo MULT_ACC
MULT_ACC
M[7..0]
Nk
INk[7..0]
OUT1[8..1]
OUT2
inst
El mdulo presentado en la figura multiplica un bus de entrada ("M[7..0]2) por un bit ("Nk") y l
resultado de la multiplicacin le suma un bus de entrada ("INk[7..0]"); esto nos proporciona un
bit ("OUT2") que es LSB del resultado de la operacin mencionada anteriormente, y un bus de
8 bits ("OUT1[8..1]") que son los otros bits del resultado.
Si miramos el funcionamiento interno del mdulo, observamos que est formado por: un
mdulo "MULT_8X1" que se encarga de multiplicar "M[7..0]" por "Nk"; y por un mdulo
"SUM_8B" que le suma un bus de entrada "INk[7..0]" al resultado anterior. Una vez hecho esto,
por un lado tenemos el bus de ocho bits "RES[7..0]", del cual separamos el LSB y lo enviamos a
la salida "OUT2"; y por otro lado "CO" de la suma, el cual lo concatenaremos delante del bus
"OUT[7..1]", y el bus resultante ser la salida "OUT[8..1]".
RES[7..1]
LCELL
OUT1[7..1]
inst7
RES[0]
LCELL
OUT2
inst8
MULT_8X1
M[7..0]
Nk
INPUT
VCC
INPUT
VCC
SUM_8B
RES[7..0]
multiplicando[7..0]
multiplicador
Res[7..0]
A[7..0]
B[7..0]
CI
inst
INk[7..0]
S[7..0]
CO
LCELL
RES[8]
OUT1[8]
OUTPUT
OUT1[8..1]
OUTPUT
OUT2
inst6
inst1
INPUT
VCC
GND
Mdulo MULT_8X8
MULT_8x8
M[7..0]
N[7..0]
OUT[7..0]
inst5