1
Subsistemas combinacionales
Subsistema: todo circuito integrado cuya complejidad supere al de una
simple puerta lógica se considera como subsistema.
• Un subsistema puede verse como una caja negra con múltiples entradas y
salidas:
• Las líneas de entrada y salida pueden clasificarse en:
• de datos: llevan la información original o procesada por el subsistema
• de control: indican al subsistema qué operación realizar o permiten al
subsistema indicar al usuario el estado resultante de la operación
• La característica fundamental de un subsistema es su capacidad de
reutilización.
Subsistema
combinacional
n m
Líneas de control. ENABLE
• Las líneas de control pueden ser, según su nivel de activación:
• activas a nivel alto o “activas en alta”: nivel de activación = ‘1’
• activas a nivel bajo o “activas en baja”: nivel de activación = ‘0’
• Una de las entradas de control más comunes es Enable (“habilitación”):
• Enable activo: el subsistema opera normalmente
• Enable inactivo: el subsistema entra en un estado de reposo
Subsistema
combinacional
n m
Entrada activa en baja
Entrada activa en alta
Salida activa en alta
Salida activa en baja
E
Entradas Salidas
E
Entradas Salidas
2
Clasificación de los subsistemas
• Los subsistemas pueden clasificarse del siguiente modo:
• Subsistemas de propósito general: son aquellos que permiten
implementar cualquier función lógica
• Subsistemas de propósito específico: son aquellos que no pueden,
por sí solos, implementar cualquier función lógica
• de propósito específico:
• Decodificadores
• Codificadores
• Convertidores de
código
• Comparadores de
magnitud
• Demultiplexores
• de propósito general:
• Multiplexores
• ROMs
• PLDs (PALs y PLAs)
Decodificadores
• Estructura:
• n entradas de datos
• m salidas de datos, con m ≤ 2n, activas en alta o baja
• Denominación: DECn : m, DECn a m
• Propósito: generar m mintérminos (salidas activas en alta) o m
maxtérminos (salidas activas en baja) asociados a las n entradas (por tanto,
tan sólo puede haber una salida activa al tiempo)
• Símbolo, tabla de verdad y ecuaciones de salida:
1
0 2
3
0
1
A1
A0
O0
O1
O2
O3
O0 O1 O2 O3
A1 A0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
O0= A1 A0 O1= A1 A0 O2= A1 A0 O3= A1 A0
_ _ _ _
Subsistemas
de
propósito
específico
3
Decodificadores (2)
O0 O1 O2 O3
A1 A0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
O0= A1+A0
O1= A1+A0
O2= A1+A0
O3= A1+A0
_ _
_
_
1
0 2
3
0
1
A1
A0
O0
O1
O2
O3
1
0 2
3
0
1
A1
A0
O0
O1
O2
O3
O0 O1 O2 O3
A1 A0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1 O3= A1 A0
O0= A1 A0
_ _
O1= A1 A0
_
O2= A1 A0
_
Subsistemas
de
propósito
específico
Decodificadores (3)
O3= E A1 A0
O0= E A1 A0
_ _
O1= E A1 A0
_
O2= E A1 A0
_
1
0 2
3
0
1
A1
A0
O0
O1
O2
O3
E
O0 O1 O2 O3
A1 A0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
X
0
0
1
1
X
0
1
0
1
E
0
1
1
1
1
1
0 2
3
0
1
A1
A0
O0
O1
O2
O3
E
O0 O1 O2 O3
A1 A0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
X
0
0
1
1
X
0
1
0
1
E
1
0
0
0
0
O0= E+A1+A0
O1= E+A1+A0
O2= E+A1+A0
O3= E+A1+A0
_ _
_
_
Subsistemas
de
propósito
específico
4
Decodificadores (4): 74AS138
Subsistemas
de
propósito
específico
Decodificadores (5): 74AS138
Subsistemas
de
propósito
específico
5
Decodificadores (6): asociación
Subsistemas
de
propósito
específico
E
1
0 2
3
0
1
A1
A0
E
1
0 2
3
0
1
O0
O1
O2
O3
E
1
0 2
3
0
1
O4
O5
O6
O7
E
A2
DEC3:8
DEC2:4 DEC2:4
DEC2:4
Codificadores
• Estructura:
• m entradas de datos, activas en alta o baja
• n salidas de datos, activas en alta o baja
• Propósito: proporcionan un código de salida (binario, gray, etc.) asociado a
la entrada activa (que sólo puede ser una al tiempo)
• Si m = 2n, el codificador se dice que es completo
• Símbolo, tabla de verdad y ecuaciones de salida (codificador binario):
1
0
2
3
0
1
O1
O0
I0
I1
I2
I3
I0 I1 I2 I3 O1 O0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
1
O0= I1+I3
O1= I2+I3
• Símbolo, tabla de verdad y ecuaciones de salida (codificador gray):
1
0
2
3
0
1
O1
O0
I0
I1
I2
I3
I0 I1 I2 I3 O1 O0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
0
O0= I1+I2
O1= I2+I3
gray
Subsistemas
de
propósito
específico
6
Codificadores (2): codificador de prioridad
• Permite que haya más de una entrada activa simultáneamente:
1
0
2
3
0
1 O1
O0
I0
I1
I2
I3
E
I0 I1 I2 I3 O1 O0
1
x
x
x
0
0
1
x
x
0
0
0
1
x
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
E
0
0
0
0
1
O0= I1 I2+I3
O1= I2+I3
E= I0 I1 I2 I3
_ _ _ _
_
• Codificador de prioridad 74LS148
Subsistemas
de
propósito
específico
Convertidores de código
• Propósito: transforman una palabra de un código a una palabra de otro
código, por ejemplo:
• de código binario a gray o viceversa
• de código BCD a 7-segmentos
• Tabla de verdad y circuito para un convertidor binario a gray de 2 bits:
A1 A0 O1 O0
0
0
1
1
0
1
0
1
0
0
1
1
0
1
1
0
1
0
2
3
0
1
O1
O0
1
0 2
3
0
1
A1
A0
gray
DEC2:4
&
&
≥1
O1
O0
A1
A0
Con subsistemas
Con puertas
Subsistemas
de
propósito
específico
7
Convertidores de código (2)
• Tabla de verdad y símbolo para un convertidor BCD a 7-segmentos:
a
b
c
d
e
f
g
a
b
c
d
e
f g
b3
b2
b1
b0
BCD-7seg
a
1
0
1
1
0
1
0
1
1
1
b3
0
0
0
0
0
0
0
0
1
1
b2
0
0
0
0
1
1
1
1
0
0
b1
0
0
1
1
0
0
1
1
0
0
b0
0
1
0
1
0
1
0
1
0
1
b
1
1
1
1
1
0
0
1
1
1
c
1
1
0
1
1
1
1
1
1
1
d
1
0
1
1
0
1
1
0
1
0
e
1
0
1
0
0
0
1
0
1
0
f
1
0
0
0
1
1
1
0
1
1
g
0
0
1
1
1
1
1
0
1
1
Subsistemas
de
propósito
específico
Comparadores de magnitud
• Estructura:
• Entradas: dos números de n bits cada uno (An-1,0, Bn-1,0)
• Entradas: 3 líneas para conexión en cascada G0, E0, L0
• Salidas: resultados de la comparación G (AB), E (A=B), L (AB) activas
en alta
• Símbolo (n=4 bits): • Operación (tabla resumida):
a3
a2
a1
a0
b3
b2
b1
b0
L0
E0
G0
A
B
L
E
G
AB
A=B
AB
A B
AB
A=B
AB
G
1
G0
0
E
0
E0
0
L
0
L0
1
• Operación normal (tabla resumida):
A B
AB
A=B
AB
G
1
0
0
E
0
1
0
L
0
0
1
luego (G0, E0, L0) = (0, 1, 0)
Subsistemas
de
propósito
específico
8
Comparadores de magnitud (2)
• Tabla completa (74LS85):
Subsistemas
de
propósito
específico
Comparadores de magnitud (3)
• Expansión mediante conexión en cascada: permite la comparación de
números de más bits
a3
a2
a1
a0
b3
b2
b1
b0
L0
E0
G0
A
B
L
E
G
AB
A=B
AB
0
1
0
a7
a6
a5
a4
b7
b6
b5
b4
L0
E0
G0
A
B
L
E
G
AB
A=B
AB
a11
a10
a9
a8
b11
b10
b9
b8
L0
E0
G0
A
B
L
E
G
AB
A=B
AB
Subsistemas
de
propósito
específico
9
Demultiplexores
• Estructura:
• Entradas: n líneas de selección de canal (An-1, ..., A0)
• Entrada: 1 línea de datos (E)
• Salidas: m(=2n) líneas de datos (“canales”, Om-1, ..., O0)
• Denominación: DEMUX1 : m, con m = número de canales (2n)
• Propósito: transfiere el valor presente en la entrada E al canal de salida
indicado por las líneas de selección
• Símbolo:
O3
O2
O1
O0
A1 A0
E
1 0
3
2
1
0
• Símil mecánico:
O3
O2
O1
O0
A1 A0
E
1 0
3
2
1
0
O0 O1 O2 O3
A1 A0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
X
0
0
1
1
X
0
1
0
1
E
0
1
1
1
1
• Tabla de verdad:
Subsistemas
de
propósito
específico
Multiplexores
• Estructura:
• Entradas: m(=2n) líneas de datos (“canales”, dm-1, ..., d0)
• Entradas: n líneas de selección de canal (An-1, ..., A0)
• Salida: 1 línea de datos (z)
• Denominación: MUXm : 1, con m = número de canales (2n)
• Propósito: transfiere el valor presente en el canal indicado por las líneas de
selección a la salida z (función inversa a la del demultiplexor)
• Símbolo:
d2
d3
d1
d0
A1 A0
z
1 0
0
1
2
3
• Símil mecánico:
A1 A0
0
0
1
1
0
1
0
1
z
d0
d1
d2
d3
• Tabla de verdad (resumida):
Subsistemas
de
propósito
general
d2
d3
d1
d0
A1 A0
z
1 0
0
1
2
3
10
Multiplexores (2)
• Por esta propiedad, el multiplexor puede usarse como generador de
funciones lógicas: basta hacer Ai = xi y dk = f(k)
• Ejemplo: implementar
f(x, y, z) = Σ(0, 4, 5, 7)
con un MUX8:1
(el número de variables
coincide con el número
de entradas de
selección en el MUX)
A1 A0
0
0
1
1
0
1
0
1
z
d0
d1
d2
d3
Subsistemas
de
propósito
general
z = A1 A0 d0 + A1 A0 d1 + A1 A0 d2 + A1 A0 d3
_ _ _ _
f = x1 x0 f(0) + x1 x0 f(1) + x1 x0 f(2) + x1 x0 f(3)
_ _ _ _
(Teorema de expansión)
f
0
1
2
3
4
5
6
7
0
1
2
z
y
x
1
0
0
0
1
1
0
1
Multiplexores (3)
• Si el número de variables es superior al número de entradas de selección
en el MUX, la implementación se realiza extrayendo los residuos de f
• Ejemplo: implementar f(x, y, z) = Σ(0, 4, 5, 7) con MUX4:1
Subsistemas
de
propósito
general
f(1,0,z)
f(1,1,z)
f(0,1,z)
f(0,0,z)
x y
f
1 0
0
1
2
3 x y
z 00 01 11 10
0
1
f(x, y, z)
1
1 1
1
f(0, 0, z)=z
f(0, 1, z)=0 f(1, 1, z)=z
f(1, 0, z)=1
_
1
z
0
z
x y
f
1 0
0
1
2
3
_
11
Multiplexores (4): asociación
Subsistemas
de
propósito
general
d2
d3
d1
d0
A1 A2
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
A0
d6
d7
d5
d4
z(A2, A1, A0)
z(0, A1, A0)
z(1, A1, A0)
z(0, 0, A0)
z(0, 1, A0)
z(1, 0, A0)
z(1, 1, A0)
z(0, 0, 0)
z(0, 0, 1)
z(0, 1, 0)
z(0, 1, 1)
z(1, 0, 0)
z(1, 0, 1)
z(1, 1, 0)
z(1, 1, 1)
ROM (Read-Only Memory)
Subsistemas
de
propósito
general
• Estructura:
• Entradas: n líneas de dirección (An-1, ..., A0)
• Salidas: m líneas de datos (Dm-1, ..., D0)
• Propósito: las ROMs son circuitos de memoria que permiten recuperar
información programada previamente. Los datos se organizan a modo de
tablas, presentando un total de 2n filas y teniendo cada fila m bits.
• Denominación: ROM 2n x m (2n x m = capacidad de la ROM, en bits)
• Símbolo:
0
2
1
A2
A1
A0
1
0
3
2
D3
D2
D1
D0
ROM8x4
A2
A1
A0
D3 D2 D1 D0
000
001
010
011
100
101
110
111
1 1 0 0
0 0 0 1
1 0 1 0
1 1 1 0
0 0 1 1
0 0 0 0
0 0 0 1
1 0 0 0
• Organización:
12
ROM (2)
Subsistemas
de
propósito
general
• Circuito interno de una ROM 4x2 “virgen” (sin programar):
1
0 2
3
0
1
A1
A0
≥1
D1
≥1
D0
• Una ROM genera funciones como suma de productos, donde los productos
son fijos (proporcionados por el DEC) mientras las sumas (“plano OR”) son
programables.
ROM (3)
Subsistemas
de
propósito
general
• Circuito interno de una ROM 4x2 programada: A1 A0 D1 D0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0 2
3
0
1
A1
A0
≥1
D1
≥1
D0
1
0 2
3
0
1
A1
A0
≥1
D1
≥1
D0
0 0 0 0
O0 O3 O2 O3
13
ROM (4)
Subsistemas
de
propósito
general
• Chip Select (CS): entrada de control que indica si las salidas deben estar
activas o pasar a alta impedancia (HI)
1
0 2
3
0
1
A1
A0
≥1
D1
≥1
D0
CS
ROM4x2
X Out
0
1
HI
In
La salida de alta impedancia (HI)
se consigue con buffers triestado:
Out
In
X
Out
In
X
Símil eléctrico:
ROM (5)
Subsistemas
de
propósito
general
• Ejemplo: implementar f = Σ(1,3,5,7) y g = Σ(0,2,4,5) mediante ROM.
• f y g tienen 3 variables de entrada = n=3 líneas de dirección
• hay que generar 2 funciones = m=2 líneas de datos
• Por tanto, es necesaria una ROM8x2 (2n x m)
x
y
z
f g
000
001
010
011
100
101
110
111
0 1
1 0
0 1
1 0
0 1
1 1
0 0
1 0
0
2
1
x
y
z
1 0
f g
ROM
8x2
0
1
2
3
4
5
6
7
1
2
1
2
1
3
0
2
POS[$] CONT[$]
Tabla de verdad Tabla de contenido
(hexadecimal)
14
ROM (6): asociación
Subsistemas
de
propósito
general
• Aumentando el ancho del bus de
datos. Ejemplo: ROM8x4 a partir
de 2 chips ROM8x2.
0
2
1
A2
A1
A0
1 0
D3 D2
ROM
8x2
CS
0
2
1
1 0
D1 D0
ROM
8x2
CS
CS
ROM8x4
0
2
1
A2
A1
A0
1 0
ROM
8x2
CS
0
2
1
1 0
D1 D0
ROM
8x2
CS
ROM16x2
A3
1
• Aumentando el ancho del bus de
direcciones. Ejemplo: ROM16x4 a
partir de 2 chips ROM8x2.
• Aumentando el ancho del bus de datos y de direcciones: consiste en
combinar las técnicas anteriores.
PAL (Programmable Array Logic)
Subsistemas
de
propósito
general
• Estructura:
• Entradas: n variables (In-1, ..., I0)
• Salidas: m funciones (Om-1, ...,
O0)
• k términos producto por salida
• Propósito: las PALs son circuitos
que generan funciones como suma
de productos en las que los
productos (“plano AND”) son
programables mientras las sumas
son fijas (al contrario que las ROMs).
• Circuito interno (n=3 entradas,
m=3 salidas, k=3 términos producto
por salida):
≥1



≥1



≥1



I2
I1
I0
O2
O1
O0
I2 I2 I1 I1 I0 I0
_ _ _
k=3
15
PAL (2)
Subsistemas
de
propósito
general
≥1




I2
O2
I2 I2 I1 I1 I0 I0
_ _ _

I2 I2 I1 I1 I0 I0
_ _ _
I2 I1 I0
_
I2
1
1
I1
I0
1
_
PAL (3)
Subsistemas
de
propósito
general
x y
z 00 01 11 10
0
1
f(x, y, z)=x’z’+xyz+xy’z’
1 1 1
1
x y
z 00 01 11 10
0
1
g(x, y, z)=x’y’+x’yz’+xy
1 1
1
1
1
h(x, y, z)=xyz’+xyz
• Implementar en una PAL:
f = Σ(0, 2, 4, 7)
g = Σ(0, 1, 2, 6, 7)
h = Σ(6, 7)
≥1



≥1



≥1



x
y
z
f
g
h
x x y y z z
_ _ _
0
xyz
xyz’
x’y’
xy
x’yz’
x’z’
xy’z’
xyz
No es necesario
simplificar al
máximo, tan sólo
conseguir que la
función quepa
en la PAL
16
PAL (4)
Subsistemas
de
propósito
general
≥1




≥1




≥1




• PAL con triestado y
realimentación:
• salidas invertidas: hay
que implementar f’ (p.e.,
f’ = tp1+tp2+tp3+tp4+tp5)
• si una salida está en
alta impedancia, la línea
puede usarse como
entrada
• una salida puede
realimentarse en el
plano AND para
implementar funciones
más complejas (sumas
de más de k términos
producto)
0
HI
1
tp1
tp2
tp3
tp1+tp2+tp3
tp1+tp2+tp3
tp1+tp2+tp3
tp4
tp5
1
I3
I0
I1
I2
I0I0 I1I1I2I2 I3 I3
_ _ _ _
f
f
_
PLA (Programmable Logic Array)
Subsistemas
de
propósito
general




≥1 ≥1 ≥1
• Estructura:
• Entradas: n variables (In-1, ..., I0)
• Salidas: m funciones (Om-1, ..., O0)
• k términos producto
• Propósito: las PLAs son circuitos que generan funciones como suma de
productos en las que tanto los productos como las sumas (planos AND y OR)
son programables. La ventaja principal es que los términos producto comunes a
las diferentes salidas se implementan una sola vez.
• Circuito interno (n=3 entradas, m=3 salidas, k=3 términos producto):
f(x, y, z)=x’+y
g(x, y, z)=x’y+xz’
h(x, y, z)=xz’+x’+y
Términos producto:
x’, y, x’y, xz’
• Ejemplo:




≥1 ≥1 ≥1
x y z f g h
x’
y
x’y
xz’

5_subsistemas.pdf

  • 1.
    1 Subsistemas combinacionales Subsistema: todocircuito integrado cuya complejidad supere al de una simple puerta lógica se considera como subsistema. • Un subsistema puede verse como una caja negra con múltiples entradas y salidas: • Las líneas de entrada y salida pueden clasificarse en: • de datos: llevan la información original o procesada por el subsistema • de control: indican al subsistema qué operación realizar o permiten al subsistema indicar al usuario el estado resultante de la operación • La característica fundamental de un subsistema es su capacidad de reutilización. Subsistema combinacional n m Líneas de control. ENABLE • Las líneas de control pueden ser, según su nivel de activación: • activas a nivel alto o “activas en alta”: nivel de activación = ‘1’ • activas a nivel bajo o “activas en baja”: nivel de activación = ‘0’ • Una de las entradas de control más comunes es Enable (“habilitación”): • Enable activo: el subsistema opera normalmente • Enable inactivo: el subsistema entra en un estado de reposo Subsistema combinacional n m Entrada activa en baja Entrada activa en alta Salida activa en alta Salida activa en baja E Entradas Salidas E Entradas Salidas
  • 2.
    2 Clasificación de lossubsistemas • Los subsistemas pueden clasificarse del siguiente modo: • Subsistemas de propósito general: son aquellos que permiten implementar cualquier función lógica • Subsistemas de propósito específico: son aquellos que no pueden, por sí solos, implementar cualquier función lógica • de propósito específico: • Decodificadores • Codificadores • Convertidores de código • Comparadores de magnitud • Demultiplexores • de propósito general: • Multiplexores • ROMs • PLDs (PALs y PLAs) Decodificadores • Estructura: • n entradas de datos • m salidas de datos, con m ≤ 2n, activas en alta o baja • Denominación: DECn : m, DECn a m • Propósito: generar m mintérminos (salidas activas en alta) o m maxtérminos (salidas activas en baja) asociados a las n entradas (por tanto, tan sólo puede haber una salida activa al tiempo) • Símbolo, tabla de verdad y ecuaciones de salida: 1 0 2 3 0 1 A1 A0 O0 O1 O2 O3 O0 O1 O2 O3 A1 A0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 1 O0= A1 A0 O1= A1 A0 O2= A1 A0 O3= A1 A0 _ _ _ _ Subsistemas de propósito específico
  • 3.
    3 Decodificadores (2) O0 O1O2 O3 A1 A0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1 0 1 O0= A1+A0 O1= A1+A0 O2= A1+A0 O3= A1+A0 _ _ _ _ 1 0 2 3 0 1 A1 A0 O0 O1 O2 O3 1 0 2 3 0 1 A1 A0 O0 O1 O2 O3 O0 O1 O2 O3 A1 A0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 1 O3= A1 A0 O0= A1 A0 _ _ O1= A1 A0 _ O2= A1 A0 _ Subsistemas de propósito específico Decodificadores (3) O3= E A1 A0 O0= E A1 A0 _ _ O1= E A1 A0 _ O2= E A1 A0 _ 1 0 2 3 0 1 A1 A0 O0 O1 O2 O3 E O0 O1 O2 O3 A1 A0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 X 0 0 1 1 X 0 1 0 1 E 0 1 1 1 1 1 0 2 3 0 1 A1 A0 O0 O1 O2 O3 E O0 O1 O2 O3 A1 A0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 X 0 0 1 1 X 0 1 0 1 E 1 0 0 0 0 O0= E+A1+A0 O1= E+A1+A0 O2= E+A1+A0 O3= E+A1+A0 _ _ _ _ Subsistemas de propósito específico
  • 4.
  • 5.
    5 Decodificadores (6): asociación Subsistemas de propósito específico E 1 02 3 0 1 A1 A0 E 1 0 2 3 0 1 O0 O1 O2 O3 E 1 0 2 3 0 1 O4 O5 O6 O7 E A2 DEC3:8 DEC2:4 DEC2:4 DEC2:4 Codificadores • Estructura: • m entradas de datos, activas en alta o baja • n salidas de datos, activas en alta o baja • Propósito: proporcionan un código de salida (binario, gray, etc.) asociado a la entrada activa (que sólo puede ser una al tiempo) • Si m = 2n, el codificador se dice que es completo • Símbolo, tabla de verdad y ecuaciones de salida (codificador binario): 1 0 2 3 0 1 O1 O0 I0 I1 I2 I3 I0 I1 I2 I3 O1 O0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 1 O0= I1+I3 O1= I2+I3 • Símbolo, tabla de verdad y ecuaciones de salida (codificador gray): 1 0 2 3 0 1 O1 O0 I0 I1 I2 I3 I0 I1 I2 I3 O1 O0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 1 0 O0= I1+I2 O1= I2+I3 gray Subsistemas de propósito específico
  • 6.
    6 Codificadores (2): codificadorde prioridad • Permite que haya más de una entrada activa simultáneamente: 1 0 2 3 0 1 O1 O0 I0 I1 I2 I3 E I0 I1 I2 I3 O1 O0 1 x x x 0 0 1 x x 0 0 0 1 x 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 E 0 0 0 0 1 O0= I1 I2+I3 O1= I2+I3 E= I0 I1 I2 I3 _ _ _ _ _ • Codificador de prioridad 74LS148 Subsistemas de propósito específico Convertidores de código • Propósito: transforman una palabra de un código a una palabra de otro código, por ejemplo: • de código binario a gray o viceversa • de código BCD a 7-segmentos • Tabla de verdad y circuito para un convertidor binario a gray de 2 bits: A1 A0 O1 O0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 0 2 3 0 1 O1 O0 1 0 2 3 0 1 A1 A0 gray DEC2:4 & & ≥1 O1 O0 A1 A0 Con subsistemas Con puertas Subsistemas de propósito específico
  • 7.
    7 Convertidores de código(2) • Tabla de verdad y símbolo para un convertidor BCD a 7-segmentos: a b c d e f g a b c d e f g b3 b2 b1 b0 BCD-7seg a 1 0 1 1 0 1 0 1 1 1 b3 0 0 0 0 0 0 0 0 1 1 b2 0 0 0 0 1 1 1 1 0 0 b1 0 0 1 1 0 0 1 1 0 0 b0 0 1 0 1 0 1 0 1 0 1 b 1 1 1 1 1 0 0 1 1 1 c 1 1 0 1 1 1 1 1 1 1 d 1 0 1 1 0 1 1 0 1 0 e 1 0 1 0 0 0 1 0 1 0 f 1 0 0 0 1 1 1 0 1 1 g 0 0 1 1 1 1 1 0 1 1 Subsistemas de propósito específico Comparadores de magnitud • Estructura: • Entradas: dos números de n bits cada uno (An-1,0, Bn-1,0) • Entradas: 3 líneas para conexión en cascada G0, E0, L0 • Salidas: resultados de la comparación G (AB), E (A=B), L (AB) activas en alta • Símbolo (n=4 bits): • Operación (tabla resumida): a3 a2 a1 a0 b3 b2 b1 b0 L0 E0 G0 A B L E G AB A=B AB A B AB A=B AB G 1 G0 0 E 0 E0 0 L 0 L0 1 • Operación normal (tabla resumida): A B AB A=B AB G 1 0 0 E 0 1 0 L 0 0 1 luego (G0, E0, L0) = (0, 1, 0) Subsistemas de propósito específico
  • 8.
    8 Comparadores de magnitud(2) • Tabla completa (74LS85): Subsistemas de propósito específico Comparadores de magnitud (3) • Expansión mediante conexión en cascada: permite la comparación de números de más bits a3 a2 a1 a0 b3 b2 b1 b0 L0 E0 G0 A B L E G AB A=B AB 0 1 0 a7 a6 a5 a4 b7 b6 b5 b4 L0 E0 G0 A B L E G AB A=B AB a11 a10 a9 a8 b11 b10 b9 b8 L0 E0 G0 A B L E G AB A=B AB Subsistemas de propósito específico
  • 9.
    9 Demultiplexores • Estructura: • Entradas:n líneas de selección de canal (An-1, ..., A0) • Entrada: 1 línea de datos (E) • Salidas: m(=2n) líneas de datos (“canales”, Om-1, ..., O0) • Denominación: DEMUX1 : m, con m = número de canales (2n) • Propósito: transfiere el valor presente en la entrada E al canal de salida indicado por las líneas de selección • Símbolo: O3 O2 O1 O0 A1 A0 E 1 0 3 2 1 0 • Símil mecánico: O3 O2 O1 O0 A1 A0 E 1 0 3 2 1 0 O0 O1 O2 O3 A1 A0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 X 0 0 1 1 X 0 1 0 1 E 0 1 1 1 1 • Tabla de verdad: Subsistemas de propósito específico Multiplexores • Estructura: • Entradas: m(=2n) líneas de datos (“canales”, dm-1, ..., d0) • Entradas: n líneas de selección de canal (An-1, ..., A0) • Salida: 1 línea de datos (z) • Denominación: MUXm : 1, con m = número de canales (2n) • Propósito: transfiere el valor presente en el canal indicado por las líneas de selección a la salida z (función inversa a la del demultiplexor) • Símbolo: d2 d3 d1 d0 A1 A0 z 1 0 0 1 2 3 • Símil mecánico: A1 A0 0 0 1 1 0 1 0 1 z d0 d1 d2 d3 • Tabla de verdad (resumida): Subsistemas de propósito general d2 d3 d1 d0 A1 A0 z 1 0 0 1 2 3
  • 10.
    10 Multiplexores (2) • Poresta propiedad, el multiplexor puede usarse como generador de funciones lógicas: basta hacer Ai = xi y dk = f(k) • Ejemplo: implementar f(x, y, z) = Σ(0, 4, 5, 7) con un MUX8:1 (el número de variables coincide con el número de entradas de selección en el MUX) A1 A0 0 0 1 1 0 1 0 1 z d0 d1 d2 d3 Subsistemas de propósito general z = A1 A0 d0 + A1 A0 d1 + A1 A0 d2 + A1 A0 d3 _ _ _ _ f = x1 x0 f(0) + x1 x0 f(1) + x1 x0 f(2) + x1 x0 f(3) _ _ _ _ (Teorema de expansión) f 0 1 2 3 4 5 6 7 0 1 2 z y x 1 0 0 0 1 1 0 1 Multiplexores (3) • Si el número de variables es superior al número de entradas de selección en el MUX, la implementación se realiza extrayendo los residuos de f • Ejemplo: implementar f(x, y, z) = Σ(0, 4, 5, 7) con MUX4:1 Subsistemas de propósito general f(1,0,z) f(1,1,z) f(0,1,z) f(0,0,z) x y f 1 0 0 1 2 3 x y z 00 01 11 10 0 1 f(x, y, z) 1 1 1 1 f(0, 0, z)=z f(0, 1, z)=0 f(1, 1, z)=z f(1, 0, z)=1 _ 1 z 0 z x y f 1 0 0 1 2 3 _
  • 11.
    11 Multiplexores (4): asociación Subsistemas de propósito general d2 d3 d1 d0 A1A2 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 A0 d6 d7 d5 d4 z(A2, A1, A0) z(0, A1, A0) z(1, A1, A0) z(0, 0, A0) z(0, 1, A0) z(1, 0, A0) z(1, 1, A0) z(0, 0, 0) z(0, 0, 1) z(0, 1, 0) z(0, 1, 1) z(1, 0, 0) z(1, 0, 1) z(1, 1, 0) z(1, 1, 1) ROM (Read-Only Memory) Subsistemas de propósito general • Estructura: • Entradas: n líneas de dirección (An-1, ..., A0) • Salidas: m líneas de datos (Dm-1, ..., D0) • Propósito: las ROMs son circuitos de memoria que permiten recuperar información programada previamente. Los datos se organizan a modo de tablas, presentando un total de 2n filas y teniendo cada fila m bits. • Denominación: ROM 2n x m (2n x m = capacidad de la ROM, en bits) • Símbolo: 0 2 1 A2 A1 A0 1 0 3 2 D3 D2 D1 D0 ROM8x4 A2 A1 A0 D3 D2 D1 D0 000 001 010 011 100 101 110 111 1 1 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 • Organización:
  • 12.
    12 ROM (2) Subsistemas de propósito general • Circuitointerno de una ROM 4x2 “virgen” (sin programar): 1 0 2 3 0 1 A1 A0 ≥1 D1 ≥1 D0 • Una ROM genera funciones como suma de productos, donde los productos son fijos (proporcionados por el DEC) mientras las sumas (“plano OR”) son programables. ROM (3) Subsistemas de propósito general • Circuito interno de una ROM 4x2 programada: A1 A0 D1 D0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 2 3 0 1 A1 A0 ≥1 D1 ≥1 D0 1 0 2 3 0 1 A1 A0 ≥1 D1 ≥1 D0 0 0 0 0 O0 O3 O2 O3
  • 13.
    13 ROM (4) Subsistemas de propósito general • ChipSelect (CS): entrada de control que indica si las salidas deben estar activas o pasar a alta impedancia (HI) 1 0 2 3 0 1 A1 A0 ≥1 D1 ≥1 D0 CS ROM4x2 X Out 0 1 HI In La salida de alta impedancia (HI) se consigue con buffers triestado: Out In X Out In X Símil eléctrico: ROM (5) Subsistemas de propósito general • Ejemplo: implementar f = Σ(1,3,5,7) y g = Σ(0,2,4,5) mediante ROM. • f y g tienen 3 variables de entrada = n=3 líneas de dirección • hay que generar 2 funciones = m=2 líneas de datos • Por tanto, es necesaria una ROM8x2 (2n x m) x y z f g 000 001 010 011 100 101 110 111 0 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 0 2 1 x y z 1 0 f g ROM 8x2 0 1 2 3 4 5 6 7 1 2 1 2 1 3 0 2 POS[$] CONT[$] Tabla de verdad Tabla de contenido (hexadecimal)
  • 14.
    14 ROM (6): asociación Subsistemas de propósito general •Aumentando el ancho del bus de datos. Ejemplo: ROM8x4 a partir de 2 chips ROM8x2. 0 2 1 A2 A1 A0 1 0 D3 D2 ROM 8x2 CS 0 2 1 1 0 D1 D0 ROM 8x2 CS CS ROM8x4 0 2 1 A2 A1 A0 1 0 ROM 8x2 CS 0 2 1 1 0 D1 D0 ROM 8x2 CS ROM16x2 A3 1 • Aumentando el ancho del bus de direcciones. Ejemplo: ROM16x4 a partir de 2 chips ROM8x2. • Aumentando el ancho del bus de datos y de direcciones: consiste en combinar las técnicas anteriores. PAL (Programmable Array Logic) Subsistemas de propósito general • Estructura: • Entradas: n variables (In-1, ..., I0) • Salidas: m funciones (Om-1, ..., O0) • k términos producto por salida • Propósito: las PALs son circuitos que generan funciones como suma de productos en las que los productos (“plano AND”) son programables mientras las sumas son fijas (al contrario que las ROMs). • Circuito interno (n=3 entradas, m=3 salidas, k=3 términos producto por salida): ≥1 ≥1 ≥1 I2 I1 I0 O2 O1 O0 I2 I2 I1 I1 I0 I0 _ _ _ k=3
  • 15.
    15 PAL (2) Subsistemas de propósito general ≥1 I2 O2 I2 I2I1 I1 I0 I0 _ _ _ I2 I2 I1 I1 I0 I0 _ _ _ I2 I1 I0 _ I2 1 1 I1 I0 1 _ PAL (3) Subsistemas de propósito general x y z 00 01 11 10 0 1 f(x, y, z)=x’z’+xyz+xy’z’ 1 1 1 1 x y z 00 01 11 10 0 1 g(x, y, z)=x’y’+x’yz’+xy 1 1 1 1 1 h(x, y, z)=xyz’+xyz • Implementar en una PAL: f = Σ(0, 2, 4, 7) g = Σ(0, 1, 2, 6, 7) h = Σ(6, 7) ≥1 ≥1 ≥1 x y z f g h x x y y z z _ _ _ 0 xyz xyz’ x’y’ xy x’yz’ x’z’ xy’z’ xyz No es necesario simplificar al máximo, tan sólo conseguir que la función quepa en la PAL
  • 16.
    16 PAL (4) Subsistemas de propósito general ≥1 ≥1 ≥1 • PALcon triestado y realimentación: • salidas invertidas: hay que implementar f’ (p.e., f’ = tp1+tp2+tp3+tp4+tp5) • si una salida está en alta impedancia, la línea puede usarse como entrada • una salida puede realimentarse en el plano AND para implementar funciones más complejas (sumas de más de k términos producto) 0 HI 1 tp1 tp2 tp3 tp1+tp2+tp3 tp1+tp2+tp3 tp1+tp2+tp3 tp4 tp5 1 I3 I0 I1 I2 I0I0 I1I1I2I2 I3 I3 _ _ _ _ f f _ PLA (Programmable Logic Array) Subsistemas de propósito general ≥1 ≥1 ≥1 • Estructura: • Entradas: n variables (In-1, ..., I0) • Salidas: m funciones (Om-1, ..., O0) • k términos producto • Propósito: las PLAs son circuitos que generan funciones como suma de productos en las que tanto los productos como las sumas (planos AND y OR) son programables. La ventaja principal es que los términos producto comunes a las diferentes salidas se implementan una sola vez. • Circuito interno (n=3 entradas, m=3 salidas, k=3 términos producto): f(x, y, z)=x’+y g(x, y, z)=x’y+xz’ h(x, y, z)=xz’+x’+y Términos producto: x’, y, x’y, xz’ • Ejemplo: ≥1 ≥1 ≥1 x y z f g h x’ y x’y xz’