1 Subsistemas combinacionales Líneas de control. ENABLE

Anuncio
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:
Subsistema
combinacional
n
m
• 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.
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’
Entrada activa en baja
Salida activa en alta
Entrada activa en alta
n
Subsistema
combinacional
Salida activa en baja
m
• 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
Entradas
E
Salidas
Entradas
E
Salidas
1
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 general:
• Multiplexores
• ROMs
• PLDs (PALs y PLAs)
• de propósito específico:
• Decodificadores
• Codificadores
• Convertidores de
código
• Comparadores de
magnitud
• Demultiplexores
Subsistemas de propósito específico
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:
A1
1
A0
0
_ _
O0= A1 A0
0
1
2
3
O0
O1
O2
O3
_
O1= A1 A0
A1 A0
O0 O1 O2 O3
0
0
1
1
1
0
0
0
0
1
0
1
_
O2= A1 A0
0
1
0
0
0
0
1
0
0
0
0
1
O3= A1 A0
2
Subsistemas de propósito específico
Decodificadores (2)
A1
1
A0
0
A1
1
A0
0
0
1
2
3
O0
O1
O2
O3
0
1
2
3
O0
O1
O2
O3
A1 A0
O0 O1 O2 O3
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
A1 A0
O0 O1 O2 O3
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
1
1
1
0
_ _
O0= A1 A0
_
O1= A1 A0
_
O2= A1 A0
O3= A1 A0
O0= A1+A0
_
O1= A1+A0
_
O2= A1+A0
_ _
O3= A1+A0
Decodificadores (3)
Subsistemas de propósito específico
A1
A0
A1
A0
E 0
1
2
0
3
O0
O1
O2
O3
E 0
1
1
2
0
3
O0
O1
O2
O3
1
E A1 A0
O0 O1 O2 O3
0
1
1
1
1
0
1
0
0
0
X
0
0
1
1
X
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
E A1 A0
O0 O1 O2 O3
1
0
0
0
0
1
0
1
1
1
X
0
0
1
1
X
0
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
_ _
O0= E A1 A0
_
O1= E A1 A0
_
O2= E A1 A0
O3= E A1 A0
O0= E+A1+A0
_
O1= E+A1+A0
_
O2= E+A1+A0
_ _
O3= E+A1+A0
3
Subsistemas de propósito específico
Subsistemas de propósito específico
Decodificadores (4): 74AS138
Decodificadores (5): 74AS138
4
Decodificadores (6): asociación
Subsistemas de propósito específico
E
E 0
1
2
0
3
DEC2:4
1
A2
A1
E 0
1
2
0
3
DEC2:4
O0
O1
O2
O3
E 0
1
2
0
3
DEC2:4
O4
O5
O6
O7
1
1
A0
DEC3:8
Subsistemas de propósito específico
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):
I0 I1 I2 I3
O1 O0
0
I0
O1
1
O0= I1+I3
1
I1
1 0 0 0
0 0
0 1 0 0
0 1
I2
O0
2
O1= I2+I3
0
0 0 1 0
1 0
3
I3
0 0 0 1
1 1
• Símbolo, tabla de verdad y ecuaciones de salida (codificador gray):
I0 I1 I2 I3
O1 O0
0
I0
O1
1
O0= I1+I2
1
I1
1 0 0 0
0 0
0
1
0
0
0
1
I2
O0
2
O1= I2+I3
0
0 0 1 0
1 1
3 gray
I3
0 0 0 1
1 0
5
Codificadores (2): codificador de prioridad
Subsistemas de propósito específico
• Permite que haya más de una entrada activa simultáneamente:
I0
I1
I2
I3
0
1
2
3
E
1
O1
0
O0
I0
I1
I2
I3
E O1 O0
1
x
x
x
0
0
1
x
x
0
0
0
1
x
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
____
E= I0 I1 I2 I3
O1= I2+I3
_
O0= I1 I2+I3
• Codificador de prioridad 74LS148
Convertidores de código
Subsistemas de propósito específico
• 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:
Con subsistemas
DEC2:4
A1
A0
0
0
1
1
0
1
0
1
O1 O0
0
0
1
1
0
1
1
0
A1
1
A0
0
0
1
2
3
0
1
2
3
1
O1
0
O0
gray
O1
A1
A0
&
≥1
&
O0
Con puertas
6
Convertidores de código (2)
• Tabla de verdad y símbolo para un convertidor BCD a 7-segmentos:
Subsistemas de propósito específico
b3 b2 b1 b0
BCD-7seg
b3
b2
b1
b0
a
b
c
d
e
f
g
0
0
0
0
0
0
0
0
1
1
a
f
g
e
b
c
d
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
a b c d e f g
1
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
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 (A>B), E (A=B), L (A<B) activas
en alta
• Operación (tabla resumida):
• Símbolo (n=4 bits):
a3
a2
a1
a0
G0
E0
L0
b3
b2
b1
b0
A
A>B
A=B
A<B
B
G
E
L
A B
G E L
A>B
A=B
A<B
1 0 0
G0 E0 L0
0 0 1
• Operación normal (tabla resumida):
A B
G E L
A>B
A=B
A<B
1 0 0
0 1 0
0 0 1
luego (G0, E0, L0) = (0, 1, 0)
7
Comparadores de magnitud (2)
Subsistemas de propósito específico
• Tabla completa (74LS85):
Comparadores de magnitud (3)
Subsistemas de propósito específico
• 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
A
0
1
0
G0
E0
L0
B
A>B G
A=B E
A<B L
a7
a6
a5
a4
b7
b6
b5
b4
A
G0
E0
L0
B
A>B G
A=B E
A<B L
a11
a10
a9
a8
b11
b10
b9
b8
A
G0
E0
L0
A>B G
A=B E
A<B L
B
8
Subsistemas de propósito específico
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ímil mecánico:
• Símbolo:
3
2
1
0
E
1 0
3
2
1
0
O3
O2 E
O1
O0
1 0
• Tabla de verdad:
O3
O2
O1
O0
A1 A0
A1 A0
E A1 A0
O0 O1 O2 O3
0
1
1
1
1
0
1
0
0
0
X
0
0
1
1
X
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
Subsistemas de propósito general
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ímil mecánico:
• Símbolo:
d0
d1
d2
d3
0
1
2
3
1 0
A1 A0
z
d0
d1
d2
d3
0
1
2
3
1 0
• Tabla de verdad (resumida):
z
A1 A0
z
0
0
1
1
d0
d1
d2
d3
0
1
0
1
A1 A0
9
Subsistemas de propósito general
Multiplexores (2)
A1 A0
z
0
0
1
1
d0
d1
d2
d3
0
1
0
1
_ _
_
_
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)
• Por esta propiedad, el multiplexor puede usarse como generador de
funciones lógicas: basta hacer Ai = xi y dk = f(k)
• Ejemplo: implementar
0
1
f(x, y, z) = Σ(0, 4, 5, 7)
1
0
con un MUX8:1
2
0
(el número de variables
3
0
f
coincide con el número
4
1
de entradas de
5
1
6
0
selección en el MUX)
7
2 1 0
1
x y z
Multiplexores (3)
Subsistemas de propósito general
• 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
f(0,0,z)
f(0,1,z)
f(1,0,z)
f(1,1,z)
0
1
2
3
f(0, 1, z)=0
z
y
00
0
f
01
11
1
1
0
1
2
3
f(1, 1, z)=z
x y
1 0
x
_
z
0
1
z
f
_
f(0, 0, z)=z
10
1
1
1
f(x, y, z)
f(1, 0, z)=1
1 0
x
y
10
Multiplexores (4): asociación
z(0, 0, 0)
Subsistemas de propósito general
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)
d0
d1
0
1
d2
d3
0
1
d4
d5
0
1
d6
d7
0
1
z(0, 0, A0)
0
z(0, 1, A0)
0
z(1, 0, A0)
0
0
1
0
1
z(0, A1, A0)
0
0
0
1
z(A2, A1, A0)
0
z(1, A1, A0)
z(1, 1, A0)
0
A0
A1
A2
Subsistemas de propósito general
ROM (Read-Only Memory)
• 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)
• Organización:
• Símbolo:
A2
A1
A0
3
2
1
0
ROM8x4
2
1
0
D3
D2
D1
D0
A2
A1
A0
000
001
010
011
100
101
110
111
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
D3 D2 D1 D0
11
ROM (2)
Subsistemas de propósito general
• Circuito interno de una ROM 4x2 “virgen” (sin programar):
A1
1
A0
0
0
1
2
3
≥1
≥1
D1
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
1
A0
0
0
1
2
3
O0
0
0 O3
0
0 O2 O3
≥1
≥1
D1
D0
A1
A0
0
0
1
1
0
1
0
1
A1
1
A0
0
D1 D0
1
0
0
1
0
0
1
1
0
1
2
3
≥1 ≥1
D1
D0
12
ROM (4)
• Chip Select (CS): entrada de control que indica si las salidas deben estar
activas o pasar a alta impedancia (HI)
CS
Subsistemas de propósito general
La salida de alta impedancia (HI)
se consigue con buffers triestado:
X
In
Out
Símil eléctrico:
X
Out
A1
1
0
1
HI
In
A0
0
0
1
2
3
≥1 ≥1
X
In
Out
ROM4x2
D1
D0
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
2
1 ROM
8x2
0
1 0
f
g
x
y
z
000
001
010
011
100
101
110
111
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
f
g
Tabla de verdad
POS[$] CONT[$]
0
1
2
3
4
5
6
7
1
2
1
2
1
3
0
2
Tabla de contenido
(hexadecimal)
13
ROM (6): asociación
• Aumentando el ancho del bus de
direcciones. Ejemplo: ROM16x4 a
• Aumentando el ancho del bus de
datos. Ejemplo: ROM8x4 a partir
partir de 2 chips ROM8x2.
ROM16x2
de 2 chips ROM8x2.
ROM8x4
Subsistemas de propósito general
CS
A2
A1
A0
CS
2
1 ROM
8x2
0
1 0
CS
2
1 ROM
8x2
0
1 0
D3 D2
D1 D0
A2
A1
A0
CS
2
1 ROM
8x2
0
1 0
CS
2
1 ROM
8x2
0
1 0
D1 D0
• Aumentando el ancho del bus de datos y de direcciones: consiste en
combinar las técnicas anteriores.
PAL (Programmable Array Logic)
• Estructura:
• Entradas: n variables (In-1, ..., I0)
• Salidas: m funciones (Om-1, ...,
O0)
• k términos producto por salida
Subsistemas de propósito general
1
A3
• 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):
_
_ _
I2 I2 I1 I1 I0 I0
&
&
≥1
O2
&
k=3
I2
&
&
≥1
O1
≥1
O0
&
I1
&
&
&
I0
14
PAL (2)
_
_ _
I 2 I2 I 1 I1 I 0 I0
&
&
≥1
O2
Subsistemas de propósito general
&
_
_
_
I2 I2 I1 I1 I0 I0
I2
&
I2
1
1
_
I1
I0
1
PAL (3)
_
_ _
x x y yz z
• Implementar en una PAL:
f = Σ(0, 2, 4, 7)
g = Σ(0, 1, 2, 6, 7)
h = Σ(6, 7)
z
00
01
1
1
0
11
10
1
1
1
f(x, y, z)=x’z’+xyz+xy’z’
x’z’
& xyz ≥1
&
f
xy’z’
No es necesario
simplificar al
máximo, tan sólo
conseguir que la
función quepa
en la PAL
&
x’y’
& x’yz’
≥1
&
g
xy
y
x y
z
&
x
x y
Subsistemas de propósito general
&
_
I2 I1 I0
00
01
11
10
0
1
1
1
&
1
1
1
& xyz ≥1
&
g(x, y, z)=x’y’+x’yz’+xy
h(x, y, z)=xyz’+xyz
xyz’
h
0
z
15
_ _ _
I0 I0 I1 I1 I2 I2
PAL (4)
_
I3 I3
&
• PAL con triestado y
realimentación:
• salidas invertidas: hay
que implementar f’ (p.e.,
&
&
Subsistemas de propósito general
• una salida puede
realimentarse en el
plano AND para
implementar funciones
más complejas (sumas
de más de k términos
producto)
HI
≥1
I3
&
I0
f’ = tp1+tp2+tp3+tp4+tp5)
• si una salida está en
alta impedancia, la línea
puede usarse como
entrada
0
&
1
&
tp1
&
tp2
&
I1
&
tp3
tp1+tp2+tp3
1
&
tp1+tp2+tp3
&
tp4
&
I2
tp1+tp2+tp3
≥1
f
_
f
≥1
tp5
Subsistemas de propósito general
PLA (Programmable Logic Array)
• 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):
• Ejemplo:
&
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’
&
x’
&
y
&
x’y
&
xz’
≥1 ≥1 ≥1
≥1 ≥1 ≥1
x
y
z
f g h
16
Descargar