2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
Sistemas digitales combinacionales
1. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 1 de 27
N-1.... 1 0
Salida
Entradas de
selección o de
control
Canales o
entradas de
datos
0
1
2
.
.
.
.
2N
-1
MUX
2N
: 1 Z
SN-1 S1 S0
E
12Nx −
X0
X1
Enable
X2
8 SISTEMAS COMBINACIONALES
8.1 Introducción.
En el tema anterior se mostraba como cualquier sistema era
implementable con dos niveles de puertas. El problema radica en que
a mayor complejidad del sistema, aunque se mantienen los dos
niveles, el número de puertas y de conectividades puede dificultar su
implementación física. Por ello se han estandarizado unos bloques
funcionales que integran dos niveles de puertas y que permiten
fácilmente su interconexión. Los bloques combinacionales más
habituales son: Multiplexores–Demultiplexores, Codificadores–
Decodificadores, Módulos Aritméticos (Sumadores y Comparadores,
ALU’s, Detectores de Paridad).
Recordar en este punto que un sistema combinacional carece de
memoria, es decir, que genera una respuesta en función sólo y
exclusivamente de la excitación que trata en un momento
determinado, y no en función de entradas anteriores.
8.2 Multiplexores – Demultiplexores.
8.2.1Multiplexores MUX’s.
Un multiplexor, o MUX, no es más que un bloque selector de canal.
Este bloque presenta 2N
-1 entradas, de las cuáles sólo una puede
ser seleccionada en un momento determinado. De la selección de la
entrada, o canal, se encargan las N variables de selección, o de
control, que tiene el bloque: la combinación binaria de las variables
de selección determinará la entrada a seleccionar. Así mismo, este
bloque cuenta con una entrada de habilitación, Enable, que no
permite que el MUX pueda funcionar si no está activa.
Z = 0 si E = 0
Z = Xi si E = 1
∑
−
=
×=
1N
0k
k
k 2Si
2. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 2 de 27
1 0
0
1
2
3
MUX
4 : 1
Z
S1 S0
E
X0
X1
X2
X3
Ejemplo. MUX 4:1
La TdV de este MUX quedaría así:
Fíjese que se puede expresar Z como SdP:
013012011010SdP SESXSESXSSEXSSEXZ +++=
Se propone como ejercicio que realice la implementación del
logigrama correspondiente a esta SdP.
Ejercicios.
1. Realice el dibujo del MUX, la TdV, la ZSdP y el Logigrama de dos
niveles de:
• MUX 2:1
• MUX 8:1
2. Implemente un MUX 4:1 con tres MUX 2:1. Detalle las TdV de
cada bloque 2:1 y la del bloque 4:1. Ayúdese de variables
intermedias.
3. Implemente un MUX 8:1 con tres MUX 4:1
4. Se desea implementar un MUX 10:1 con bloques 4:1
• Determine el número de variables de selección necesarias.
• Dibuje un MUX 10:1. Realice la TdV de un MUX 10:1.
• Determine el mínimo número de MUX 4:1 necesarios.
• Dibuje el sistema de bloques 4:1. Haga la TdV de cada bloque.
• Establezca las conexiones entre los MUX 4:1
E S1 S0 Z
1 0 0 X0
1 0 1 X1
1 1 0 X2
1 1 1 X3
0 X X 0
El MUX 4:1 cuenta con cuatro canales (X0,
X1, X2, X3) y dos entradas de control (S0,
S1). La combinación binaria de las variables
de control (00, 01, 10 ó 11) permitirá
seleccionar un canal en concreto (X0, X1, X2
ó X3). Esto será siempre que el enable esté
activo ( E = 1).
3. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 3 de 27
2 1 0
0
1
2
3
4
5
6
7
MUX
8 : 1 F
A B C
E
8.2.2Síntesis de funciones lógicas con MUX’s.
Con los multiplexores se puede implementar cualquier función lógica,
conectando a alimentación o a tierra los canales de entrada según rija
la función. Las variables propias de la función se usan como
selectores de canal. El problema se puede presentar si la función
tiene más variables que selectores de canal el multiplexor. En ese
caso, se deberá usar la combinación de las variables de la función
como entradas al canal.
Ejemplo. Implementar la función F con MUX 8:1, 4:1 y 2:1
1. Implementación con MUX 8:1
2. Implementación con MUX 4:1
El MUX 4:1 sólo permite dos entradas de selección, con lo que una de
las tres variables de la función deberá usarse como entrada al canal.
Se usarán como entradas de selección las variables que más veces
aparezcan en la SdP_OPT de la función. Será necesario, pues, realizar
el MdK de la función:
A sale una vez
B sale dos veces
C sale dos veces
Las variables B y C aparecen dos veces en la expresión mientras que
A sólo una. Serán B y C las entradas de selección. Queda averiguar
de qué forma se asigna la variable A a los canales de entrada.
A B C F
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 0
B C
A
00 01 11 10
0 0 1 0 1
1 0 1 0 0
∑=
3
)5,2,1(m)C,B,A(F
Se consideran A, B, C como
entradas de selección y se
conectan a tierra o a alimentación
cada canal según tengan un cero
o un uno en la TdV.
CBCBA)C,B,A(FSdP_OPT +=
4. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 4 de 27
1 0
0
1
2
3
MUX
4 : 1 F
B C
E
A
0
0
1
MUX
2 : 1
F
C
E
A
B
3. Implementación con MUX 2:1
Ahora sólo se puede tener una entrada de selección. En este caso se
escoge C (aunque también podría haber sido B que aparece idénticas
veces en la SdP_OPT de F). Se realiza la TdV de F según C y se
implementa el MUX:
Ejercicios.
5. implemente con MUX 8:1, 4:1 y 2:1 las siguientes funciones. Siga
el método descrito en el ejemplo. Verifique con el MdK, cuando sea
necesario, que las expresiones son óptimas.
• ∑=
3
)7,6,5,4,1(mF
• BADBCABF ++=
• ∑∑ +=
x4
)3,2,0(d)15,13,8,7,6(mF
B C CBCBAF +=
0 0 0
0 1 1
1 0 A
1 1 0
C CBCBAF +=
0 BA
1 B
Se realiza la tabla de verdad de la
función F según las variables de
selección para ver qué canales se
ven afectados por la variable A:
La implementación de F con un
MUX 4:1 quedaría así:
5. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 5 de 27
N-1.... 1 0
0
1
2
.
.
.
.
2N
-1
DEMUX
1:2NA
SN-1 S1 S0
E
y0
y1
y2
12Ny −
1 0
0
1
2
3
.
.
DEMUX
1:4A
S1 S0
E
y0
y1
y2
y3
8.2.3Demultiplexores DEMUX’s.
Un demux selecciona el canal de salida por el que saldrá la entrada
según las variables de selección.
Ejemplo. DEMUX 1:4
Se puede expresar cada una de las salidas del demux como un
minterm, pudiéndose implementar el demux como sistema de puertas
lógicas:
010 SSEAy ⋅⋅⋅=
011 SSEAy ⋅⋅⋅=
012 SSEAy ⋅⋅⋅=
013 SSEAy ⋅⋅⋅=
E S1 S0 y3 y2 y1 y0
1 0 0 0 0 0 A
1 0 1 0 0 A 0
1 1 0 0 A 0 0
1 1 1 A 0 0 0
0 X X 0 0 0 0
E = 0 yj = 0
E = 1 yj = A
∑
−
=
×=
1N
0k
k
k 2Si
S1 S0
E
A
y0
y1
y2
y3
DEMUX 1:4
6. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 6 de 27
1 0
0
1
2
3
MUX
4 : 1
E
A
B
C
D
1 0
0
1
2
3
.
.
DEMUX
1:4
S1 S0
y0
y1
y2
y3
0
1
2
.
.
.
.
N-1
E
y0
y1
y2
1Ny −
0
1
2
.
.
.
.
P-1
x0
x1
x2
1Px −
P entradas N salidas
DEC
P:N
PP
2N:binario_código2N =⇒≤
Ejercicio.
6. Dado el sistema combinacional de la figura, compruebe que la
salida corresponde a la solución dada.
8.3 CODIFICADORES – DECODIFICADORES.
8.3.1Decodificadores DECOD’s.
Un decod selecciona la salida decodificada (la pone a 1) de la entrada
codificada. El resto de salidas las pone a cero dado que sólo se
habilita una salida simultaneamente.
Existen decodificadores para cada uno de las codificaciones
habituales: binario, BCD, Gray, siete segmentos,...
y3 y2 y1 y0
0 A 0 0
B 0 0 0
0 0 0 C
0 0 D 0
0 0 0 0
yj = 1 E = 1y ‘ j ’ es la salida codificada
yj = 0 cualquier otro caso
7. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 7 de 27
E
y0
y1
y2
0
DEC
2:4
1
y3
0
1
3
2x0
x1
Ejemplo. Decod binario 2:4
• Nivel de salidas altas
Las salidas, es decir, la decodificación decimal de las entradas
binarias, se pueden expresar como minterms: jj mEy ⋅= , de forma
que se pueden implementar fácilmene como una red de puertas AND:
0100 XXEmEy ⋅⋅=⋅=
0111 XXEmEy ⋅⋅=⋅=
0122 XXEmEy ⋅⋅=⋅=
0133 XXEmEy ⋅⋅=⋅=
Este desarrollo del decod 2:4 se ha realizado a nivel de salidas altas:
la salida seleccionada adopta el valor alto (1) mientras que las demás
se quedan en valor bajo (0).
• Nivel de salidas bajas
Existe la posibilidad dual al caso anterior que sería poner a cero la
salida seleccionada y las demás a valor alto. Este método se conoce
como nivel de salidas bajas. Esta segunda opción permite
implementar de forma inmediata una estructura de puertas OR.
E X1 X0 y3 y2 y1 y0
1 0 0 0 0 0 1
1 0 1 0 0 1 0
1 1 0 0 1 0 0
1 1 1 1 0 0 0
0 X X 0 0 0 0
X1 X0
E
y0
y1
y2
y3
DECOD 2:4
salidas altas
8. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 8 de 27
E
Y0
Y1
Y2
0x0
x1
DEC
2:4
1
Y3
0
1
3
2
Aplicando Morgan y Álgebra básica de Boole, tal y como se vio en el
tema anterior, un maxterm es igual a la negación del minterm
análogo. Es decir:
jjjjj MEmEmEyY +=+=⋅==
Por lo tanto:
010000 XXEMEmEmEY ++=+=+=⋅=
011111 XXEMEmEmEY ++=+=+=⋅=
012222 XXEMEmEmEY ++=+=+=⋅=
013333 XXEMEmEmEY ++=+=+=⋅=
8.3.2Encadenamiento de DECOD’s.
Al igual que con otros elementos combinacionales, los decodificadores
permiten su encadenamiento permitiendo estructuras complejas a
partir de bloques elementales. El criterio para su encadenamiento
viene determinado por cómo se gestiona el enable para evitar que
que se produzcan salidas simultaneas (se insiste nuevamente en que
en un sistema decodificador sólo puede habilitarse una salida por
cada combinación de entrada). El criterio a seguir viene dado por el
uso de los bits de mayor peso como gestores del enable.
E X1 X0 Y3 Y2 Y1 Y0
0 0 0 1 1 1 0
0 0 1 1 1 0 1
0 1 0 1 0 1 1
0 1 1 0 1 1 1
1 X X 1 1 1 1
X1 X0
E
y0
y1
y2
y3
DECOD 2:4
salidas bajas
9. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 9 de 27
E
0
x0
DEC
1:2
0
1
x1
010 XXEy ⋅⋅=
013 XXEy ⋅⋅=
012 XXEy ⋅⋅=
E
0 DEC
1:2 0
1
011 XXEy ⋅⋅=
BLOQUE 1
BLOQUE 2
El bit de mayor peso sirve para
seleccionar sólo uno de los dos bloques:
cuando vale 1 afecta a las salidas 3 y 2
del bloque 1, mientras que cuando vale 0
afecta a las salidas 1 y 0 del bloque 2.
Para evitar que se habiliten sendos
bloques simultaneamente se incluye un
inversor en uno de los enable para que
cuando X1 incida sobre un bloque, el otro
quede deshabilitado. En este caso, el
inversor se aplicará sobre el enable del
bloque 2 ya que sólo se ha de activar
cuando X1 sea nulo. Así pues, en este
caso, el bit X1 se encarga de seleccionar
el bloque, mientras que el bit de menor
peso X0 selecciona la salida del bloque
seleccionado por X1.
Ejemplo. decod 2:4 con 2 x decod 1:2
El bloque a implementar es el ya estudiado en los ejemplos
anteriores, tanto a nivel de salidas altas como bajas. Se realizará la
implementación con decod’s 1:2 para para uno de los casos
proponiéndose el otro caso como ejercicio.
El procedimiento será el siguiente:
• Se dibuja la estructura básica indicando entradas y salidas (en
este caso los dos decod’s 1:2 con las las dos entradas y las
cuatro salidas repartidas entre los dos bloques).
• Se expresa cada una de las salidas como minterm/Maxterm y
por inspección visual se determina qué variable de entrada
permite la separación modular sin que exista simultaneidad.
(suele ser el bit de mayor peso)
• Nivel de salidas altas
10. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 10 de 27
E
1B DEC
3:8
2
0
1
3
2
A
C 0
4
5
6
7
F
F
8.3.3Síntesis de funciones lógicas con DECOD’s.
Al igual que con los MUX’s, las funciones lógicas pueden
implementarse con DECOD’s. Pasos a seguir:
1. Hacer la TdV o el MdK de la función.
2. Recontar los ceros y unos que salen. Aplicar el siguiente
criterio:
• si hay más 0’s que 1’s usar salidas bajas
• si hay más 1’s que 0’s usar salidas altas.
Se puede resumir el criterio según esta tabla:
VALORES TdV SALIDAS PUERTAS
1’s
ALTA OR
BAJA NAND
0’s
ALTA NOR
BAJA AND
Ejemplo. Implementar con un decod la siguiente función.
∑=
3
)6,5,3,1,0(mF
• Dado que se trata de una función de tres variables, se
necesitará un decod de tres entradas (y ocho salidas).
• Como la función viene expresada como suma de mintems, ya
nos informa sobre si hay más 1’s que 0’s (por lo que no es
necesario hacer la TdV). En este caso tenemos 5 unos por 3
ceros, por lo que se implementará según salidas altas
añadiendo una puerta OR al decodificador .
• A la puerta OR le entrarán aquellas salidas del DECOD que sean
altas (en rojo). La salida de la puerta OR será la función F.
• Análogamente se puede implementar el sistema tomando las
salidas bajas y usando una puerta NOR (en azúl).
11. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 11 de 27
0
1
2
.
.
.
.
N-1
E
y0
y1
y2
1Ny −
0
1
2
.
.
.
.
2N
-1
x0
x1
x2
2N
entradas N salidas
COD
2N
:N
12 Nx −
E
x0
x1
x2
0 y0
y1
COD
4:2
1
x3
0
1
3
2
Ejercicio.
7. Implemente con el decod más adecuado y con una puerta lógica
las siguientes funciones. Repita el ejercicio usando dos bloques
decod’s que tengan la mitad de salidas que el bloque inicial
seleccionado.
∏=
3
1 )7,5,1(MF
)CB)·(DB)·(DBA)·(CBA()D,C,B,A(F2 ++++++=
8.3.4Codificadores COD’s.
Ejemplo. COD 4:2
Para la codificación de salida sólo es relevante el 1 de mayor peso de
todas las entradas. Este bit con valor alto es el que indica la
codificación de salida. El sistema sólo se habilita, es decir, sólo
genera salida, si al menos entra un 1.
x3 x2 x1 x0 E y1 y0
1 x x x 1 1 1
0 1 x x 1 1 0
0 0 1 x 1 0 1
0 0 0 1 1 0 0
0 0 0 0 0 0 0
Un bloque codificador da a la
salida la codificación de la
entrada entrante. En los
sistemas binarios, la salida es
la equivalencia en binario de la
entrada en decimal. Sólo se
habilita el enable en el caso de
que haya alguna entrada
12. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 12 de 27
0 y0
y1
COD
4:2
1
0
1
3
20x0
x1
DEC
2:4
1
0
1
3
2
Ejercicio.
8. Indique la codificación de salida para cada una de las
combinaciones de entrada según este esquema: se trata de un
sistema Transcodificador 2:2. Ayúdese de alguna variable
intermedia.
Reconoce el tipo de código resultante?
Cómo realizaría un código de Gray si sólo existiera la conexión
3 1 entre el decodificador y el codificador?
Es única la solución propuesta? Demuéstrelo.
13. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 13 de 27
8.4 SUMADORES.
Un bloque sumador se encarga de realizar la suma de dos tiras de
bits de entrada. Este sumador tiene habilitada una entrada especial,
RE, Resto de Entrada, donde se recibe la posibilidad de “llevarse una”
de un bloque sumador anterior. Así mismo se genera la salida RS,
Resto de Salida para dar salida a un posible bit de “me llevo una”. La
suma entre bits se realiza según XOR.
8.4.1Sumador de 1 bit. Sumador Universal.
El bloque sumador más sencillo es el sumador de un bit, conocido
como sumador universal. Su esquema y TdV son los siguientes:
Realizando el MdK y sacando el PdS se obtiene:
ERbaS ⊕⊕=
EES bRaRabR ++=
Ejemplo. Sumador de 4 bits implementado con bloques universales
Secuencias a sumar:
a b RE S RS
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
B
A
N
∑NN
S
N
RE
1
RE
1
b
a
1
∑11
S
1
RE
1
RS
1
14. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 14 de 27
A = [a3, a2, a1, a0]
B = [b3, b2, b1, b0]
S = A / B = [s4, s3, s2, s1, s0]
La estructura del ejemplo está implementada según un formato en
serie. Aunque es el método más fácil, también es el más lento dado
que para llegar al último bloque encadenado se ha de pasar por los
que tiene delante. Eso no es relevante en sistemas de pocos bits,
pero sí en sumadores de muchos bits ya que el retraso acumulado
por cada bloque puede ser excesivo.
Como solución se suele implementar el sumador con los bloques
universales en paralelo, ganándose en retardo pero aumentando los
recursos necesarios.
Ejercicios.
9. Aplique el bloque sumador de 4 bits diseñado y verifique que la
suma de A = [0, 1, 1, 1] con B = [1, 1, 0, 0] da como resultado
S = [1, 0, 0, 1, 1]. Si pasa los números en binario a decimal y los
suma verá que coincide con el resultado generado por el sumador
de 4 bits.
10. Implemente con sumadores universales encadenados y puertas
AND la operación de producto de 4 por 2 bits (a3a2a1a0 x b1b0).
8.5 COMPARADORES.
Los bloques comparadores establecen la relación de igualdad de
una primera tira de bits respecto a una segunda tira de bits: dirá si
la primera tira es mayor, igual o menor que la segunda. Tiene
b0a0
∑1
S0
RSRE
b1a1
∑1
S1
RSRE
b2a2
∑1
S2
RSRE
b3a3
∑1
S3
RSRE S4
15. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 15 de 27
habilitadas tres entradas para encadenamiento que aportan
información sobre una comparativa de un bloque anterior.
Ejemplo. Comparador de 8 bits.
Se implementa un sistema comparador de 8 bits. La primera opción
se realiza con un único bloque que compara los 8 bits
simultáneamente; la segunda opción usa dos bloques comparadores
de 4 bits encadenados.
Se implementa un sistema comparador de 8 bits usando
un bloque comparador de 8 bits.
Para los datos de la tabla el sistema responderá sacando un 1 en la
salida FA > B .
Se implementa un sistema comparador de 8 bits usando 2
bloques comparadores de 4 bits.
DEC BIN E> E= E< FA > B FA = B FA < B
A 75 01001011
0 1 0 1 0 0
B 62 00111110
B
A
N
N
FA > B
COMP
>
<
= FA = B
FA < B
> = <
E > E = E <
B
A
8
8
FA > B
COMP
>
<
= FA = B
FA < B
> = <
0 1 0
Dado que este bloque compara los
8 bits a la vez, es decir, no recibe
información de ningún otro bloque
anterior, se ha de habilitar el enable
de igualdad para que el bloque
pueda funcionar. La secuencia de
arranque en estos casos siempre
será 010.
16. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 16 de 27
Para realizar este sistema se agrupan las tiras de bits en dos grupos:
el primer grupo contiene los cuatro bits de mayor peso y el segundo
grupo los cuatro de menor peso.
El sistema queda de la siguiente forma:
Se ha comparado las dos tiras del caso anterior. El bloque 1
compara los bits de menor peso (al ser el primer bloque a entrar en
funcionamiento se le ha de introducir la secuencia de arranque 0 1 0
en los enables). La salida determina que los bits de menor peso de la
cadena B son mayores que los de A. Las salidas de comparación del
bloque 1 se encadenan con el bloque 2 a modo de enables de
comparación. Acto seguido se comparan los bits de mayor peso en el
bloque 2. El resultado de esta comparación ya determina que A es
mayor que B con lo que se desoye la información de comparación
heredada del bloque 1 (sólo habría sido determinante en el caso de
que los bits de mayor peso hubieran sido iguales).
Se repite el ejemplo pero con estos nuevos valores:
DEC BIN
Peso
mayor
Peso
menor
A 75 01001011 0100 1011
B 62 00111110 0011 1110
0 0 1 1
1 0 1 1
1 1 1 0
0 1 0 0
a7a6a5a4
4
4
FA > BCOMP >
<
= FA = B
FA < B
> = <
b7b6b5b4
a3a2a1a0
4
4
COMP >
<
=
> = <
0 1 0
b3b2b1b0
BLOQUE 1
BLOQUE 2
0
0
1
0
0
1
17. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 17 de 27
En este caso los bits de mayor peso son iguales, por lo que prevalece
la relación de comparación del bloque inferior. De esta forma se
determina que A es menor que B.
Al igual que pasa con los bloques sumadores, las estructuras del
ejemplo están implementadas según un formato en serie. Aunque es
el método más fácil, también es el más lento dado que para llegar al
último bloque encadenado se ha de pasar por los que tiene delante.
Eso no es relevante en sistemas de pocos bits, pero sí en
comparadores de muchos bits ya que el retraso acumulado por cada
bloque puede ser excesivo.
Como solución se suele implementar el comparador con los
bloques en paralelo, ganándose en retardo pero aumentando los
recursos necesarios.
Ejercicios.
DEC BIN
Peso
mayor
Peso
menor
A 75 01001011 0100 1011
B 78 01001110 0100 1110
0 1 0 0
1 0 1 1
1 1 1 0
0 1 0 0
a7a6a5a4
4
4
FA > BCOMP >
<
= FA = B
FA < B
> = <
b7b6b5b4
a3a2a1a0
4
4
COMP >
<
=
> = <
0 1 0
b3b2b1b0
BLOQUE 1
BLOQUE 2
0
0
1
0
0
1
18. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 18 de 27
11. Realice un comparador de 8 bits a partir de bloques
comparadores de 2 bits. Verifique su correcto funcionamiento para
las cadenas de bits de los ejemplos.
12. El sistema de la figura recibe números codificados en BCD en
las entradas a1 a0 b1 b0. El bloque comparador se encarga de
establecer la relación de igualdad entre los dos bits de mayor peso
(a1 a0) respecto los dos bits de menor peso (b1 b0).
Realice la TdV del sistema. Extraiga las funciones SdP de
las tres salidas. Observa algún vínculo entre las tres salidas
de este sistema?. Justifique y demuestre su respuesta.
Implemente el sistema con 2 MUX 4:1.
Implemente el sistema con 1 DECOD 3:8.
Implemente el sistema con 2 COMP de 2 bits.
8.6 MATRICES PROGRAMABLES
FA > B
COMP
>
<
= FA = B
FA < B
> = <
0 1 0
b1
b0
a0
a1
19. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 19 de 27
8.6.1 Introducción.
Los bloques combinaciones también pueden ser representados
mediante matrices lógicas programables. Una matriz programable
permite representar cualquier función lógica combinacional mediante
puertas básicas (OR’s, AND’s e inversores). Estas puertas están
agrupadas en forma matricial según muestra la figura. La
implementación de las funciones mediante matrices programables
requiere su expresión como suma de productos SdP.
Este tipo de tecnología combinacional se conoce como PLD
(Programmable Logic Device, Dispositivos Lógicos Programables). Los
PLD’s se clasifican en tres familias según el grado de libertad de la
programación de cada submatriz AND-OR:
• PLA
• PAL
• PROM
20. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 20 de 27
La programación de las PLD’s conlleva conocer la notación usada.
Aunque en los esquemas de las matrices las conexiones se realice
aparentemente sobre una misma pista, en la implementación física de
la matriz cada entrada a una puerta se divide en tantas entradas
como sumandos/productos tengan las puertas OR/AND.
En el esquema de la izquierda se ve como todas las entradas a cada
puerta están perfectamente separadas (implementación física real)
mientras que en el de la derecha se han unificado todas las entradas
a una puerta en una sola pista sobre la que se marcan las conexiones
a realizar (notación equivalente de programación).
La notación de una matriz programable viene dada por el número de
entradas, productos y sumas mínimos (n x k x r, respectivamente)
necesarias para su implementación.
IMPLEMENTACIÓN
FÍSICA REAL
NOTACIÓN
EQUIVALENTE DE
PROGRAMACIÓN
21. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 21 de 27
8.6.2 PLA, Programmable Logic Array.
Los dispositivos PLA permiten 2 niveles de programación:
• Submatriz AND programable
• Submatriz OR programable
Dado que tiene los dos grados de libertad (AND’s y OR’s
programables), permiten implementar funciones combinacionales de
forma más eficiente que los dispositivos PROM.
En la figura se desarrolla el ejemplo de una matriz PLA con las
siguientes características:
n = número de entradas = 3
k = número de productos = 7
r = número de sumas = 2
El número de entradas
corresponde al de las
variables que entran al
sistema (X1, X2, X3).
El número de productos es
el total de puertas AND que
habrían usado entre las dos
funciones: cuatro por cada
función, que daría un total
de ocho. Sin embargo, el
producto X1X2X3 se repite
en f1 y en f2, por lo que se
reutiliza para ambas
funciones (necesitándose
sólo siete productos en
total).
Hacen falta tantas sumas
como salidas tenga el
sistema.
22. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 22 de 27
8.6.3 PAL, Programmable Array Logic.
Los dispositivos PAL permiten sólo 1 nivel de programación:
• Submatriz AND programable
• Submatriz OR no programable
Se representa el ejemplo anterior, pero ahora usando una matriz PAL
n = número de entradas = 3
k = número de productos = 8
r = número de sumas = 2
En este caso, en el que las
sumas ya están programadas,
el número de productos viene
fijado: son ocho, repartidos
en grupos de cuatro entradas
de cada puerta OR de salida.
Esta rigidez obliga a que no se
pueda reutilizar el producto
X1X2X3 como entrada para las
dos funciones. Por eso se ha
de habilitar una octava puerta
AND.
El resto del análisis es análogo
al caso PLA.
23. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 23 de 27
8.6.4 PROM, Programmable Read Only Memory.
Los dispositivos PROM permiten sólo 1 nivel de programación:
• Submatriz AND no programable
• Submatriz OR programable
Se representa el mismo ejemplo aplicando en esta ocasión una matriz
PROM.
n = número de entradas = 3
k = número de productos = 8
r = número de sumas = 2
Ahora las entradas a las puertas
AND ya están fijadas. Fíjese que
de mayor a menor peso de las
variables, cada producto recoge
un minterm ordenado de mayor
(m7) a menor (m0).
Este caso sí que permite
reutilizar un producto, el
correspondiente a m7, aunque,
sin embargo, deja marcada la
conexión de una puerta que no
es necesaria en la
implementación (m0).
24. ELECTRÓNICA
XABIER PÉREZ TEMA 08
Página 24 de 27
8.6.5 Resumen y comparativa.
AND OR
PLA SÍ PROG SÍ PROG
PAL SÍ PROG NO PROG
PROM NO PROG SÍ PROG
8.6.6 Ejercicios.
1. Dibuje un sumador universal de un bit. Especifique claramente sus
entradas y salidas, así como los restos entrantes y salientes.
a. Realice las TdV de la salida y del resto saliente.
b. Realice el Mdk de cada función.
c. Extraiga cada función como SdP.
d. Implemente cada función con una matriz programable tipo PLA.
Especifique número de entradas, productos y sumas.
e. Igual que el apartado anterior pero con PAL.
f. Igual pero con PROM.
2. Averigüe la combinación ganadora de la quiniela de esta semana y
represente con los tres tipos de matrices programables las
funciones que sintetizan los valores 1 – X – 2 (F1, FX y F2,
respectivamente).
3. Implemente el ejercicio 12 del Tema 08 con los tres tipos de
matrices programables.