Sei sulla pagina 1di 104

Universidad Nacional de Moreno

Circuitos Combinacionales
con Integrados de MSI

Debo agradecer los textos e imágenes que fueron


tomadas del libro de Técnicas Digitales,
Dispositivos, Circuitos, Diseño y Aplicaciones del
Ing. Jorge Sinderman y de Sistemas Digitales,
Principios y Aplicaciones del R. Tocci (10 ed.)

Ing. Daniel Acerbi – Febrero 2019 © 1

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 .

Ing. Daniel Acerbi © - 2019 3

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”

Ing. Daniel Acerbi © - 2019 4

2
Habilitación - Simbología

En En En
En

Activo alto Activo bajo Activo bajo

Activo bajo pero


mal nombrado

Ing. Daniel Acerbi © - 2019 5

Funciones de los CI de MSI


 Las funciones de los CI de MSI están orientadas a
aplicaciones generales en los campos de:
 Manejos de códigos
– Decodoficadores, codificadores, arboles de
paridad
 Flujo de señales
– Multiplexores, demultiplexores
 Calculo aritmético
– Comparadores, sumadores
 Circuitos secuenciales
– Contadores, registros

Ing. Daniel Acerbi © - 2019 6

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

Ing. Daniel Acerbi © - 2019 8

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

Ing. Daniel Acerbi © - 2019 9

Descripción en VHDL del deco 2:4


Descripción del deco 2:4 Descripción del Banco de Pruebas

10

5
Simulaciones
Simulación Funcional deco 2:4

Simulación Temporal deco 2:4

td = 7,8 ns <> fmax = 128 MHz


Hay Glich...Por que?? 11

Decodificador de 2 a 4 con entrada de habilitación


 Tabla de verdad y ecuaciones de un decodificador con
entrada de habilitación ( E ) :

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

Decodificador habilitado, E=1 12

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

Ing. Daniel Acerbi © - 2019 13

Otra variante del circuito con una habilitación


 Este circuito no es práctico ya que le suma una compuerta AND
por cada salida, y producirá un aumento del consumo de
energía, aumento del costo y del tiempo de demora de cada
salida.
 Precio que pago por implementar una entrada de habilitación.
E

Q0
O0
D Q1
B B O1
E
Q2
A A C O2

O O3 Q3

Ing. Daniel Acerbi © - 2019 14

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

 Para resolver el problema colocamos una compuerta AND de 3


entradas en la entrada de habilitación ( E ) del circuito anterior .
 Para obtener una salida negada coloco a la salida una
compuerta NAND

Ing. Daniel Acerbi © - 2019 15

Circuito del decodificador de 2 a 4 con


salidas negadas y 3 entradas de habilitación
B A
E0
E1
E2
B A
Q0
_ _ __ __

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

Ing. Daniel Acerbi © - 2019 16

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.

La IILMax y la IIHMax deben se iguales  Por esto es necesario


para todas las entradas del IC. normalizar las entradas. De
manera que todas las
Es por esto que se requiere normalizar entradas requieran las
mismas corrientes 17
las corrientes de entradas

Solución para normalizar las entradas


 En las entradas A y B modificaré su circuito de entrada,
colocando el siguiente circuito con 2 inversores .

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

 Debemos recordar que las salidas de un circuito lógico no


afectan a las entradas del mismo. Esto significa que no
importa que corriente se maneje en la salida del inversor,
en la entrada solo se tomarán los valores indicados .
 Normalmente el fabricante coloca en el interior del IC
varios Buffers de corriente.
Ing. Daniel Acerbi © - 2019 18

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

Ing. Daniel Acerbi © - 2019 19

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

Salidas activas bajas “L”


20

10
Decodificador 74HC138
 Circuito interno o diagrama lógico

Se observa que todas las


entradas estan normalizdas

Buffers de salida para


manejo de corriente, tipica
Ing. Daniel Acerbi © - 2019 salida de ICs CMOS 21

VHDL de un decodificador 74HC138, con 3entradas de habilitación

Usando signal,
para manejar
las 3
habilitaciónes

Ing. Daniel Acerbi © - 2019 22

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 .

Ing. Daniel Acerbi © - 2019 24

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

Ing. Daniel Acerbi © - 2019 25

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 .

Ing. Daniel Acerbi © - 2019 26

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

Expansión, utilizando un decodificador con


varias entradas de habilitación
 La ventaja que tiene esta manera de expandir, es que
minimizo los componentes que hacen la selección del
banco de decodificadores de salida. Puedo eliminar un
decodificador, bajo el costo y el tiempo de respuesta .
 La lógica de selección se efectúa ahora dentro del CI y
solo debo poner un inversor externamente .
 Este circuitos posee varias ventajas sobre los
anteriores .

Ing. Daniel Acerbi © - 2019 28

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).

Ing. Daniel Acerbi © - 2019 31

MC14028 - TV y Circuito interno

MC14028 - Tabla de
verdad y circuito
interno

Buffers de salida para


manejo de corriente,
tipica salida de ICs
CMOS

Ing. Daniel Acerbi © - 2019 32

16
Expansión - Decodificador de 4 a 16
líneas utilizando MC14028

D=1 D=0

Q15 Q8 Q7 Q0

Sin conectar

Ing. Daniel Acerbi © - 2019 33

Implementación de funciones lógicas


 Esta aplicación interesante, parte de reconocer que un
decodificador tiene una salida por c/u de los minitérminos
que pueden formarse con las variables de entrada, es decir
las señales de selección .
 Un deco puede ser considerado como un generador de
minitérminos .
 Para implementar funciones utilizando decodificadores,
vamos a necesitar la ayuda de una compuerta. El tipo de
compuerta va a depender del tipo de salida del
decodificador ( salida de lógica positiva o negativa) .
 Si el decodificador es de lógica :
– Positiva voy a usar una compuerta OR, y conectarle las
salidas que tienen ‘1’ en la TV
– Negativa voy a usar una compuerta NAND y conectarle
las salidas que tienen ‘1’ en la TV

Ing. Daniel Acerbi © - 2019 34

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

Ing. Daniel Acerbi © - 2019 35

 Trabajaremos en principio con un decodificador de 3 a


8 líneas, con lógica positiva a la salida .
 Realizamos la tabla de verdad del problema :
Se conectan a la compuerta OR, las
C B A Z salidas del decodificador que al ser
seleccionadas presentan un “1” en la TV.
0 0 0 0 El resto quedan sin conectar s/c .
0 0 1 0
Q0 s/c
0 1 0 0 D s/c
Q1
0 1 1 1 E Q2
s/c
Z
C A2
1 0 0 0 C Q3
B A1
Q4 s/c
1 0 1 1
A A0 O Q5
1 1 0 1
Q6
1 1 1 1
Q7

Ing. Daniel Acerbi © - 2019 36

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 :

C B A Z Se conectan a la compuerta NAND Como describo la


(74HC20), las salidas del decodificador Función Lógica del
0 0 0 0 que al ser seleccionadas presentan un “1” problema en
en la TV. El resto quedan sin conectar s/c .
0 0 1 0 VHDL…..?

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

Ing. Daniel Acerbi © - 2019 37

Descripción de la función lógica en VHDL


 Si bien se implementa utilizando un decodificador y lógica
combinacional, en el momento de la descripción debo cambiar la
idea del diseño, por lo tanto lo hago utilizando descripción por
flujo de datos.
 Uso una TV o la ecuación del circuito.

Ing. Daniel Acerbi © - 2019 38

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

Implementación de un conversor de código


 Implementar utilizando un decodificador y la lógica
necesaria un conversor de código BCD Natural a BCD
Aiken .

OUT - Código
IN - Código BCD Aiken
BCD Natural
Circuito
Lógico

4
4

Ing. Daniel Acerbi © - 2019 40

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´

Ing. Daniel Acerbi © - 2019 42

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

Ing. Daniel Acerbi © - 2019 44

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

Análisis de las entradas y salidas de un codificador


 Si analizamos detenidamente la tabla de verdad del
codificador, notaremos que nos falta una condición
de entrada .
 La misma es cuando ninguna entrada está activa .
– Si I0=I1=I2=I3=0 => ninguna entrada activa
 B=0; A=0
– Si la entrada I0 esta activa; I0=1
 B=0; A=0
 Podemos observar que para distintas condiciones de
entrada la salida del codificador vale lo mismo .
 Para solucionar ello agregaremos una salida de grupo
(G) que indique cuando una entrada está habilitada,
G=1 .

Ing. Daniel Acerbi © - 2019 46

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

Ing. Daniel Acerbi © - 2019 47

Codificador con entrada de habilitación


 Llamamos Ei a la entrada de habilitación, si Ei=0, el
dispositivo esta deshabilitado y las salidas valen “0”.
 Volvemos a tener, 2 condiciones de entradas distintas y
salidas iguales, es por eso que agrego la salida Eo (salida
de habilitación) .
 La salida Eo me va a servir, para propagar la habilitación
cuando hagamos expansión de codificadores .
Entrada de habilitación Salida de habilitación
Eo=1, cuando el
dispositivo esta
habilitado y no
hay entradas
activas. En este
caso propaga la
habilitación a
otros
codificadores

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

Ing. Daniel Acerbi © - 2019 49

Codificadores con prioridad


 Los codificadores que hemos analizado hasta ahora
solo podían tener una entrada, de datos, habilitada a
la vez, pero en la práctica esto no ocurre .
 Los codificadores contemplan la posibilidad de que 2 o
mas entradas estén activas al mismo tiempo. A estos
codificadores se los conoce como con prioridad .
 Con codificador se suelen diseñar teclados muy
simples, y en ellos se debe siempre contemplar la
posibilidad de que 2 teclas se opriman
simultáneamente. Quedará en el diseñador analizar
cual de ellas será indicada por las salidas .
 Un caso típico de codificador con prioridad es el
74HC148 .
Ing. Daniel Acerbi © - 2019 50

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

Las X indican, “no importa “


Ing. Daniel Acerbi © - 2019 51

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

Ing. Daniel Acerbi © - 2019 53

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

Ing. Daniel Acerbi © - 2019 54

27
Simulación funcional

Para la implementación en
la FPGA se utilizan 3 LUTs.

Ing. Daniel Acerbi © - 2019 55

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

Todas las entradas y


salidas estan negadas
Ing. Daniel Acerbi © - 2019 56

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) .

Ing. Daniel Acerbi © - 2019 57

Circuito interno del 74HC148


 Podemos visualizar en el circuito, que este integrado
no tiene sus entradas normalizadas. En la realidad
será así....????

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)

Ing. Daniel Acerbi © - 2019 59

Codificador 74HC147
 Codificador de 10 a 4 líneas (8-4-2-1), con lógica negativa en
entradas y salidas .

Ing. Daniel Acerbi © - 2019 60

30
Teclado de 10 teclas (74HC147)

Teclado
activo
nivel
Bajo

Y la salida G ..?

Ing. Daniel Acerbi © - 2019 61

Codificadores usados como controles posicionales


 Un uso interesante es el uso de un codificador en la
digitalización de la posición de un compas magnético (brújula).
 Para ello utilizo un 74LS148 (codif. De 8 a 3 líneas). Salidas y
entrega negadas.
 La posición de la brújula es codificada por el 74LS148 a
números binarios para ser utilizados en un circuito de control
digital.

1
1
1
1
0 0
1
1
1
1
1
1

Ing. Daniel Acerbi © - 2019 62

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

 Para evitar conflictos con las entradas, solo una


entrada puede ser seleccionada a la vez .
 Los multiplexores pueden manejar señales :
– analógicas
– digitales
Ing. Daniel Acerbi © - 2019 63

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

recepción de datos digitales. I1 Z


– Forma parte de las celdas
I2
básicas de FPGA, entre otras
importantísimas aplicaciones . I3

– Generadores de palabras series. B A

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 :

 1) Con compuertas de transmisión


 2) Con dos niveles de compuertas
 3) Con compuertas de colector abierto
 4) Con buffers 3 estados

Ing. Daniel Acerbi © - 2019 65

Multiplexor con compuertas de transmisión


 La particularidad de este mux, es que maneja tanto
señales analógicas y digitales, la lógica de control se
encargará de habilitar una sola compuerta a la vez .
 Siempre debe haber una copuerta habilitada.
Selector I0
E0
Q0

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

Ecuación de salida del MUX


 Analizamos la ecuación de salida del mux,
dejando de lado la parte de la circuitería de
selección, la ecuación es la siguiente :
– Z = I0.O0 + I1.O1 + I2.O2 + I3.O3

 Si contemplo la entrada de habilitación, todo será


multiplicado por la señal E, ya que si E = 0; el
dispositivo no esta habilitado y su salida valdrá
Z=0
– Z = (I0.O0 + I1.O1 + I2.O2 + I3.O3) . E

Ing. Daniel Acerbi © - 2019 68

34
VHDL de un multiplexor de 4 vías con habilitación

Ing. Daniel Acerbi © - 2019 69

Diagrama temporal del Mux con habilitación


 Simulación Funcional

Ing. Daniel Acerbi © - 2019 70

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 .

Ing. Daniel Acerbi © - 2019 71

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;

• No exige que las condiciones sean mutuamente excluyentes.


• En esos casos se ejecutan sólo las sentencias asociadas a la primer condición
satisfecha. El orden de sondeo fija la prioridad.
• El último else (sin when) asegura la total cobertura de los casos.
• La asignación única, si se refiere a un vector, puede ser a todos los elementos
del vector, a uno solo, o a un subconjunto.
• Se recomienda su uso cuando hay una única condición (un único when) o
cuando son varias las condiciones, son mutuamente excluyentes, y se desea
establecer una prioridad entre ellas.

Ing. Daniel Acerbi © - 2019 73

VHDL de multiplexores de 4 vías con AND por conexión

Equivale a ‘1’ débil (‘H’) Ing. Daniel Acerbi © - 2019 74

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

VHDL de multiplexores de 4 vías con buffers de 3 estados

Ing. Daniel Acerbi © - 2019 76

38
Tipos de salidas de los multiplexores

 Hay 2 tipos de salida para los multiplexores


comerciales, las mismas son :
– Salidas convencionales ( los ya analizados ),
que dan valores a Z iguales a ‘0’ o ‘1’ . Son
aptos para ser utilizados en propósitos
generales .
– Salidas 3-estados, que dan valores a Z de ‘0’;
‘1’ y Alta impedancia (Z∞). Son usados cuando
hay que aportar datos a un bus .

Ing. Daniel Acerbi © - 2019 77

Multiplexor con salida convencional


La entrada de
habilitación puede
existir o no,
dependerá del
fabricante de CI

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.

Habilitación S0 y S1 son las entradas de control Habilitación

Ing. Daniel Acerbi © - 2019 81

74HC/HCT157
 Maneja 2 palabras de 4 bits con 1 bit de selección; con una
entrada de habilitación (s=strobe).

74HC157

El 74HC/HCT158 tiene las


salidas negadas
Ing. Daniel Acerbi © - 2019 82

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 aptos para


Z y Z solo tomarán
ser conectados a buses,
valores de “0”;“1’ y
por su salida 3-estados Alta impedancia Z∞

Ing. Daniel Acerbi © - 2019 83

Universidad Nacional de Moreno

Multiplexores Comerciales
 Con salidas 3 estados

Ing. Daniel Acerbi © - 2019 84

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

Ing. Daniel Acerbi © - 2019 85

74HC/HCT253 - Multiplexor dual de 4 vías con salida


3-estados
 Dentro del CI hay 2 multiplexores ( dual ) de 8 vías de entrada y 2
de control, las entradas de selección son comunes a ambos mux .
S0 y S1 son las Habilitación
Habilitación entradas de control de Salida
de Salida

Salidas 3-estados

Ing. Daniel Acerbi © - 2019 86

43
74HC/HCT257 / 258

74HC257

El 74HC/HCT258 tiene las


salidas negadas

Ing. Daniel Acerbi © - 2019 87

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 .

Ing. Daniel Acerbi © - 2019 88

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.

Ing. Daniel Acerbi © - 2019 93

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 .

Ing. Daniel Acerbi © - 2019 94

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

Descripción en VHDL, para aplicarlo a Display de NEXYS 2

M = Señal de 200 Hz

Ing. Daniel Acerbi © - 2019 100

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

Ing. Daniel Acerbi © - 2019 101

Solucion del ejemplo D1


D2

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

Ing. Daniel Acerbi © - 2019 102

51
Descripcion en VHDL

Ing. Daniel Acerbi © - 2019 103

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

Demultiplexor implementado con un


decodificador
 Debemos tener en cuenta que un demultiplexor no se
puede adquirir en el mercado de componentes .
 Para hacer un demultiplexor, necesito adaptar el
circuito de un decodificador, con entrada de
habilitación, de la siguiente forma:

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

Los datos viajan por un


único canal

Los relojes que controlan al Multiplexor y


Demultiplexor deben ser iguales, de lo contrario
no se puede realizar la reconstrucción de los datos

Ing. Daniel Acerbi © - 2019 107

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

Ing. Daniel Acerbi © - 2019 108

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

Comparador por ≥ de 2 palabras de 2 bits


 Para construir este comparador tomaré
como base el comparador de palabras de
un bit, el mismo esta esquematizado de la
siguiente manera :

A Comp A = B
de 1bit
B A>B

Ing. Daniel Acerbi © - 2019 110

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

•Este circuito presenta el problema de tener un tiempo de demora


elevado y cada salida tiene mas de 3 niveles, por lo tanto tendré
riesgos dinámicos.
•Para evitar este inconveniente, construiré un circuito de 2 niveles
mediante una TV y mapas de Karnaught .

Ing. Daniel Acerbi © - 2019 111

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

Comparador por > y < de 2 niveles, mas rápido


y sin riesgos dinámicos .
112

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

A>B A0 A>B A>B


A0 A0 A>B A0
A1 A1 A2 A1 A3 A1

B0 A<B B0 A<B A<B


B0 B0 A<B
B1 B1 B2 B1 B3 B1
113

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

Ing. Daniel Acerbi © - 2019 114

57
Comparador de 4 bits con salidas de mayor, igual y
menor, en VHDL

Biblioteca ieee para


números sin signo

Ing. Daniel Acerbi © - 2019 115

Simulación del Comparador


 Simulación funcional

Ing. Daniel Acerbi © - 2019 116

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

Tabla de verdad del 74HC85

Ing. Daniel Acerbi © - 2019 118

59
Circuito interno del 74HC85

Ing. Daniel Acerbi © - 2019 119

Expansión de comparadores utilizando el 74XX85


74x85 74x85
A0 A0 A4 A0
A1 A1 A5 A1
A2 A2 A6 A2
A3 A3 A7 A3

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

1 A=B A=B A=B A=B A=B

0 A<B A<B A<B A<B A<B

Cada comparador que agrego aumento en 4 bits, la cantidad


a comparar, ventaja que solo la tiene este dispositivo
Ing. Daniel Acerbi © - 2019 120

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 .

Ing. Daniel Acerbi © - 2019 121

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

Ing. Daniel Acerbi © - 2019 122

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

Sumador binario completo – Tabla de verdad


 Recalculo usando la tabla de verdad y el mapa de
Karnaught, el carry C y la suma S

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

C=A.B+A.Ci+B.Ci C = A.B + A.B .Ci + A.B.Ci =


= A.B + ( A ⊕ B ).Ci

Ing. Daniel Acerbi © - 2019 125

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

sumador completo sumador completo sumador completo sumador completo

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

sumador de 4 bits sumador de 4 bits sumador de 4 bits sumador de 4 bits

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

Ing. Daniel Acerbi © - 2019 127

Sumador de Carry Anticipado - Señales G y P


 Modifico la estructura del Sumador Completo para obtener las
señales Generar (G) y Propagar (P).
 G (generar) indica que dado los valores de A y B (ambos en 1), la
etapa generaría un acarreo.
 P (Propagar) indica que dado los valores de A y B (uno de ellos en 1)
la etapa propagaría el acarreo que hubiese en su entrada.
A B
A B G P
0 0 0 0
A B Ci
sumador completo con 0 1 0 1
señales de generar y propagar
G P S
1 0 0 1
Ci
1 1 1 X

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

El sumador de Carry Anticipado es un concepto de ICs; en VHDL carece de


sentido ya que el sumador sintetizado en una FPGA trabaja a máxima
velocidad (td = 7,5 ns) independiente de la cantidad de bits
129

MC14008 – Sumador completo de 4 bits


 Este IC es un sumador de Carry Anticipado:

Ing. Daniel Acerbi © - 2019 130

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

Ing. Daniel Acerbi © - 2019 131

Resta de magnitudes y enteros


 Para restar, se suma al minuendo el
complemento a 1 del sustraendo + 1
 El préstamo final minuendo sustraendo
(útil para 16

magnitudes) es la
16 inversores
negación del 16
1
16
acarreo final
 El desborde de la A0:A15 B0:B15 Ci

resta (útil para sumador de 16 bits

enteros) ocurre C V S0:S15


cuando desborda la B
16
suma préstamo
V
resta
desborde
Ing. Daniel Acerbi © - 2019 132

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

Ing. Daniel Acerbi © - 2019 133

Sumador de números enteros- Lógica del Overflow (V)


 Ecuación y circuito de la lógica combinacional que permite calcular
el desborde.
 Hay desborde (V=1) cuando
a) se suman dos números positivos (A15=B15=0, si son números
de 16 bits) y el resultado da negativo (S15=1), o
b) se suman dos números negativos (A15=B15=1) y el resultado
da positivo (S15=0).

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

Ing. Daniel Acerbi © - 2019 134

67
Descripción de una Unidad Aritmetica (ALU)

Ing. Daniel Acerbi © - 2019 135

Sumador decimal de un digito


•Cuando hablamos de un digito, estamos hablando de un digito
en BCD Natural, o sea un numero de 4 bits .

A B
Ci
4 4
A B Ci
4 4 sumador binario
de 4 bits
A B Ci C S

Sumador decimal de 1 dígito 4


C' S'0:S´3
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

Corrigiendo comparando y sumando


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
1) Cuando el resultado binario es menor que 10, no corresponde
emitir un acarreo ni corregir a S´ (S=S´ o S=S´+0)
2) Cuando el resultado binario es mayor o igual que 10, se debe:
a) Emitir un acarreo C
b) Obtener S sumando 6 a S´ (ignorando el acarreo que esta
suma pudiese producir)
Ing. Daniel Acerbi © - 2019 138

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

Ing. Daniel Acerbi © - 2019 139

Sumador decimal de 3 dígitos

centenas decenas unidades


A B A B A B
0
4 4 4 4 4 4

sumador decimal de 1 dígito sumador decimal de 1 dígito sumador decimal de 1 dígito

C
4 4 4

Ing. Daniel Acerbi © - 2019 140

70
Universidad Nacional de Moreno

Diseño utilizando Memorias


Semiconductoras - PROM

Ing. Daniel Acerbi © - 2019 141

Introducción a las Memorias Semiconductoras


 Las memorias son dispositivos electrónicos que permiten el
almacenamiento de grandes cantidades de información .
 Las memorias semiconductoras estan formadas por matrices de
elementos de almacenamiento que pueden ser Latchs, Flip Flops o
capacitores.
 Se pueden clasificar en :
ROM (Read only memory)
Memorias
semiconductoras RAM ( Random access memory )

 Memoria RAM: Es un tipo de memoria en la que se tarda lo mismo en


acceder a cualquier dirección de memoria y estas se pueden seleccionar en
cualquier orden, tanto en una operacion de lectura como de escritura.
Debido a que estas memoria pierden los datos almacenados cuando se
desconecta la alimentación; se las conoce como memorias Volátiles.

 Memorias ROM: Es un tipo de memoria en la que los datos se almacenan


de forma permanente o semipermanente. Los datos se pueden leer de una
ROM, pero no existe la operación de escritura como en las RAM; los
tiempos de lectura son bastantes menores que los de grabación. Estas
memorias ROM mantienen los datos almacenados incluso si desconectamos
la alimentación, reciben el nombre de no volatiles.
Ing. Daniel Acerbi © - 2019 142

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

Bus de Direcciones = 4 bits;


almacena 16 palabras
Bus de Datos = 8 bits
Si /CS = '0' los datos estan
presentes en la salida; de
lo contrario las salidas
estan en alta impedancia
Las salidas de las memorias
PROM deben ser aptas para
ser conectadas a Buses, por
lo tanto son de
caractarística 3-estados

Ing. Daniel Acerbi © - 2019 143

Esquema Básico de una ROM


3 bits 8 bits

El tamaño del Bus de


Datos es igual al
tamaño de las celdas
de memoria

El Bus de Direcciones se La cantidad de palabras


usa para selecciónar una almacenadas es proporcional
La capacidad de
de las palabras a ( 2n ) donde n son los bits
la memoria ROM
almacenadas a la vez del Bus de Direcciones
es de 8 palabras
de 8 bits.

Ing. Daniel Acerbi © - 2019 144

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)

Ing. Daniel Acerbi © - 2019 145

Tamaño de una PROM


 Una PROM de 10 entradas de dirección (muy chica) y 8 líneas
de salida (valor típico) tiene un tamaño de 1024 (210) palabras
de 8 bits
 Una PROM de 17 entradas de dirección y 8 líneas de salida
tiene 131072 (217) palabras de 8bits
 Una PROM de 20 entradas de dirección y 8 líneas de salida
tiene 1048576 (220) palabras de 8bits
 Informalmente
 La primera tiene un tamaño de 1K× ×8
 2 =1024=1K
10

 La segunda tiene un tamaño de 128K× ×8


 217 =27.210=128K=131072
 La tercera tiene un tamaño de 1M× ×8
 2 =1048576=1M
20

Ing. Daniel Acerbi © - 2019 146

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

 Tipos de Memoria : Flash

 ROM : Históricamente se denominaban así a las Memorias que se


graban una sola vez, o sea no se puede regrabar .
 PROM : Memorias que pueden ser grabadas, borradas y vueltas a
grabar.
Ing. Daniel Acerbi © - 2019 147

Esquema interno de una ROM o PROM Genérica


Prom de 4 palabras de 3 bits

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

Ing. Daniel Acerbi © - 2019 148

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

Esquema de una ROM Programable a Fusibles

decodificador

Q0

A0 A0 Q1

A1 A1 Q2

Q3

Compuerta
OR
Fusibles D2 D1 D0

Ing. Daniel Acerbi © - 2019 150

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

Ing. Daniel Acerbi © - 2019 151

ROM Programable a Fusible


Los hilos de las
columnas estan
conectadas, por medio
de resistores, a
potencial de masa (0V)
Los fusibles se queman en
el proceso de
programación:
Fuse quemado sale '0'
Fuse activo sale '1'

Ing. Daniel Acerbi © - 2019 152

76
ROM de Máscara
 Esquema circuital:

Los '0' y '1' son puestos por


el fabricante, mediante la
colocación de transistores
CMOS, en fábrica. Como
muestra la figura.
En el esquema circuital falta
los buffers que dan salidas 3-
estados.

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 .

Ing. Daniel Acerbi © - 2019 153

Memorias PROM - EPROM o UVPROM


 Memoria EPROM o UV-PROM (Ultra Violet Erasable PROM):
– Es una PROM Borrable. Se borra mediante luz ultravioleta. tiene una
ventana de cuarzo por donde ingresa la luz ultravioleta. Se graba
electrónicamente, una vez borrada la memoria.
– Se utilizaron en máquinas herramientas para modificar su programación.
– Son de media capacidad, de tecnología CMOS, no muy rápidas.
– Se deben extraer del circuito para borrarlas y reprogramarlas.

PGM = >> Tensión de


Programación, se coloca
un valor '0' (dato del
fabricante) para
programarla
Para mas datos del
funcionamiento se debe
recurrir a las hojas de
datos de la memoria

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

 Se usan MOS con un


Q0
gobernador adicional flotante.
 Cada gobernador flotante
puede individualmente
cargarse por un fenómeno de A0 A0 Q1

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

En la producción de productos se usa una memoria OTP-PROM, de similares características


eléctricas que la UV-PROM, pero solo programable 1 vez. Su costo es muy bajo

Ing. Daniel Acerbi © - 2019 155

Memorias PROM - EEPROM o E2PROM


 EEPROM (Electrically Erasable PROM). Las desventajas de las
EPROM, se solucionaron con el desarrollo de estas memorias
 Se borran y programan mediante impulsos eléctricos.
 Las EEPROM se pueden borrar y reprogramar en el mismo circuito.
 Ofrecen un tiempo de acceso para la lectura rápido y permite borrar
y reprogramar bytes individuales con rapidez y dentro del circuito.
 Sufren de una densidad baja (poca capacidad) y un costo alto
frente a las EPROM. Celdas de programacion complejas.

Ing. Daniel Acerbi © - 2019 156

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.

VCC = 1,8 V en dispositivos


modernos

Ing. Daniel Acerbi © - 2019 157

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.

Ing. Daniel Acerbi © - 2019 158

79
Características de las PROM comerciales
 Tipos de Prom con sus ciclos de lectura y escritura

 Plantilla ROM : Son las ROM de Máscara y en su escritura


evalúan todo el proceso productivo
 El ciclo de lectura siempre es mas rápido que el de escritura

Ing. Daniel Acerbi © - 2019 159

Comparacion de las distintas memorias y Aplicaciones

SRAM y DRAM, son


memorias RAM

 Almacenamiento de programas en microprocesadores .


 Almacenamiento de tabla de valores de gran numero de
variables .
 Almacenamiento portátil (Flash Drives) .
 No recomendadas para la generación de funciones lógicas,
aplicación en la que son preferibles las PALCE/GAL, que
tienen menos conexiones programables, más entradas y
más alternativas en su configuración .
Ing. Daniel Acerbi © - 2019 160

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

La matriz programable “memoriza” la tabla de verdad


No requiere ninguna minimización previa porque implementa
directamente la suma de minitérminos

Ing. Daniel Acerbi © - 2019 161

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

Ing. Daniel Acerbi © - 2019 164

82
Códigos de identificación

Ing. Daniel Acerbi © - 2019 165

Tamaños típicos de las EPROM


 Encapsulados DIP de 28 patas

Ing. Daniel Acerbi © - 2019 166

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.

Ing. Daniel Acerbi © - 2019 168

84
ROM de 128 X 1
Arreglo de
128 bits

Ing. Daniel Acerbi © - 2019 169

ROM 32K X 8

Ing. Daniel Acerbi © - 2019 170

85
Decodificación de Direcciones y habilitación de un banco de ROM en
un sistema con microprocesadores

Con los bits mas


significativos del
bus de
direcciones, se
seleccionan las
memorias

Ing. Daniel Acerbi © - 2019 171

Expansión de memorias PROM


 La expansión de memorias es un tema muy
importante dentro de las Técnicas Digitales.
 Las técnicas de expansión son tanto para memoras
PROM como para Memorias RAM. Solo varia el
tratamiento de los buses de control.
 Las memorias se expanden con los mismos principios
que los decodificadores.
 Estudiaremos varios circuitos partiendo de una
memoria de 1 K x 8 bits. Memoria que tiene 10 hilos
(A9 - A0) en su Bus de Direcciones (1024 posiciones
de memoria) y 8 hilos en su Bus de Datos (D7 - D0);
entrada de habilitación /CS (negada) y /OE salida
activa baja 3-estados .
Ing. Daniel Acerbi © - 2019 172

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

Memoria de 1K por 16 bits


 Partiremos de una memoria de 1K x 8 bits.
 Ambos bancos (dos) se habilitan a la vez (/CS y /OE).
 Ambas memorias trabajan en paralelo.
 Una de las memorias de 1K x 8 bits aportará la parte baja del dato de 16 bits
y la otra la parte alta.
Bus de Direcciones 1K x 8b

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

Alta (8 bits) Baja (8 bits) 1024 posiciones de


memoria (A9 : A0) de
Bus de Direcciones = 10 bits Total = 16 bits 16 bits (D15 : D0)
Bus de datos 16 bits
Ing. Daniel Acerbi © - 2019 174

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 Direcciones /OE 0


8 4
Bajo B3 : A0

A10 2048 posiciones de


11 4 C
memoria (A9 : A0) de
4 bits (D3 : D0)

Bus de Direcciones = 11 bits A10 = 1 Bajo


A10(4=bits)
0

Bus de datos 4 bits Alto (4 bits) Bajo (4 bits)


175
Dato Total = 8 bits

Descripción de Memoria ROM


 Describiremos una ROM de 8X8, que no posee señal
de reloj ni entrada de programación.
 Utilizaremos la función GENERIC para poder
describir una ROM genérica.
 El diagrama de la ROM es el siguiente:

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

Bits por palabras


Cantidad de bits del Bus
de DireccionesPalabras en
la memoria

Ing. Daniel Acerbi © - 2019 177

Architecture de la ROM 8X8


 En la Arquitectura describo los datos almacenados en la
ROM, si la ROM es grande este procedimiento es tedioso.
 Para describir la ROM se puede utilizar un array de valores
bidimensional constantes (CONSTANT) .
 Primero definimos un TYPE llamado tabla; el cual se usa en
la declaración de la CONSTANT llamada memory.

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

Simulación Temporal ROM 8X8

Vuelven a aparecer un Glich de Td min = 6,2 ns


0,9 ns aprox......Porque será...?
td max = 7,3 ns

Ing. Daniel Acerbi © - 2019 180

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

Descripción del ejemplo en VHDL

Ing. Daniel Acerbi © - 2019 182

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.

Ing. Daniel Acerbi © - 2019 184

92
Display de LEDS
 Hay 2 tipos de configuraciones comerciales:
– Anodo Común
– Cátodo Común

Ing. Daniel Acerbi © - 2019 185

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.

Ing. Daniel Acerbi © - 2019 188

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.

Ing. Daniel Acerbi © - 2019 190

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 )

millares centenas decenas unidades décimas centésimas milésimas diezmilésimas


decod/exc decod/exc decod/exc decod/exc decod/exc decod/exc decod/exc decod/exc

RBI RBO RBI RBO RBI RBO RBI RBO RBI RBO RBI RBO RBI RBO RBI RBO
1 0 1

RBI=1- Apaga Si RBI=1 y RBI=1- Apaga


el dígito si entra un “0”, el dígito si
entra un “0” RBO=1 Ing. Daniel Acerbi © - 2019 entra un “0” 191

Universidad Nacional de Moreno

Displays de Cristal Líquido

Ing. Daniel Acerbi © - 2019 192

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 .

Ing. Daniel Acerbi © - 2019 193

Displays de Cristal Líquido (LCD)


 El Display de cristal líquido tiene la gran ventaja de ofrecer un
requerimiento menor de potencia que el LED.
 El valor de esta cantidad de potencia para dicho LCD se
encuentra en el orden de microwatts, en comparación con el
orden de miliwatts correspondiente al LED.
 Sin embargo, esto requiere una fuente luminosa externa o
interna, a una temperatura entre 0º C y 60° C cuyo valor
requiere atención para evitar que los LCD se degraden
químicamente.
 Un cristal líquido es un material (por lo general orgánico para
los LCD) que fluirá como un líquido, pero cuya estructura
molecular tiene algunas propiedades que se asocian
normalmente a los sólidos.

Ing. Daniel Acerbi © - 2019 194

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

 La superficie conductora de óxido de indio es transparente y,


en las condiciones indicadas en la figura, la luz incidente
simplemente atravesará y la estructura del cristal líquido
aparecerá clara. No se forma ninguna imagen

Ing. Daniel Acerbi © - 2019 195

Displays de Cristal Líquido (LCD) [3]


 Si se aplica una tensión 6 y 20 V entre las superficies conductoras,
como se muestra en la figura, el arreglo molecular se distorsiona,
con el resultado de que se establecerán las regiones con diferentes
índices de refracción.
Con polarización
Se forma imagen

 Por tanto, la luz incidente se refleja en diferentes direcciones en la


interfaz entre las regiones de índice de refracción distintas (lo que
se conoce como dispersión dinámica, con el resultado de que la luz
dispersada tiene la apariencia de un vidrio opaco.
 No obstante, nótese en la figura que el aspecto opaco ocurre solo
donde las superficies de conducción se oponen una a la otra y que
el resto de las áreas permanecen traslúcidas.
Ing. Daniel Acerbi © - 2019 196

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

Esquema constructivo de un display de


7 segmentos - Básico

Ing. Daniel Acerbi © - 2019 198

99
Resumen

Ing. Daniel Acerbi © - 2019 199

Generalidades de los Displays de LCD


 Los displays LCD ( Liquid Crystal Devise ) son visualizadores
pasivos, esto significa que no emiten luz como el visualizador
o display alfanumérico hecho a base de un arreglo de diodos
LEDs.
 El LCD tiene muy bajo consumo de energía si se lo compara
con el display a LEDs y son compatibles con la tecnología
CMOS, esta característica permite que se los utilice en
equipos portátiles (ejemplo: los relojes de pulsera,
calculadoras, etc.).
 Tiene una vida aproximada de 50.000 horas. Hay diferentes
tipos de presentaciones y son muy fáciles de configurar.
 Presentan mayor dificultad en la implementación con
respecto al display de LEDs .
 Hay desde visualizadores comunes de 7 segmentos, hasta
una matriz de puntos, todos ellos muy delgados. Estos
dispositivos se ven en Técnicas Digitales II y III.
Ing. Daniel Acerbi © - 2019 200

100
Esquema de un display real
Switch=‘0’
segmentos
apagados
SW=‘1’
segmentos
encendidos

BP

Señales en fase - No se genera campo Señales en contra fase - Se genera


eléctrico entre el segmento y el BP campo eléctrico entre el segmento y el
BP y se visualiza la imagen del
segmento
Ing. Daniel Acerbi © - 2019 201

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 .

Ing. Daniel Acerbi © - 2019 202

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

 Display con backlit. No depende de la luz


ambiente. Display de computadoras y LCD .

 Display con backlit; donde se combinan luz


posterior y luz ambiente

Ing. Daniel Acerbi © - 2019 203

Esquema básico de conexionado mediante un


controlador de display de LCD

En el circuito excitador de LCD, el terminal común de plano posterior


BP (Back Plane) del display y los terminales de la fase de entrada del
circuito integrado tienen que ser excitados por una onda cuadrada
simétrica (generalmente de 30 Hz a 200 Hz), que cambia entre las dos
tensiones de alimentación (OV y V+), dependiendo del tipo de display .

Ing. Daniel Acerbi © - 2019 204

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

Ing. Daniel Acerbi © - 2019 206

103
Diagrama Lógico
1

BCD
Natural

LCD

Vcc

Ing. Daniel Acerbi © - 2019 207

Universidad Nacional de Moreno

Fin de la presentación
Circuitos Combinacionales
con Integrados de MSI

104

Potrebbero piacerti anche