Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Circuitos Combinacionales
con Integrados de MSI
Indice
Introducción
Generalidades
Decodificadores
– Circuitos básicos
– Expansiones
– Implementación de funciones
Codificadores
Multiplexores
Demultiplexores
Comparadores
Sumadores
– Binarios
– BCD
Diseño utilizando memorias Semiconductoras
Ejemplos de diseño con dispositivos de MSI
Display de LEDs y LCD
Ing. Daniel Acerbi © - 2019 2
1
Introducción
Con la aparición en el mercado de los integrados de LSI
(compuertas e inversores), se necesito a construir bloques
funcionales que cumplían funciones como decodificación,
codificación, multiplexación, entre otras .
Cuando los diseñadores de CI tuvieron la tecnología
necesaria para colocar de 10 a 100 compuertas en una
pastilla, se comenzaron a construir los bloques funcionales
mencionados anteriormente. Los mismos eran muy útiles
para los desarrolladores de lógica combinacional .
Esto permitió desarrollar los circuitos integrados de MSI
(integrados de mediana escala de integración) .
Con la aparición de estos integrados se cambio la manera
de diseñar lógica combinacional, a partir de ellos se puede
diseñar mas modularmente .
La cantidad de patas de los CI es de 16 ( para unificar con
los de LSI), pero hay casos que llegan a tener 20 y hasta
24 patas .
Generalidades
El concepto de diseño modular hace imprescindible
que los CI tengan una o mas entradas de
habilitación, esta no existían en los CI de LSI .
La entrada de habilitación o Enable (En) cumple la
función de permitir o bloquear el funcionamiento
del dispositivo .
La función de habilitación se puede lograr, en los
dispositivos, con una o mas patas implementadas
para tal fin .
La habilitación de los dispositivos puede ser :
– Activa baja, se habilita con un “0”
– Activa alta, se habilita con un “1”
2
Habilitación - Simbología
En En En
En
3
DECODIFICADOR
Son dispositivos cuyas entradas (señales de selección)
presentan una combinación de ceros y unos, que identifican
y seleccionan una sola de sus salidas. La salida así
seleccionada pasa a nivel activo alto, o sea pasa a “1” y el
resto permanece en “0”.
Sea un decodificador de 2 líneas a 4 :
Salidas sin
activar
La cantidad de salidas
máximas es igual a 2n; D
e Q0 0
donde n es la cantidad
c
de entradas de 1
B o Q1 Salida activa
selección 0
di
0 fi
Q2 1 Si B=1; A=0,
A c
a las salidas
d quedan así:
o Q3 0 Q0=Q1=Q3=0
Entradas de
selección r Q2=1
Ing. Daniel Acerbi © - 2019 7
Decodificador de 2 a 4 líneas
Tabla de verdad y ecuaciones :
Q0
D
B e Q1
c Q2
A o
Q3
_ _
Q0 = B.A
_
Q1 = B.A
_
Q2 = B.A
Q3 = B.A
4
Circuito del decodificador de 2 a 4
B A
B A
_ _
Q0
Q0 = B.A
_
Q1 Q1 = B.A
_
Q2 Q2 = B.A
Q3 = B.A
Q3
10
5
Simulaciones
Simulación Funcional deco 2:4
Si la señal E=0, no E Q0
D
importa lo que B e Q1
tengamos en las c
Q2
A o
entradas A y B, las
Q3 _ _
salidas valdrán
Q0 = B.A.E
siempre “0”
_
Q1 = B.A.E
_
Q2 = B.A.E
Q3 = B.A.E
6
Circuito del decodificador de 2 a 4 con
entrada de habilitación
B A Para trabajar con una
E
habilitación, implemento
con compuertas AND de 3
entradas
B A
Q0 _ _
Q0 = B.A.E
_
Q1
Q1 = B.A.E
_
Q2
Q2 = B.A.E
Q3 = B.A.E
Q3
Q0
O0
D Q1
B B O1
E
Q2
A A C O2
O O3 Q3
7
Circuito del decodificador de 2 a 4 con salidas
negadas y 3 entradas de habilitación
Muchas veces es muy útil tener mas de una entrada de
habilitación en los circuitos de MSI, esto se utilizará para las
expansiones .
El dispositivo
E0 Q0
estará habilitado
E1
cuando E0=E1=0 D Q1
E2
y E2=1 e
B c
Q2
o
A
Q3
Q0 = B.A.E0.E1.E2
Q1 _ __ __
Q1 = B.A. E0.E1.E2
_ __ __
Q2 Q2 = B.A. E0.E1.E2
__ __
Q3 = B.A. E0.E1.E2
Q3
8
Analísis de las corrientes de entrada
Si analizamos las corrientes
de entrada en el circuito de la
izquierda, veremos que
varian de acuerdo a cual
entrada tomemos.
E0/; E1/ y E tomaran del
circuito al cual se las conecte
un valor de corriente menor
que las entradas B y A.
El motivo de esta diferencia
es la cantidad de compuertas
acopladas a cada entrada.
Esto complica al usuario ya
que las corrientes para los '0'
y para los '1' variaran de
acuerdo a la entrada que
utilice.
A Al circuito del
A
decodificador,
aqui es
A problema del
fabricante el
La entrada A tomará de la suministro de
fuente lógica IILMax e IIHMax
corriente
9
Decodificador con entradas normalizadas
B A
E0
E1
E2
A
B Q0
Q1
En este circuito todas
las entradas tomarán
de la fuente lógica la Q2
misma corriente.
Q3
Decodificador 74HC138
Este decodificador tiene la
particularidad de tener sus
salidas negadas .
La tecnología de
fabricación es CMOS.
Vcc = 2 a 6 V
CPD = 55 ns
Tiempo de Propagación:
tp = 135 ns a 2 V
tp = 28 ns a 5 V
tp = 23 ns a 6 V
10
Decodificador 74HC138
Circuito interno o diagrama lógico
Usando signal,
para manejar
las 3
habilitaciónes
11
VHDL de un decodificador 74HC138, con 3entradas de habilitación
Simulación funcional
Ing. Daniel Acerbi © - 2019 23
Expansión de decodificadores
Generalidades
Muchas veces es necesario utilizar decodificadores en
el diseño de circuitos lógicos .
El tamaño de los decodificadores requeridos por los
diseños podría superar la cantidad de entradas que
poseen los decodificadores comerciales, los mismos
vienen con 2, 3 o 4 patas de entrada .
En esta parte de la guía veremos distintas técnicas de
expansión, que pueden sernos muy útiles .
Siempre trataremos de realizar circuitos, que sean
económicos y rápidos .
12
Expansión de decodificadores
Expansión de 2 decodificadores de 2 a 4 líneas para
formar uno de 3 a 8 . Decodificador
deshabilitado,
Q0=Q1=Q2=Q3=0
0
E Q0 Q0
D
B e Q1 Q1
1 c Q2
C A o Q2
0 Q3 Q3
B
Decodificador
1
habilitado Q5=1
A 1
E Q0 Q4
D
B e Q1 Q5 1
c Q6
A o Q2
tdt = tddeco +td inv Q7
Q3
Expansión en árbol
Expansión de un decodificador de 2 a 4 líneas para
formar uno de 4 a 16, con entrada de habilitación .
Esta es la forma mas difundida de expandir
decodificadores .
Tiene la ventaja, sobre la 1er. expansión que
analizamos, de generar un dispositivo con entrada de
habilitación .
Básicamente utilizo un decodificador, para seleccionar
un decodificador del banco de salida .
13
Q0
E Q0
D Q1
B B e Q1
Se usa para seleccionar Q2
A A c Q2
un decodificador del o Q3
banco Q3
E Q4
Q0
E D Q5
E Q0 B B e Q1
D Q6
D B e Q1 A A c Q2
o Q7
A c Q2 Q3
C o
Q3
B E Q8
Q0
D Q9
B B e Q1
A Q10
A A c Q2
o Q11
Q3
E
Q12
Q0
tdt = 2 . tddeco D Q13
B B e Q1
Q14
A A c Q2
o Q15
Q3
27
14
Mejoré respecto
del tiempo de
Q0
E0 Q0 demora.
E1 Q1
Vcc E2 D Q1 Pero perdi la
e Q2 entrada de
B c Q2 habilitación.
A o Q3
Q3 Veo que tengo 3
entradas de
habilitación en
E0 Q0 Q4 cada Deco......
E1
E2 D Q1 Q5 Como recupero
D B
e
Q2 Q6 la entrada de
c Habilitacion del
A o Q7 Deco de 4 a
C Q3
16.......??
B B
E0 Q0 Q8
E1
A A E2 D Q1 Q9
e
B c Q2 Q10
Se redujo la A o Q3 Q11
lógica de
selección
externa, hay E0 Q0 Q12
E1
que poner solo E2 D Q1 Q13
e
un inversor B c Q2 Q14
A o Q15
tdt = tddeco +td inv Q3
29
E Q0
E0 Q0
E1 Q1
E2 D Q1
e Q2
B c Q2
A o Q3
Q3
E0 Q0 Q4
E1
E2 D Q1 Q5
D B
e
Q2 Q6
c
A o Q7
C Q3
B B
E0 Q0 Q8
E1
A A E2 D Q1 Q9
e
B c Q2 Q10
Recupere la
entrada de A o Q3 Q11
habilitación ...!!!
Mantuve el E0 Q0 Q12
tiempo de E1
E2 D Q1 Q13
demora. e
B c Q2 Q14
A o Q15
tdt = tddeco +td inv Q3
30
15
Decodificadores Decimales
Estos decodificadores poseen 4 entradas de selección, que
responden, a un código BCD Natural y poseen 10 salidas.
Un ejemplo de decodificador BCDN es el CI CMOS; MC14028
El MC14028, es un decodificador de Código BCD Natural a
Decimal y de Binario a Octal (pata D = 0 V).
MC14028 - Tabla de
verdad y circuito
interno
16
Expansión - Decodificador de 4 a 16
líneas utilizando MC14028
D=1 D=0
Q15 Q8 Q7 Q0
Sin conectar
17
Implementación de funciones lógicas -
Ejemplos
Diseñar un circuito, al que le ingresará un código binario de
3 bits y la salida Z tomara el mismo estado en que se
encuentran la mayoría de la variables independientes (C, B
y A) .
IN - Código OUT
Binario
Circuito
Lógico Z
1
3
18
Trabajaremos ahora con el 74HC138 decodificador de 3 a 8
líneas, con lógica negativa a la salida .
Realizamos la tabla de verdad del problema :
0 1 0 0
A
0 1 1 1 B s/c 74HC20
1 0 0 0 C Z
1 0 1 1 s/c
0
1 1 0 1 0
1 Vcc = 5 v
1 1 1 1 tdtot = tddeco + tdnand
38 ns= 28 ns + 10 ns
fmax = 26,3 MHz
19
Simulación Temporal
Evaluemos ahora el tiempo de demora para la
implementación del circuito lógico con una FPGA XC3S500.
Evaluamos el tiempo de demora en el simulador ISE.
El circuito se implementa, en la FPGA, sobre una sola LUT.
Se observa, si bien el
diseño del hardware
es mas complicado,
que la fmax de
operación es muy
superior si se
implementamos el
circuito con la FPGA.
tdtot = 6,3 ns
fmax = 158,7 MHz
39
OUT - Código
IN - Código BCD Aiken
BCD Natural
Circuito
Lógico
4
4
20
Código BCD Natural Código BCD Aiken
Tabla de D C B A D´ C´ B´ A´
0 0 0 0 0 0 0 0
verdad del
0 0 0 1 0 0 0 1
conversor 0 0 1 0 0 0 1 0
0 0 1 1 0 0 1 1
0 1 0 0 0 1 0 0
A = A’ por lo
0 1 0 1 1 0 1 1
tanto no necesito 0 1 1 0 1 1 0 0
utilizar una 0 1 1 1 1 1 0 1
compuerta OR
1 0 0 0 1 1 1 0
1 0 0 1 1 1 1 1
1 0 1 0 X X X X
1 0 1 1 X X X X
1 1 0 0 X X X X
Utilizo una 1 1 0 1 X X X X
compuerta OR por 1 1 1 0 X X X X
cada salida
1 1 1 1 X X X X
41
Circuito
decodificador
O0
O1
O2
O3
A
A0 O4
O5
B
A1 O6
O7
C
A2 O8
O9
D
A3 O10
O11
O12
O13
O14
O15
D´ C´ B´ A´
21
Ejemplo de aplicación
Sistema simplificado de
entradas/salidas de un micro
controlador utilizando un
decodificador para seleccionar
los puertos de entrada/salida.
Solo uno a la vez puede estar
activo.
La salidas del micro, de 4 bits,
Dirección de Puertos; se utilizan
para decodificar hasta 16
puertos.
Las habilitaciones de los
dispositivos de entrada/salida
suelen ser negadas (/EN).
El Procesador pone el dato en el
Bus de Datos y este llega a
todos los dispositivos de
entrada/salida.
Solo lo utiliza aquel periferico Si A = 0011 >> Se habilita el Modem
que tiene su habilitacion activa.
43
CODIFICADORES
Los codificadores realizan la función contraria a los
decodificadores, es decir tienen varias entradas y solo
una puede estar en estado activo ( luego veremos que
esta restricción puede eliminarse ) y en sus salidas
aparecerá la combinación binaria de la entrada activa.
C Codificador de 4 líneas a 2
I0 o
La cantidad di
de entradas I1 fi B Si I2=1;
es 2n , donde I0=I1=I3=0
c
n es cantidad A B=1; A=0
I2 a
de salidas (combinación
d
I3 binaria de la
o entrada activa)
r
22
Tabla de verdad y ecuaciones
Realizamos la tabla de verdad del codificador y a
partir de ella escribimos las ecuaciones del circuito
C
I0 o
di
I1 fi B
c
A
I2 a
B = I2 + I3
d
I3
o A = I1 + I3
r A
I1
I3
B
I2
Ing. Daniel Acerbi © - 2019 45
23
Tabla de verdad y ecuaciones
Salida de Grupo
B=A=0; para 2
condiciones de
entrada distintas,
es necesario
diferenciarlas
G=1; si alguna de
las entradas está
I1 habilitada.
A
I3 G=0; si las
A = I1 + I3 entradas están
B
B = I2 + I3 deshabilitadas
I2
G = I0 + I1 + I2 + I3
G
I0
48
24
Ecuaciones y circuito lógico del codificador
Ei
I1 A
I3
I2
A = (I1 + I3) . Ei
G
B = (I2 + I3) . Ei
G = (I0 + I1 + I2 + I3) . Ei
I0
__ __ __ __
Eo Eo = I0 . I1 . I2 . I3 . Ei
25
Tabla de verdad de un codificador con prioridad
Analicemos la siguiente tabla de verdad :
• La prioridad en la codificación la tiene la entrada de
mayor peso.
• O sea que si I3=1 e I1 =1; la salida valdrá B=1; A=1
Expansión de codificadores
codificador
Eo Codificador de 16
Ei Eo
A0 líneas a 4,
I0 I0
I1 I1
A1 teniendo como
I2 I2 G
I3 I3 base codificadores
de 4 líneas a 2
codificador
Ei Eo
A0
I4 I0
A1
I5 I1
I6 I2 G
I7 I3
codificador
Ei Eo
A0
A0
I8 I0
A1
I9 I1
I10 I2 G
A1
I11 I3
codificador codificador
Ei Ei Eo 1 Ei Eo Salida de
A2
I12 I0
A0
A1
I0
A0
A1 A3 grupo “G”
I13 I1 I1
I14 I2 G I2 G G
I15 I3 I3
52
26
Ejemplo en VHDL : codificador de 4 líneas a 2
Las entradas son: I3, I2 e I1, citadas en orden de
prioridad decreciente.
La salida A de 2 bits identifica, en binario, el número de la
entrada más prioritaria que en cada momento esté
presente.
La salida tiene ambos bits en 0 en caso de que no esté
presente ninguna entrada.
Podría describírselo mediante las ecuaciones que se dan
más abajo, pero queremos mostrar otro ejemplo de uso
del when@else y las prioridades que esa sentencia fija.
A(1)= I3 + I2
A(0)= I3 + I1.I2
Codificador de 4 líneas a 2
C
I0
o
di
I1 B
fi
c A
I2
a
G
Mayor I3 d
prioridad
o
r
Descripción
ideal para
WHEN…..ELSE, se utiliza donde se codificadores
necesitan prioridades, en este caso se usa con prioridad
ya que el Codificador es con prioridad
27
Simulación funcional
Para la implementación en
la FPGA se utilizan 3 LUTs.
Codificador 74HC148
•Codificador de 8 a 3 líneas ( 4-2-1 ) de tecnología CMOS , con
entrada de habilitación y lógica negativa en las entradas y salidas
Vcc = 2 a 6 V
28
Tabla de verdad del 74HC148
Podemos observar que el dispositivo opera con lógica
negativa tanto en las entradas como en las salidas (H
desactivado; L activado) .
Entradas no
normalizadas
58
29
Codificadores comerciales
CMOS de compatibilidad o TTL
74x148 de 8 líneas a 3
74x348 de 8 líneas a 3 con salidas de 3 estados
74x147 de 10 líneas a 4 no expansible
En CMOS, la subfamilia CD4000 se tienen:
4532 (8 líneas a 3)
40147 (10 líneas a 4)
Codificador 74HC147
Codificador de 10 a 4 líneas (8-4-2-1), con lógica negativa en
entradas y salidas .
30
Teclado de 10 teclas (74HC147)
Teclado
activo
nivel
Bajo
Y la salida G ..?
1
1
1
1
0 0
1
1
1
1
1
1
31
MULTIPLEXORES
Los multiplexores son dispositivos que tienen varias
señales de entrada, llamadas vías, y una señal de
salida; que toma el valor de la señal de entrada
seleccionada .
I0
I0
I1
I1 Out
I2 I2
I3
I3
Multiplexores - Generalidades
La cantidad de entradas de datos es Símbolo
igual a 2n , donde n es cantidad de
entradas de selección . Entradas de
Los multiplexores se utilizan en: datos
– Implementación de funciones Salida
digitales.
– Dispositivos de transmisión / I0
Entradas de
Ing. Daniel Acerbi © - 2019 selección 64
32
Tipos de multiplexores
De acuerdo al tipo de dispositivos electrónicos que
utilicemos para implementarlo, será la clase de
multiplexor que implementemos :
I1 Out
Q1
E1
A
A0
B
I2
Q2 E2
A1
Decodificador
I3
E3
Q3
Ing. Daniel Acerbi © - 2019 66
33
Multiplexor con compuertas
Trabajo con compuertas de 2 niveles y la lógica de control la
resuelvo con un decodificador .
Usando la entrada de habilitación del decodificador, puedo obtener
un mux con la misma característica .
Los mux tienen, habitualmente, 2 salidas una sin negar y otra
negada .
Mux de salidas
Entrada de E convencionales
E O0
habilitación,
opcional D I0
B
B O1 Z
E I1
A
Entradas de A C O2
selección I2
O
O3
I3
1er. nivel 2do. nivel
Ing. Daniel Acerbi © - 2019 67
34
VHDL de un multiplexor de 4 vías con habilitación
35
MUX con compuertas de colector abierto
Los mux analizados anteriormente son considerados
múltiplex concentrados, las señales a concatenar están
próximas .
A los construidos con compuertas de colector abierto se
los conoce como multiplexores distribuidos, y se los
utiliza cuando las distintas señales provienen de fuentes
remotas .
Las compuertas NAND, aportan datos de fuentes a
distancia, a un hilo que las recorre, dicho hilo puede ser
considerado un bus, este conductor será quien entregue
la señal de salida (Z). Dicho hilo esta conectado a un
potencial de +V .
Circuito
+V
R de Pull-up
R Une los puntos
Las entradas Ei, I0 remotos, actúa
van al módulo como un bus
de control
E0
I1
AND por conexión
E1
Z
I2
Este circuito presenta la
E2 desventaja de ser lento,
característica de los
I3 circuitos con compuertas
de colector abierto pero
colecta informaciones
E3
Ing. Daniel Acerbi © - 2019
remotas 72
36
Recordando Asignaciones condicionadas
@when@else@
Asignación única condicionada
Identificador <=valor1 WHEN condición1
ELSE valor2 WHEN condición2
ELSE valor3 WHEN condición3
…
ELSE otro_valor;
37
Buffer con compuertas de 3-estados
•Este mux, solo maneja señales digitales, la lógica
de control se encargará de habilitar una sola
compuerta a la vez .
I0
E0
Q0
Decodificador
I1 Out
E1
Q1
A
A0
I2
B E2
Q2
A1
I3
E3
Q3
Ing. Daniel Acerbi © - 2019 75
38
Tipos de salidas de los multiplexores
E
E O0
D I0
B
B O1 Z
E I1
A
A O2
C I2
O3
O
I3
Z y Z solo
tomará
valores
de 0”” o
“1’ 78
Ing. Daniel Acerbi © - 2019
39
Universidad Nacional de Moreno
Multiplexores Comerciales
Con salidas
Convencionales
74HC/HCT151
Multiplexor de 8vías de entrada y 3 de control, con
una entrada de habilitación y salida convencional .
80
40
74HC/HCT153 - Multiplexor dual de 4 vías con salida
convencional
Dentro del CI hay 2 multiplexores (dual) de 4 vías de entrada y 2
de control, las entradas de selección son comunes a ambos mux .
Posee una entrada de habilitación para cada Mux.
74HC/HCT157
Maneja 2 palabras de 4 bits con 1 bit de selección; con una
entrada de habilitación (s=strobe).
74HC157
41
Multiplexor con salida 3 estados
Buffers 3-estados
1
E O0
D I0
B Z
B O1
A
E I1
A O2
C I2 Z
O3
O
E I3
Multiplexores Comerciales
Con salidas 3 estados
42
74HC/HCT251
Multiplexor de 8vías de entrada y 3 de control, con una
entrada de habilitación y salida 3-estados.
Salida 3-estados
Salidas 3-estados
43
74HC/HCT257 / 258
74HC257
Expansión de multiplexores
Generalidades
Muchas veces es necesario utilizar multiplexores en el
diseño de circuitos lógicos .
El tamaño de los multiplexores requeridos por los
diseños supera la cantidad de entradas que poseen los
multiplexores comerciales,8 entradas o vías como
máximo .
En esta parte de la guía veremos distintas técnicas de
expansión, que pueden sernos muy útiles .
Siempre trataremos de implementar circuitos, que
sean económicos y rápidos .
44
I0 I0 M
I1
Multiplexor de 16
I1 U
I2
Z vías y 4 de control,
Entradas de I2 X
selección con salida
I3 I3 A1 A0
convencional
A A0 I4 I0 M
I5 I1 U
B A1 Z
I6 I2 X
I0 M
C I7 I3 A1 A0
I1 U
Z
D I2 X
I8 I0 M I3 A1 A0
I9 I1 U
Mux de Z
I10 I2 X
selección
I11 I3 A1 A0 D C
Mux de
I12 I0 M selección
I13 I1 U
Z
I14 I2 X tdt = 2 td mux
I15 I3 A1 A0
Ing. Daniel Acerbi © - 2019 89
I0 I0 M
Ejemplo I1
Multiplexor de 16
I1 U
I2
Z vías y 4 de control,
I2 X
con salida
I3 I3 A1 A0
convencional
1 1
1 A A0 I4 I0 M
I5 I1 U
1 B A1
I6 I2
Z
X
I7 I3 I0 M Z
0 C A1 A0
I1 U
1 1 Z
1 D I2 X
I8 I0 M I3 A1 A0
I9 I1 U
Z
I10 I2 X
Entradas de D C
I11 I3 A1 A0
selección
1 1 1 0
I12 I0 M
Entrada I13 I1 U
Z
habilitada I14 I2 X
I15 I3 A1 A0
1
Ing. Daniel 1 © - 2019
Acerbi 90
45
Multiplexor de 16 E
vías y 4 de control, I0 M Multiplexores con
I0
entrada de
con salida I1 I1 U Z
I2
habilitación
convencional y I2 X
I3 A1 A0
entrada de I3
habilitación
E
I4 I0 M
I5 I1 U Z
E I2
E Q0 I6 X
D
D I3 A1 A0 Z
B e Q1 I7
c
C A o Q2
E
Q3 I8 I0 M
B A1 I9 I1 U Z
I10 I2
X
A A0 I11 I3 A1 A0
E
Lo utilizó para I12 I0 M
seleccionar el mux I13 I1 U Z
I14 I2
X
I15 I3 A1 A0 tdt = td mux + tddec + td or
Ing. Daniel Acerbi © - 2019 91
Multiplexor de
Ejemplo I0
E
M 16 vías y 4 de
I0
1 control, con
I1 I1 U Z
I2 I2
X
salida
I3 A1 A0 convencional y
I3
Entrada 1 1 entrada de
0
habilitada E habilitación
I4 I0 M
I5 I1 U Z
E I2 0
E Q0 I6 X
0 D
D I3 A1 A0 Z
B e Q1 I7
1 1
c 0
0 C A o Q2
E
Q3 I8 I0 M
1 B A1 I9 I1 U Z
I10 I2 0
X
1 A A0 I11 I3 A1 A0
0 1 1
E
Lo utilizó para I12 I0 M
0
seleccionar el mux I13 I1 U Z
I14 I2
X
I15 I3 A1 A0
Ing. Daniel Acerbi © - 2019 92
1 1
46
Expansión de multiplexores con salida 3-estados
E
I0 I0
M
I1 I1
U Z
I2 I2
X tdt = td mux + td inv
I3 I3
A1 A0
C Z
B
A E
La particularidad de este
I4 mux, es la de permitir
I0
Entradas de M eliminar la compuerta
I5 I1
selección U Z OR, puedo unir ambas
I6 I2 salidas por ser 3-
X
I7 I3 estados. No solo ahorro
A1 A0 componentes, sino que
bajo los tiempos de
propagación.
Implementación de funciones
Utilizando multiplexores podremos
implementar funciones .
El procedimiento es muy simple, se hace a
partir de la tabla de verdad y nos
permitirá ahorrar circuitería .
Los PLD y FPGA, utilizan esta propiedad
del multiplexor para ahorrar espacio
dentro del silicio .
47
Ejemplo de implementación
Parto de la Tabla de Verdad, el valor de Z lo coloco
ordenadamente en las entradas del Mux ( un renglón por
cada entrada y con las variables independientes manejo
las entradas de selección: +V
C B A Z
I0 I0
0 0 0 0 I1 I1
0 0 1 0 I2 M I2 M Z
I3 Z I3 Z
0 1 0 0 U U 1
I4 Z I4 Z
0 1 1 1 I5
X I5 X
1 0 0 0 I6 I6
1 0 1 1 I7 A2 A1 A0 I7 A2 A1 A0
1 1 0 1
C B A
1 1 1 1 C B A
0 1 1
Ing. Daniel Acerbi © - 2019 95
Ejemplo de implementación
Implementaremos la misma función con un mux de 4
vías y 2 de control .
Partimos de la TV y obtenemos la TV reducida, luego
implementamos . +V
C B A Z
I0
0 0 0 0
C B Z I1
0 0 0 I2 M Z
0 0 1 0 Z
I3
0 1 0 0 0 1 A U 1
Z
0 1 1 1 1 0 A X
1 0 0 0
1 1 1 A1 A0
1 0 1 1
1 1 0 1 Elimino la
columna de “A” A C B
1 1 1 1
0 1 1
Ing. Daniel Acerbi © - 2019 96
48
Implementar una compuerta OR
Podemos utilizando un mux, implementar cualquier
compuerta, de hecho se utiliza este procedimiento para
construir compuertas dentro de una FPGA .
La facilidad que brinda implementar con un mux, es que
cambiando los valores en sus entradas ( Tabla de LookUp),
puedo cambiar la función que implemento, sin cambiar el
tipo de multiplexor.
B A Z
0 0 0 0 I0
0 1 1
1 I1 M Z
1 0 1 Z
1 1 1 1 I2 U Z
1 I3
En FPGA a los X
valores así cargados
A1 A0
se los denomina
“Tabla de Lookup”
B A
Ing. Daniel Acerbi © - 2019 97
Bypasear un circuito
Muchas veces puede ser necesario que un circuito
actúe sobre una salida o no de acuerdo a una variable
de control (C). Podemos utilizar un mux, para
bypasear (puentear) un circuito lógico, este concepto
también se utiliza dentro de una FPGA .
I0
M Z
Z
U Z
A I1
X
A0
Si la señal de control C=1, la señal
pasa por el circuito lógico, si C=0, la
C
señal A llega a la salida Z, sin pasar
por el circuito .
Ing. Daniel Acerbi © - 2019 98
49
Lógica de Multiplexacion simplificada de un display
de leds de 7 segmentos
Armo un display de dos
dígitos con un solo
integrado de potencia Señal M; 200 Hz
(74LS47).
Economizo dinero x el
costo del integrado de
potencia y espacio en el
PCB.
Requiero de una señal M
que permita la
conmutación de los datos
de entrada A y B.
La señal M se puede
realizar con un
Multivibrador Astable
(f=100 a 200 Hz) ; se
puede implementar con un
Disparador Schmidt.
Ing. Daniel Acerbi © - 2019 99
M = Señal de 200 Hz
50
Ejemplo de Desplazador Programable –
Barrel Shifters
Implementar un circuito combinacional que realice el
desplazamiento de un numero binario de 4 bits según se
indique y complete con ‘0’ la parte menos significativa.
Donde:
A (4b)
A = Numero binario a desplazar
Desplaza R (4b)
D = Cantidad de bits a desplazar D (2b)
R = Es el numero desplazado
Ejemplos:
A = 0101 => D = ’00’ => R = 0101
A = 0111 => D = ’01’ => R = 1110
A = 1101 => D = ’11’ => R = 1000
El circuito produce A3
A2
desplazamientos de bits A1
R4
extremadamente A0
rápidos.
El tiempo de demora es
el de 1 MUX.
Este circuito se puede R3
resolver
sincronicamente pero
con tiempos de demora
mucho mayores.
La cantidad de Mux es R1
proporcional a la
cantidad de bits
4b => 4 Mux => 4I
nb => n Mux => nI
R0
51
Descripcion en VHDL
Demultiplexores
Los demultiplexores realizan la función inversa a los
multiplexores, ellos reciben una señal de entrada que
aplican a una de sus varias salidas, aquella que ha
sido seleccionada para recibirla .
Los demux, construidos en base a compuertas, se los
denomina distribuidores de datos .
La cantidad de
salidas es igual a Cuando una salida es
2n ; donde n es la habilitada, la entrada
cantidad de D Q0 “I”, se conecta con
entradas de E
E ella, y el resto de las
selección Q1
I M salidas permanecen
Q2 en “0”
U
X
Q3
A0 A1
Entrada de datos
Entrada de selección
Ing. Daniel Acerbi © - 2019 104
52
Circuito interno del demultiplexor
I
Entrada de Q0
habilitación
E Q0 Q1
D
B e Q1
c
A Q2 Q2
o
Q3
Q3
Entrada de
selección
Recordar que solo
una salida de habilita
Se usa, el deco para a la vez .el resto de
habilitar la compuerta AND las salidas
de la salida permanecen en “0”
Ing. Daniel Acerbi © - 2019 105
E 0
Q0
D 0
1 Q1
B e
0 c
A o Q2
0
El dato lo entro por Q3
la entrada de
habilitación y por
ejemplo habilito la Los fabricantes de CI, anuncian, en
salida Q2 los manuales, los multiplexores como
decodificadores/demultiplexores
Ing. Daniel Acerbi © - 2019 106
53
Aplicación de Mux - Demux
Comparadores binarios
Los comparadores son dispositivos que reciben por
sus entradas dos números binarios e informan en su
salida el resultado de la comparación de ambos
números.
Un comparador puede llegar a tener hasta 6 salidas :
– A > B
– A = B
– A < B
– A < B
– A > B
– A = B
54
Comparador de 2 palabras de 1 bit
Tabla de verdad :
A=B = B ⊕ A
A>B = B . A
Si analizamos los
tiempos de demora de
Circuito : las 3 salidas, los mismos
van a ser diferentes,
A A>B
para que los 3 datos
B sean valederos deberé
A<B
ver las salidas luego que
transcurra el mayor de
A=B
los tiempos (A<B) .
Ing. Daniel Acerbi © - 2019 109
A Comp A = B
de 1bit
B A>B
55
Circuito
A0
A=B
A Comp A = B
B0 de 1bit
B A>B
A<B
A1
A Comp A = B
B1 de 1bit
B A>B
A>B
Comparador de 2 bits
A1 A0 B1 B0 A>B A<B
Comparador 0 0 0 0 0 0
de 2 bits 0 0 0 1 0 1
0 0 1 0 0 1
0 0 1 1 0 1
A0 A>B 0 1 0 0 1 0
A1 0 1 0 1 0 0
0 1 1 0 0 1
0 1 1 1 0 1
B0 A<B 1 0 0 0 1 0
B1 1 0 0 1 1 0
1 0 1 0 0 0
1 0 1 1 0 1
1 1 0 0 1 0
( A > B ) = A1 B1 + A0 B1 .B0 + A1 A0 B0 1 1 0 1 1 0
1 1 1 0 1 0
( A < B ) = B1 A1 + B0 A1 . A0 + B1 B0 A0 1 1 1 1 0 0
56
Expansión en cascada de comparadores
Comparador de 2 palabras de 3 bits
Este tipo de
expansión resulta
Comparador Comparador muy lenta y
de 2 bits de 2 bits
utiliza varios
A>B A>B comparadores.
A0 A0 A>B A0
A1 A1 A2 A1
Además resulta
B0 B0 A<B B0 A<B A<B poco práctica la
B1 B1 B2 B1 manera de
interconectarlos
Comparador de 2 palabras de 4 bits
Comparador Comparador Comparador
de 2 bits de 2 bits de 2 bits
Expansión en árbol
Esta manera
Comparador de expandir
de 2 bits comparadores
A0 A0 es mucho mas
A>B
A1 A1 rápida y
utiliza menos
B0 B0 A<B componentes,
B1 B1 que la vista
en la anterior
Comparador
Comparador
de 2 bits diapositiva .
de 2 bits
A0 A>B
A2 A0 A>B
A>B A1
A3 A1
B0 A<B
B2 B0 A<B
A<B B1
B3 B1
57
Comparador de 4 bits con salidas de mayor, igual y
menor, en VHDL
58
Comparador 74HC85
Este comparador tiene 3 entradas ( >=< ) para conectarse en
cascada en caso de expansión. Me permitirá minimizar la cantidad
de componentes en una expansión, no utilizando entradas de
datos .
Entradas para
facilitar
expansiones
Ing. Daniel Acerbi © - 2019 117
59
Circuito interno del 74HC85
B0 B0 B4 B0
B1 B1 B5 B1
B2 B2 B6 B2
B3 B3 B7 B3
0 A>B A>B A>B A>B A>B
60
Comparación de números enteros
Si los números están representados en binario
desplazado, se puede usar directamente un
comparador de magnitudes .
Si los números están representados en Complemento
a 2, se deben invertir los bits más significativo para
transformarlo en binario desplazado o intercambiar
los bits mas significativos de ambos números .
Sumadores binarios
Sumador binario de 2 palabras de 1 bits, también conocido
como medio sumador .
Tabla de verdad
S
A B C S A
0 0 0 0 B
0 1 0 1
1 0 0 1 C
1 1 1 0
S=B + A A S
Medio
C=B.A B sumador C
61
Sumador binario completo
El sumador binario completo permite sumar 2
números ( B y A ) y además otro proveniente de la
etapa anterior a la que estamos resolviendo .
B A
Hay que notar
que este circuito
es lento y para
hacerlo mas B⊕A
MS
rápido recalculo B.A
la parte del Cin
acarreo, que es
donde tengo la
mayor demora
MS
S = B ⊕ A ⊕ Cin
C = B.A + ( B ⊕ A ) . Cin (B ⊕ A) . Cin
Ing. Daniel Acerbi © - 2019 123
A B Ci C S A B Ci
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
C S
S=A⊕B⊕Ci
C=A.B+A.Ci+B.Ci
124
62
Sumador binario completo – Mapa de
Karnaught
ΒΑ ΒΑ
00 01 11 10
Ci 00 01 11 10 Ci
0 0 0 1 0 0 0 0 1 0
1 0 1 1 1 1 0 1 1 1
C C
Sumador de 4 bits
Ci
A3 B3 A2 B2 A1 B1 A0 B0
A B Ci A B Ci A B Ci A B Ci
C S C S C S C S
C C2 C1 C0
S3 S2 S1 S0
Sumador de 16 bits
A12:A15 A8:A11 A4:A7 A0:A3
B12:B15 B8:B11 B4:B7 B0:B3
0
4 4 4 4 4 4 4 4
A B Ci A B Ci A B Ci A B Ci
C3 S C3 S C3 S C3 S
C 4 C11 4 C7 4 C3 4
S12:S15 S8:S11 S4:S7 S0:S3
Ing. Daniel Acerbi © - 2019 126
63
Sumador de n bits - Uso Generic
Cuando describimos un sumador en VHDL, solo basta con
representar la operación, en este caso A+B.
Si usamos la instrucción GENERIC se ve claramente que no es
necesario utilizar tecnicas de expansión, ya que muy facilmente
podemos hacer el sumador con la cantidad de bits que requiera
el proyecto, solo indicando n.
En esta operación de suma no se ve reflejado el Carry (Cy).
Hay tecnicas de programación para poder calcularlo
P=A⊕B
G P S
G=A.B
Ing. Daniel Acerbi © - 2019 128
64
Sumador de Carry Anticipado–Esquema circuital
A3 B3 A2 B2 A1 B1 A0 B0 Ci
A B Ci A B Ci A B Ci A B Ci
sumador completo sumador completo sumador completo sumador completo
con señales G y P con señales G y P con señales G y P con señales G y P
G P S G P S G P S G P S
S3 S2 S1 S0
G3 P3 C2 G2 P2 C1 G1 P1 C0 G0 P0 Ci
C0=G0+P0.Ci anticipador de
C1=G1+P1.G0+P1.P0.Ci acarreo
C2=G2+P2.G1+P2.P1.G0+P2.P1.P0.Ci
C3=G3+P3.G2+P3.P2.G1+P3.P2.P1.G0+P3.P2.P1.P0.Ci
C3
65
MC14008 – Sumador completo de 4 bits
Circuito interno :
Etapa de “Carry
Anticipado”; donde se
produce el cálculo del
Carry de salida
Etapa donde se
produce la suma de
los 4 bits
magnitudes) es la
16 inversores
negación del 16
1
16
acarreo final
El desborde de la A0:A15 B0:B15 Ci
66
Suma y resta combinadas
de magnitudes y enteros
1er. operando 2o. operando M=0 suma
16 M
M=1 resta
16 XOR
16
16
A0:A15 B0:B15 Ci
sumador de 16 bits
C V S0:S15
C/B
16
acarreo o
préstamo
V suma o resta
desborde
A0:A15 B0:B15
Ecuación del A15
circuito del 16 16
0
B15
Overflow
S15
A B Ci
Sumador de 16 bits
V=A15.B15.S15+A15.B15.S15
C S
16
V
S0:S15
67
Descripción de una Unidad Aritmetica (ALU)
A B
Ci
4 4
A B Ci
4 4 sumador binario
de 4 bits
A B Ci C S
4 corrector
4
C S0:S3
Ing. Daniel Acerbi © - 2019 136
68
Tabla de verdad del corrector
C´ S´ C S C´ S´ C S
0 0 0000 0 0000 10 0 1010 1 0000
1 0 0001 0 0001 11 0 1011 1 0001
2 0 0010 0 0010 12 0 1100 1 0010
3 0 0011 0 0011 13 0 1101 1 0011
4 0 0100 0 0100 14 0 1110 1 0100
5 0 0101 0 0101 15 0 1111 1 0101
6 0 0110 0 0110 16 1 0000 1 0110
7 0 0111 0 0111 17 1 0001 1 0111
8 0 1000 0 1000 18 1 0010 1 1000
9 0 1001 0 1001 19 1 0011 1 1001
C = C´+ S 3´.S 2´+ S 3´.S1´
S 3 = S 3´.S 2´.S1´ + C´.S1´
S 2 = S 2´.S1´+C´.S1´ + S 2´.S 3´
S1 = S 2´.S1´ + C´.S1´ + C´.S 3´.S 2´.S1´
S 0 = S 0´ Ing. Daniel Acerbi © - 2019 137
69
Sumador BCD natural de 1 digito
Sum ando B Sum ando A Ci
B3 B2 B1 B0 A3 A2 A1 A0 Ci
S u m a d o r b in ario d e 4 b its
C S3 S2 S1 S0
C’ S3’ S 2’ S 1’ S0’
c o m p a rad o r
A0
A1
A2 A>B
A3
A=B
0 0 0 0 B0
0 B1 A<B
1 B2
B3 B2 B1 B0 A3 A2 A 1 A0 Ci
0 B3
S u m ad o r b in a rio d e 4 b its
C S3 S2 S1 S0
Corrector
ac arreo su m a co rreg id a
C
4 4 4
70
Universidad Nacional de Moreno
71
Memorias ROM
Una memoria ROM (Read only Memory) es un circuito
combinacional de n entradas y b salidas.
Usos :
– Almacenar datos (números o palabras)
– Almacenar una Tabla de Verdad
– Almacenar programas para correr en un microprocesador
72
Tiempo de Acceso (ta) - ROM
Tiempo de Acceso (tacc); es el tiempo que transcurre desde que
se aplica un código de dirección válido, en las líneas del Bus de
Direcciones y se activa la habilitación /CS, hasta que aparecen
los datos válidos en salida, Bus de Datos.
Forma en la que se mide el tiempo de Acceso (tacc).
Salidas 3-estados,
aptas para ser
conectada a buses y
para poner salidas en
paralelo ( se usa en
expansiones)
73
Clasificación de las Memorias PROM
Hoy denominadas PROM (Program Read only Memory) a las
memorias que antiguamente se las denominaba ROM (Read
Only memory ).
Se clasifican en :
Mascara
ROM
Fusible
PROM
EPROM
PROM E²PROM
decodificador
A0 Q0
A0
X X X
Q1
Elementos que
almacenan datos,
X X X
A1
A1
dependiendo del tipo
Q2 de ROM o PROM será
X X X el componente que se
use para guardar el
Q3
dato ( diodos,
X X X transistores MOS de
distintos tipos )
D2 D1 D0
74
Memorias ROM
Se consideran memorias ROM a aquel grupo de memorias
que puede ser grabado una sola vez.
Las ROM se clasifican en:
Fusible: Estas memorias utilizan un tipo de “fundición”, en
nuetro caso un diodo - fusible en una matriz OR; donde un hilo
de memoria se funde o queda intacto dando un '0' o un '1'. El
proceso de programación por “fundición” es irreversible y una
vez que se programo es inalterable.- Las estudiamos en la
diapositiva 152 a 154. Son memorias de poca capacidad, lentas
y de bajo costo; se usaron para realizar prototipos.
Mascara: Es una memoria programada de forma permanete
durante el proceso de fabricación. Una vez programada no se
puede cambiar su programación. Son memorias de mayor
capacidad, tienen tiempos de acceso del orden de los cientos de
nanosegundos y de muy bajo costo en producciones de gran
tamaño. Hoy son de tecnología CMOS. Las estudiamos en la
diapositiva 155.
Ing. Daniel Acerbi © - 2019 149
decodificador
Q0
A0 A0 Q1
A1 A1 Q2
Q3
Compuerta
OR
Fusibles D2 D1 D0
75
ROM ( Read Only Memory)
PROM Fusibles de 4 palabras de 3 bits (2 esquemas típicos)
decodificador
decodificador
entradas
(direcciones) A0 O0
O0
A0
A1 A1 O1
O1
O2
A0
A0 O3 O2
A1
A1
fusibles O3
D2 D1 D0
D2 D1 D0
salidas (datos)
Cuando adquirimos una PROM,
hay un diodo fusible en cada
PROM Fusibles, símbolo intersección
76
ROM de Máscara
Esquema circuital:
Un uso típico son las memorias del BIOS en las viejas placas madres de las
computadoras. Eran de mayor capacidad y fundamentalmente mas rápidas .
tacc = 120 ns
tescritura = 100 µ s
tborrado = 10 min
Ing. Daniel Acerbi © - 2019 154
77
Esquema de una UV EPROM o una OTP EPROM
Los transistores MOS están
+VCC
interconectados formando
NORs. decodificador
inyección de electrones
calientes (que suprime la
conexión programable A1 A1 Q2
correspondiente).
La carga del gobernador
flotante puede quitarse con luz Q3
ultravioleta (la que restaura
todas las conexiones
programables). Compuerta
flotante D2 D1 D0
78
Memorias PROM - FLASH (CMOS)
La celda de almacenamiento vuelve a ser un solo transistor; esto permite
aumentar la capacidad y mejorar el tiempo de acceso para grabar y para
leer un dato. Son no volatiles.
Las memorias Flash, son EEPROM; se pueden borrar, por bloques, y
reprogramar mediante impulsos eléctricos en el mismo circuito.
Las memorias FLASH, frente a las EEPROM, son memorias de
lectura/escritura de alta densidad (gran capacidad de almacenamiento).
Estas memorias se utilizan como discos duros en notebook y tablet.
Su costo es cada día mas bajo y aumenta su capacidad de almacenamiento.
Los tiempos de acceso para la lectura son mas chicos (75 ns) que los
tiempos de acceso para programarlas (50 ms)
VCC = 5V
Vpp = Esta tensión es del orden
de 12 V; si es <= 6,5 V la
memora no se graba.
Ventajas y desventajas
Las ventajas y desventajas de las memorias
semiconductoras no volátiles muestran que la complejidad
y el costo aumentan a medida que se incrementa la
flexibilidad en el borrado y en la programación.
79
Características de las PROM comerciales
Tipos de Prom con sus ciclos de lectura y escritura
80
Ejemplos de usos - Una PROM como medio sumador
decodificador
B A C S
A O0
0 0 0 0
A0
0 1 0 1
O1
1 0 0 1
O2
B 1 1 1 0
A1
O3
S=A⊕B
D2 D1 D0 C=B.A
C S s/c
D C B A D´ C´ B´ A´
Convertidor de 0 0 0 0 0 0 0 0
código de BCD 0 0 0 1 0 0 0 1
Natural a BCD Aiken
0 0 1 0 0 0 1 0
0 0 1 1 0 0 1 1
0 1 0 0 0 1 0 0
0 1 0 1 1 0 1 1
0 1 1 0 1 1 0 0
Tabla de verdad 0 1 1 1 1 1 0 1
del ejemplo 1 0 0 0 1 1 1 0
1 0 0 1 1 1 1 1
1 0 1 0 X X X X
1 0 1 1 X X X X
1 1 0 0 X X X X
1 1 0 1 X X X X
1 1 1 0 X X X X
1 1 1 1 X X X X
Ing. Daniel Acerbi © - 2019 162
81
D´ C´ B´ A´
Conversión BCD natural a Aiken 0 0 0 0
0 0 0 1
0 0 1 0
decodificador
0 0 1 1
O0
O1 0 1 0 0
O2
A
O3 1 0 1 1
A0 O4
O5 1 1 0 0
B
A1 O6
O7 1 1 0 1
C
A2 O8
O9 1 1 1 0
D
A3 O10
O11 1 1 1 1
O12
O13 0 0 0 0
O14
O15 0 0 0 1
0 0 0 0
PROM de:
16 palabras 0 0 0 1
de 3 bits D2 D1 D0 0 0 0 0
D´ C´ B´ A´ 0 0 0 1
Ing. Daniel Acerbi © - 2019 163
Hoja de datos,
con
características
generales de
la memoria
27C128 –
UV-EPROM
Descripción
de la
capacidad
82
Códigos de identificación
83
Ventajas del uso de PROM en el diseño digital
Menor espacio ocupado, ya que una PROM puede
reemplazar a varios integrados de menor escala de
integración.
Menor costo por compuerta.
Menores costos asociados a la reducción de la diversidad
del inventario.
Mayor confiabilidad.
Mayor confidencialidad del diseño, ya que en las PROM
más refinados, las conexiones internas no pueden ser
descubiertas por quien, disponiendo del circuito
integrado, maliciosamente quiera apropiarse de los
detalles de diseño.
Bajo costo de la ingeniería no recurrente que las hace
convenientes para producciones pequeñas .
Disponibilidad de herramental para el diseño y la
programación.
Ing. Daniel Acerbi © - 2019 167
Memorias Reales
Decodificación Bidimensional
Las memorias PROM, con decodificación lineal, como las
descriptas hasta ahora son complicadas de implementar
en el silicio por el tamaño que deberían tener los
decodificadores .
En la práctica se utilizan estructuras “cuadradas” , y ese
tipo de decodificación se denomina “decodificación
bidimensional”
La idea básica de la decodificación bidimensional es
acomodar las celdas de la ROM en un arreglo que sea
tan cuadrado como sea posible.
La técnica mas utilizada combina un Deco y un Mux.
84
ROM de 128 X 1
Arreglo de
128 bits
ROM 32K X 8
85
Decodificación de Direcciones y habilitación de un banco de ROM en
un sistema con microprocesadores
86
Partiremos de una
Memoria de 4K por 8 bits memoria de 1K x 8
bits.
Bus de Direcciones 1K x 8b
Solo se habilita un
A11 : A0 /CS D7 : D0 banco a la vez y
cuando se habilita
A9 : A0
pone el dato en la
A9 : A0
salida.
/OE
Puedo poner las salidas
12 10 8 de las ROM en paralelo
ya que las salidas de
1K x 8b
1/2 74HC139 datos son 3-estados y
/CS D7 : D0
/CS son manejadas por la
señal de control OE.
/CS Q0 A9 : A0 A9 : A0
8
2 Q1 /OE
A1
8 Bus de
Diatos
A0 1K x 8b
A11 : A10
Q2 /CS D7 : D0
D7 : D0
Q3 A9 : A0 A9 : A0
/OE
8
1K x 8b
D7 : D0
/CS
2048 posiciones de
memoria (A11 : A0)
A9 : A0 A9 : A0
de 8 bits
Bus de Direcciones = 12 bits
/OE 8
Bus de datos 8 bits
Ing. Daniel Acerbi © - 2019 173
D7 : D0
A9 : A0 /CS
A9 : A0 A9 : A0 Baja
/OE
10 8 Bus de
10 1K x 8b
Diatos
/CS D7 : D0
/CS D15 : D8
A9 : A0 A9 : A0 Alta 16
/OE
8
/OE
87
Memoria de 2K por 4 bits
Partiremos de una memoria de 1K x 8 bits.
La memoria en cada posición de memoria almacena 8 bits. 1024 celdas.
Si el dato que guardaremos es de 4 bits en cada posición de memoria
podemos guardar 2 datos por posición. Equivaldria a 2048 celdas.
Utilizaremos la memoria y un multiplexor (74HC157) de 2 palabras de 4 bits
de entrada y su salida es de 4 bits.
Utilizo A10 para seleccionar parte alta (C = 1) y baja (C = 0)del dato.
/CS
74HC257
/OE
1K x 8b
Alto A3 : A0 D3 : D0
A10 : A0 /CS D7 : D0
1
A9 : A0
4 Bus de
A9 : A0 Diatos
Bus de Bus de
direcciones datos
3 bits 8 bits
Datos
almacenados
Ing. Daniel Acerbi © - 2019 176
88
Entity ROM 8X8 (con Generic)
Defino la memoria asincrónica, por cantidad de bits del Bus
de Direcciones words y cantidad de bits por palabras bits.
Para ello uso la sentencia GENERIC cargándole a c/u un
numero entero (INTERGER).
Luego definimos los puertos:
– addr - entrada (IN, std_logic_vector) - Hace referencia, mediante al
tamaño del Bus de Direcciones.
– data - salida (OUT STD_LOGIC_VECTOR) - Hace referencia cantidad
de bits por palabra que se debe almacenar
Array de
datos de la
memoria
Defino una matriz bidimensional, donde (8 palabras
tabla es el nombre. de 8 bits)
(0 TO (2** words -1)) es un rango Los datos se
cargan :=
(bits-1 DOWNTO 0) representa al en la Tabla
conjunto de 8 bits Ing. Daniel Acerbi © - 2019 178
89
Descripción de la ROM 8X8 Asincrónica
La memoria
ROM carece
de salidas 3-
estados....se
anima a
La manera de describir una Memoria Retiro el dato seleccionado describirlas...?
ROM es similar a describir una TV. de la memoria por el
vector data al que le
En la práctica industrial, se describe
cargue mediante una
una memoria RAM y el control de
asignación simple los datos
W/R se setea en Lectura.
de la CONSTANT memory
Ing. Daniel Acerbi © - 2019 179
90
Ejemplo
A un circuito combinacional le ingresan 2 números
binarios de 4 bits A y B y la salida Y vale A si A > B;
sino Y = A + B. Se pide diseñar el circuito con
componentes de MSI y escasa Lógica adicional.
74LS157
Y
A 0
4 4
74LS83 Mux
Sum
1
4
74LS85
4
C
Comp Cin
A>B
B
4
Ing. Daniel Acerbi © - 2019 181
91
Universidad Nacional de Moreno
Decodificadores de
Display
Generalidades
Los display de 7 segmentos se utilizan en un
sinnumero de dispositivos.
Estos displays funcionan junto con circuitos lógicos
que decodifican un código BCD Natural de entrada y lo
convierten a un código 7 segmentos aptos para
manejar los displays; además manejan la parte de
potencia. Dichos circuitos se denominan excitadores
de display o drivers.
Hay 2 tipos de displays, ellos son:
– Display de Leds: se usa en lugares oscuros y tienen un alto
consumo de corriente.
– Desplay LCD (cristal líquido): son de tecnología CMOS por lo
tanto tienen muy bajo consumo, baja luminosidad y la
circuitería electrónica es mas compleja.
92
Display de LEDS
Hay 2 tipos de configuraciones comerciales:
– Anodo Común
– Cátodo Común
Decodificador/Driver
BCD natural a 7 segmentos ánodo común
+5 volt a
Señales Auxiliares :
LT b
f
B g
Salida
e c
Colector Abierto
Decodificador
BCD natural a
7 segmentos d dp
a R
b R
A0
A1 c R
Cod. BCD
A2 d
Natural A3
R
e R
LT
B f R
g R
Ing. Daniel Acerbi © - 2019 186
93
Señales auxiliares
LT Lamp Test: Prueba de lámparas. fuerza a que prendan todos los
segmentos, sin importar el número decimal que está ingresando.
B Blanking: Apagado. Fuerza a que apaguen todos los segmentos,
sin importar el número decimal que está ingresando.
A3 A2 A1 A0 B LT a b c d e f g
X X X X 1 0 1 1 1 1 1 1 1
X X X X 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 1 0 0 1 0 0 1 1 1 1
0 0 1 0 0 0 0 0 1 0 0 1 0
0 0 1 1 0 0 0 0 0 0 1 1 0
0 1 0 0 0 0 1 0 0 1 1 0 0
0 1 0 1 0 0 0 1 0 0 1 0 0
0 1 1 0 0 0 0 1 0 0 0 0 0
0 1 1 1 0 0 0 0 0 1 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0 1 0 0
Ingresa un numero en
BCD Natural Ing. Daniel Acerbi © - 2019 187
Decodificadores/excitadores
decimales a 7 segmentos
74x248 tiene supresión de ceros no significativos
74x4511 tiene un circuito de memoria que
retiene el dato de entrada, pero que puede
deshabilitarse para operar en modo transparente.
74HC/HCT4543 para exhibidores de cristal líquido,
cuyos segmentos requieren ser activados con una
onda cuadrada, y no con tensiones fijas.
94
74LS248
+5 volt a
Señales Auxiliares :
b
LT f
B g
RBI
RBO
e c
Decodificador
BCD natural a
7 segmentos d dp
a R
b R
A0
A1 c R
A2 d R
A3
e R
LT
B f R
RBI g R
RBO Ing. Daniel Acerbi © - 2019 189
Señales auxiliares
LT Lamp Test: Prueba de lámparas. fuerza a que prendan todos
los segmentos, sin importar el número decimal que está
ingresando
B Blanking: Apagado. Fuerza a que apaguen todos los
segmentos, sin importar el número decimal que está ingresando
RBI Ripple Blanking Input: Entrada de propagación del apagado.
Fuerza a que se apaguen todos los segmentos si está
ingresando un 0
RBO Ripple Blanking Output: Salida de propagación del apagado.
Indica que un 0 se ha apagado en obediencia a la RBI.
95
Propagación del apagado
• 7095.1573
• 60.24 Ejemplos de
• 569. encendido
del display El dígito de las
• 0.428 unidades permanece
encendido aunque
• 0 entre un 0 ( RBI=0 )
RBI RBO RBI RBO RBI RBO RBI RBO RBI RBO RBI RBO RBI RBO RBI RBO
1 0 1
96
Introducción
Las Pantallas o Displays de Cristal Liquido (LCD Liquid
Cristal Display) están altamente difundidas en la
actualidad. La mayoría de los equipos electrodomésticos y
diversos equipos electrónicos las utilizan porque presentan
la ventaja de bajo consumo eléctrico .
La magia de los LCD se deben a los “cristales líquidos”,
palabras contradictorias, pero este material es la razón de
funcionamiento de los displays .
El cristal líquido fue descubierto por el botánico austriaco
Rheinitzer en 1888. El Cristal Liquido es un termino que
hace referencia a una substancia que no es ni líquida ni
sólida .
En 1963 Williams descubrió que la manera en la que pasa
la luz a través del cristal liquido cambiaba cuando era
estimulada por una carga eléctrica .
97
Displays de Cristal Líquido (LCD) [2]
En las unidades LCD, el mayor interés se encuentra en el
Cristal Líquido Nemático, cuya estructura cristalina se
presenta en la figura, sus moléculas individuales tienen una
apariencia alargada como se muestra.
Sin polarización
No forma imagen
98
Forma de un dígito LCD
Un digito sobre un Display LCD puede
tener la apariencia de segmento que se
muestra en la figura.
El área negra es en realidad una
superficie de conducción clara conectada
a los terminales de abajo el control
externo.
Se colocan dos máscaras similares en
lados opuestos de una capa gruesa
sellada de material de cristal líquido.
Si se requiriera el número 2, se
energizarían las terminales 8, 7, 3, 4 y 5 Electrodos que
y sólo se pondrían opacas las regiones permiten visualizar
los números de 0 - 9
correspondientes, en tanto que las otras
áreas permanecerían claras
Ing. Daniel Acerbi © - 2019 197
99
Resumen
100
Esquema de un display real
Switch=‘0’
segmentos
apagados
SW=‘1’
segmentos
encendidos
BP
Funcionamiento electrónico
Para excitar un segmento LCD, la tensión de excitación debe ser
aplicada entre el segmento y los terminales BP. Cuando la tensión
es cero, el segmento es invisible .
Sin embargo, cuando la tensión de excitación tiene un valor
determinado, tanto positivo como negativo, el segmento se hace
visible .
Pero si la tensión de excitación se mantuviera durante algo más
que unos centenares de milisegundos el segmento quedaría visible
de forma permanente y ya no sería utilizable.
La forma de solventar el problema es activar el segmento
mediante una onda cuadrada totalmente simétrica, que cambie
de forma alternada entre unas tensiones positivas y negativas
idénticas, sin tener ningún componente de corriente continua; de
esta forma no se daña el segmento de LCD, incluso si se mantiene
la excitación de forma permanente.
En la práctica, este tipo de forma de onda se obtiene con la ayuda
de un compuerta XOR .
101
Iluminación de los displays (backlit)
En los displays de LCD es necesario
iluminarlos desde la parte posterior para
mejorar su visibilidad. Se utilizan tres tipos de
backlit .
Sin iluminación de backlit, usa la luz ambiente,
se usan en relojes y pequeños display – Poca
visibilidad
102
74HC/HCT4543
Latch, Decodificador y Driver de BCD Natural a 7 segmentos para
Displays de Cristal Líquido, entre otros displays especiales.
Diagrama funcional :
Señales Auxiliares
Entrada de
LD Latch disable input: entrada para
datos
deshabilitar el latch; deshabilita el
latch que hay en la entrada del
decodificador ( activo alto )
BI Blanking input: Apagado. Fuerza a
que apaguen todos los segmentos, sin
importar el número decimal que está
ingresando ( activo alto ) .
PH Phase input: entrada de fase; entra
la señal cuadrada simétrica para que
funcione el LCD, ( activa alta ). Si PH
vale “0” el integrado se comporta
como un decodificador para display de
leds .
Salidas a Display
de Cristal Líquido 205
Tabla de verdad
103
Diagrama Lógico
1
BCD
Natural
LCD
Vcc
Fin de la presentación
Circuitos Combinacionales
con Integrados de MSI
104