AC_reg_clase5

Download Report

Transcript AC_reg_clase5

CLASE 5
SE RECOMIENDA MIRAR LOS
SIGUIENTES ENLACES
•
•
•
•
http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/index.html
http://www.teahlab.com/
http://medusa.unimet.edu.ve/sistemas/bpis03/clases.htm
http://tams-www.informatik.unihamburg.de/applets/hades/webdemos/toc.html
DISEÑO LOGICO
Hasta el momento mediante el uso de compuertas lógicas ha
sido posible tratar la mayoría de problemas de diseño lógico.
DISEÑO LOGICO
Sin embargo cuando la aplicación digital se hace mas compleja,
hacer el diseño a punta de compuertas (siguiendo las pautas
vistas hasta el momento en el curso) el procedimiento de diseño
se hace mas difícil.
ESCALA DE INTEGRACION
El progreso en la fabricación de circuitos integrados ha permitido
incrementar la capacidad de almacenamiento de componentes
y compuertas.
MULTIPLEXORES
Llamado también selector de datos. Selecciona una de varias
líneas de entrada para que aparezcan en una única línea de
salida.
sel = 1
0
Datos de
salida
Datos de
entrada
In 1
Selector
Mux 2:1
In 0
sel
out
sel
I0
out
I1
out = sel’.I0 + sel.I1
MULTIPLEXORES
in N
Out
…
in 0
in 1
in 2
in 3
in 4
in 5
in 6
in 7
in 8
Mux n:1
• Un multiplexor enluta uno de sus N datos
de entrada a su única salida, basado en el
valor binario de sus entradas.
• Para un multiplexor con N entradas hay
𝑙𝑜𝑔2 𝑁 entradas de selección. (Colocar
tabla).
log2(N)
Sel
IMPLEMENTACION A NIVEL DE COMPUERTAS
LOGICAS
MULTIPLEXORES CON HABILITACION
•
•
Adicionalmente a las entradas tradicionales del mux (selector y entradas del mux) puede haber
otra entrada adicional conocida como Enable, la cual como su nombre lo indica habilita o no la
salida del mux.
El enable puede ser activado en bajo o alto:
 𝐸 (Activación en bajo): Significa que esta entrada debe estar en 0 (L) para que el mux este
habilitado.
 𝐸 (Activación en alto): Significa que esta entrada debe estar en 1 (H) para que el mux este
habilitado.
MULTIPLEXORES
En general:
2𝑛 −1
𝑍=
𝑚𝑘 ⋅ 𝐼𝑘
𝑘=0
ALGUNOS MULTIPLEXORES COMERCIALES
MUX 8:1 (74151)
3 líneas de
selección o
dirección
8 líneas de
entrada de
datos
Posee una
habilitador
activo en
bajo
Dos salidas, una
complementada
(WN) y otra sin
complementar (Y)
MUX 2:1 (74157)
Posee línea de
selección de datos
común a los 4 MUX.
Posee 4
multiplexores de 2
entradas
Posee un habilitador
activo en bajo, el cual es
común para los cuatro
multiplexores.
MUX 2:1 (74157)
MULTIPLEXORES EN CASCADA
Es posible construir un N:1 multiplexor desde algunos multiplexores de menos
entradas.
Mux 8:1
Cuatro mux 2:1 y un mux 4:1.
Dos mux 4:1 y un mux 2:1.
I0
I1
I2
I3
I4
I5
I6
I7
8:1
mux
4:1
mux
2:1
mux
Z
4:1
mux
B C
A
Las señales de control B y C simultáneamente elijen
una de las entradas I0, I1, I2, I3 y una de las
entradas I4, I5, I6, I7. La señal de control A elige
cual salida (la de arriba o abajo) de los mux 4:1 es
llevada a Z.
I0
I1
2:1
mux
I2
I3
2:1
mux
I4
I5
2:1
mux
I6
I7
2:1
mux
C
8:1
mux
4:1
mux
A B
Z
APLICACIONES DE LOS MULTIPLEXORES
Los multiplexores son principalmente usados para:
• Seleccionar una de varias fuentes de datos.
• Implementar funciones lógicas en general.
𝐹 𝐴, 𝐵, 𝐶 =
𝑚(0,1,2,6,7)
IMPLEMENTACION DE FUNCIONES LOGICAS
Los multiplexores de 2𝑛 : 1 pueden implementar cualquier función lógica de n
variables, para esto:
• Se usan las variables como entradas de control (selectores).
• Se colocan las entradas del multiplexor en 1 o 0 dependiendo de la función
lógica a implementar.
Ejemplo:
Implementar por medio de un multiplexor la siguiente función lógica de 3
entradas.
F(A,B,C) = m0 + m2 + m6 + m7
= A'B'C' + A'BC' + ABC' + ABC
1
0
1
0
0
0
1
1
0
1
2
3
4 8:1 MUX
5
6
7
S2 S1 S0
A
B
C
F
IMPLEMENTACION DE FUNCIONES LOGICAS (II)
Los multiplexores de 2𝑛−1 : 1 pueden implementar cualquier función lógica de n
variables, para esto:
• Se usan n-1 variables como entradas de control (selectores).
• Se asocian las entradas del multiplexor a la ultima variable o a su
complemento.
Ejemplo:
Implementar por medio de un 4:1 multiplexor implementar la función lógica
anterior
1
0
1
0
0
0
1
1
0
1
2
3
4 8:1 MUX
5
6
7
S2 S1 S0
A
B
C
F(A,B,C) = m0 + m2 + m6 + m7
= A'B'C' + A'BC' + ABC' + ABC
F
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
1
0
1
0
0
0
1
1
C'
C'
C'
C'
0
1
0
1 4:1 MUX
2
3
S1 S0
0
A
1
B
F
IMPLEMENTACION DE FUNCIONES LOGICAS (III)
La generalización del caso anterior se puede mostrar a continuación:
n -1 variables de control
para el mux.
I0
I1
. . . In-1 In
.
.
.
.
0
0
0
1
1
.
.
.
.
1
0
1
0
1
0
In
In'
1
Variable de
entrada al mux.
F
4 posibles configuraciones
de la tabla de verdad
pueden ser expresadas
como una función de 𝐼𝑛 .
Ejemplo: Implementar F(A,B,C,D) por medio de un mux 8:1
A
1
C
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
B
D
Seleccionando A, B, C como
variables de control la
implementación con mux 8:1 se
muestra a continuación.
1
D
0
1
D’
D
D’
D’
0
1
2
3
4 8:1 MUX
5
6
7
S2 S1 S0
A
B
C
IMPLEMENTACION DE SELECTORES DE SEÑALES
Haciendo uso de multiplexores es posible llevar
una de varias posibles entradas a la salida.
• En los diferentes casos vistos
anteriormente se ha trabajado
con multiplexores de datos de
un solo bit. Es decir un solo bit
es enrutado de la entrada a la
salida.
• Muchas aplicaciones
especialmente aritméticas
requieren trabajar con datos de
múltiples bits.
• Es posible construir
multiplexores para datos de
múltiples bits a partir de mux
sencillos
DEMULTIPLEXORES
Realiza la operación inversa al multiplexor: acepta una única
línea de entrada y la guía o enruta hacia alguna de varias líneas
de salida dependiendo de la dirección especificada por la(s)
línea(s) de selección.
sel=0
sel=1
in
Demux 2:1
out0
sel
out1
sel
I
out0
I
out1
out0 = sel’.I
out1 = sel .I
G
O1
Sel
S 1 S0
En general:
𝑂𝑘 = 𝑚𝑘 ∙ 𝐼
O0
O1
O2
O3
G
Demux 8:1
O0
Demux 4:1
G
Demux 2:1
DEMULTIPLEXORES
S 2 S1 S0
O0
O1
O2
O3
O4
O5
O6
O7
DEMULTIPLEXORES
Línea 1
MULTIPLEXOR
MUX
Línea 2
Línea 3
DEMULTIPLEXOR
DEMUX
Línea 4
Central
CODIFICADORES Y DECODIFICADORES
Son circuitos que realizan la traducción entre códigos
numéricos, esto muchas veces para facilitar el procesamiento de
los datos (codificadores) y la visualización o interpretación de los
datos (decodificadores).
CODIFICADORES
•
•
•
Un codificador es un dispositivo lógico de múltiples entradas y múltiples salidas, el
cual convierte un código de entrada en un código de salida, tal que el código
entrada es diferente al código salida.
En un codificador el código de entrada tiene más bits que el código de salida, y
además existe un mapeo uno a uno entre los códigos de entrada y los códigos de
salida.
Existen varios clases de codificadores, los mas populares son:
 Codificador binario o codificador 2𝑛 a n.
 Codificador decimal-binario.
 Codificadores de Teclado.
M entradas, solo
hay activa una
entrada en el
momento dado.
A0
A1
A2
Codificador
AM-1
O0
O1
O2
Código de salida
de N bits
ON-1
any
Salida any indica si una de las
entradas se encuentra activa
CODIFICADORES
Codificador 2:1
𝐴0 = 𝐸𝐶1 𝐶0 ′
𝑎𝑛𝑦 = 𝐸(𝐶1 + 𝐶0 )
Codificador 8:3
CODIFICADOR 2𝑛 A n
0
1
1
0
1
0
0
1
1
2
3
4
D0
D1
D2
S0
COD
4a2
S1
5
6
0
1
0
1
2 salidas
4 entradas
Caso de estudio: codificador 2𝑛 a n con n = 2.
D3
D0 D1 D2
A cada código posicional de 4 bits de
entrada se le asigna un código binario de
2 bits a la salida.
Los códigos con múltiples entradas activas
son inválidos.
D3
D2
D1
D0
S0
S1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
D3
Circuito Lógico
Codificador 4 a 2
S0
¿Que pasa con los códigos no validos?
S1
CODIFICADORES CON PRIORIDAD
Para evitar problemas cuando
varias líneas de entrada están
activas al mismo tiempo se
desarrollaron los codificadores
de prioridad.
En estos codificadores a cada
línea de entrada se le asigna una
importancia (prioridad), en el
caso en que varias líneas se
activen al mismo tiempo, el
código asignado a la salida es el
que pertenece a la línea de
mayor importancia.
D3
D2
D1
D0
S0
S1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
1
1
1
1
0
0
Nivel de Importancia
1er
D0
2do
D3
3er
D1
4to
D2
CODIFICADORES CON PRIORIDAD
Caso de estudio: Codificador 8:3 con prioridad.
74LS148 – CODIFICADOR CON PRIRIDAD 8 A 3
74LS147 CODIFICADOR DECIMAL-BINARIO CON
PRIORIDAD
Ejemplo:
Codificador de decimal a BCD con prioridad (circuito estándar 74147 (74LS147,
74HC147). Tiene nueve entradas activas en bajo, las cuales representan los dígitos
decimales del 1 al 9 y produce un código BCD invertido que corresponde a la mayor
entrada que se activó.
74LS147 CODIFICADOR DECIMAL-BINARIO CON
PRIORIDAD
1
0
1
0
1
0
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1 2 7 3 0
DECODIFICADORES
2𝑛 códigos de
entrada.
A0
A1
A2
AN-1
decodificadores
• Un decodificador es un dispositivo lógico de múltiples entradas y múltiples salidas,
el cual convierte un código de entrada en un código de salida, tal que el código
entrada es diferente al código salida.
• En un codificador el código de entrada tiene menos bits que el código de salida, y
además existe un mapeo uno a uno entre los códigos de entrada y los códigos de
salida.
• El decodificador revierte el trabajo hecho por el codificador, esto quiere decir que
si el codificador convierte una entrada decimal en binario, el decodificador
convierte una entrada binaria en decimal.
O0
O1
O2
OM-1
Solo una salida esta en
alto para cada código de
entrada.
DECODIFICADORES
La siguiente figura muestra el funcionamiento de los decodificadores.
Así como en los otros casos, los decodificadores pueden tener entrada de habilitación
(enable). La siguiente figura muestra el funcionamiento de un decodificador para este
caso:
DECODIFICADORES
Decodificador 1:2
𝐶0 = 𝐸𝐴0 ′
𝐶1 = 𝐸𝐴0
Decodificador 2:4
𝐶0 = 𝐸𝐴1 ′𝐴0 ′
𝐶1 = 𝐸𝐴1 ′𝐴0
𝐶2 = 𝐸𝐴1 𝐴0 ′
𝐶3 = 𝐸𝐴1 𝐴0
DECODIFICADORES
Decodificador 3:8
• Existen varios clases de decodificadores lógicos, los más populares son:
 Decodificador binario o decodificador 2𝑛 a n.
 Decodificador BCD a decimal.
 Decodificadores BCD a 7 segmentos.
• Algunos decodificadores comerciales son:
 74138 – decodificador 3 a 8.
 74139 – decodificador 2 a 4.
 7447 – decodificador bcd a 7 segmentos.
DECODIFICADOR n A 2𝑛
0
1
0
1
1
2
S0
S1
Y0
DECO
2A4
Y1
Y2
Y3
5
1
0
1
0
1
0
0
1
6
7
8
S1
4 salidas
2 entradas
Caso de estudio: Decodificador 2𝑛 a n con n = 2.
S0
Y0
Y1
Y2
Y3
D3
D2
D1
D0
S0
S1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
DECODIFICADORES
Ejemplo: Circuito decodificador de BCD a Decimal (Circuito estándar 7442) (la salida
es activa en cero)
IMPLEMENTACION DE FUNCIONES LOGICAS
USANDO DECODIFICADORES
Un decodificador 𝑛: 2𝑛 : 1 pueden implementar cualquier función lógica de n
variables, para esto:
• Se usan las variables como entradas de control.
• La entrada enable se debe activar. (A estado alto o bajo según sea la lógica).
• Los minterminos apropiados son sumados para formar la función.
“1”
0
1
2
3
3:8 DEC 4
5
6
7
S2 S1 S0
A
B
C
A'B'C'
A'B'C
A'BC'
A'BC
AB'C'
AB'C
ABC'
ABC
IMPLEMENTACION DE FUNCIONES LOGICAS
USANDO DECODIFICADORES
Implemente las siguientes funciones lógicas usando decodificadores:
• F1 = A’BC’D + A’B’CD + ABCD
• F2 = ABC’D’ + ABC
0
A'B'C'D'
• F3 = (A’ + B’ + C’ + D’)
1
A'B'C'D
Enable
4:16
DEC
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A B C D
A'B'CD'
A'B'CD
A'BC'D'
A'BC'D
A'BCD'
A'BCD
AB'C'D'
AB'C'D
AB'CD'
AB'CD
ABC'D'
ABC'D
ABCD'
ABCD
F1
F2
F3
DECODIFICADORES EN CASCADA
Decodificador 5:32
• 1x2:4.
• 4X3:8.
F
0
2:4 DEC 1
2
S1 S0 3
A
B
0
1
2
3:8 DEC3
4
5
6
7
S2 S1 S0
0
1
2
3:8 DEC3
4
5
6
7
S2 S1 S0
C
D
E
A'B'C'D'E'
ABCDE
0
1
2
3:8 DEC 3
4
5
6
7
S2 S1 S0
0
1
2
3:8 DEC 3
4
5
6
7
S2 S1 S0
C
D
E
A'BC'DE'
AB'C'D'E'
AB'CDE