0% encontró este documento útil (0 votos)
136 vistas69 páginas

Unidad 2

1) Los sistemas secuenciales difieren de los combinacionales porque el estado de las salidas depende no solo de las entradas actuales sino también del estado previo. 2) Los decodificadores transforman códigos sin prioridad en códigos con prioridad para que solo se active una salida. 3) Los decodificadores BCD a 7 segmentos controlan displays digitales mostrando números mediante la activación de segmentos específicos para cada código BCD de entrada.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
136 vistas69 páginas

Unidad 2

1) Los sistemas secuenciales difieren de los combinacionales porque el estado de las salidas depende no solo de las entradas actuales sino también del estado previo. 2) Los decodificadores transforman códigos sin prioridad en códigos con prioridad para que solo se active una salida. 3) Los decodificadores BCD a 7 segmentos controlan displays digitales mostrando números mediante la activación de segmentos específicos para cada código BCD de entrada.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 69

Lógica Digital para la Manufactura

Unidad 2. Sistemas digitales secuenciales.

2.1 Circuitos lógicos secuenciales


A diferencia de los sistemas combinacionales, en los sistemas
secuenciales, los valores de las salidas, en un momento dado, no
dependen exclusivamente de los valores de las entradas en dicho
momento, sino también dependen del estado anterior o estado interno

Codificador, decodificador.

Son sistemas combinacionales con 2n entradas y n salidas que se


encargan de transformar una serie de señales sin codificar en un
conjunto que responda a un código.

Codificadores sin prioridad

Su cometido es la generación de un número binario sobre sus n salidas


que identifique cuál de las entradas está activadas (ver siguiente
figura).

Figura 2.1. Decodificador sin prioridad.

Como no hay nada que impida el que se activen simultáneamente


varias líneas de entrada de un codificador, los circuitos codificadores
se diseñan normalmente para que respondan a una sola señal de
entrada activa, dando lugar a los codificadores con prioridad.

El codificador de la figura anterior corresponde a un codificador de


octal a binario sin prioridad, cuya tabla de verdad es la siguiente:
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

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

Figura 2.2. Decodificador sin prioridad.

Las funciones lógicas para las salidas, a partir de la tabla de verdad


anterior y entrada ENABLE (E) para activar la entrada cuando vale 1 o
inhibirla cuando vale 0, quedan:

A2 = ( B4 +B5 + B6 + B7 ) E
A1 = ( B2 +B3 + B6 + B7 ) E
A0 = ( B1 +B3 + B5 + B7 ) E

Siendo la función lógica: F = (B0 + B1 + B2 +B3 + B4 + B5+ B6 + B7 ) E,


una señal de salida especial que se activa cuando todas las señales
de entrada son nulas y E=1.

Codificadores con prioridad

Para obtener codificadores que respondan a una sola señal de entrada


activa, se le asigna valores fijos de prioridad a las líneas de entrada,
de forma que en cada instante sólo se genera el código de salida de la
entrada activa que tenga la máxima prioridad.
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.3. Símbolo de un codificador 74148 con prioridad de 8 líneas a 3 líneas

Por tanto, en la salida del codificador aparecerá el mayor número i, tal


que Bi esté activada (si hemos impuesto en el diseño el criterio de
prioridad a la entrada más alta).

La EI (negada) es la señal ENABLE, las Ii (negadas) entradas, Ai


(negadas) salidas, EO (negada) señal de salida especial que se activa
cuando todas las señales de entrada son nulas y GS (negada) señal
de grupo que se activa cuando EI (negada) = L y hay petición de
servicio.

El codificador 74148 se trata de un codificador con prioridad cuyas


entradas y salidas son activas a nivel bajo. Esto significa que las
entradas se activan con ceros lógicos y las salidas aparecen
complementadas. Una entrada o salida activa a nivel bajo se simboliza
en los diagramas lógicos, en lógica positiva, insertando un pequeño
círculo. También se suele indicar que la línea es activa a nivel bajo
poniendo la correspondiente negada.

Figura 2.4. Entradas negadas.


Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

El decodificador es un dispositivo que acepta una entrada digital


codificada en binario y activa una salida.
Este dispositivo tiene varias salidas, y se activará aquella que
establezca el código aplicado a la entrada.
Con un código de n bits se pueden encontrar 2 n posibles
combinaciones. Si se tienen 3 bits (3 entradas) serán posibles 2 3 = 8
combinaciones.
Una combinación en particular activará sólo una salida.
Por ejemplo: Para activar la salida Q2 hay que poner en la entrada el
equivalente al número 2 en binario (102).
En un decodificador de 2 a 4 (se tienen 2 pines o patitas de entrada y
4 pines o patitas de salida). En la entrada se pone el código en binario
(00, 01, 10, 11), que hará que se active sólo una salida de las cuatro
posibles.
Ver en el siguiente diagrama una representación de un decodificador
de 2 a 4

Figura 2.5. Decodificador de 2 a 4.

Observando con atención el gráfico se puede ver que en la entrada


E y en todas las salidas Q, hay una pequeña esfera o bolita. Esta
esfera indica que la entrada (en el caso de E) y las salidas, son
activas en bajo. Con esto se quiere decir que cuando se pone A0 = 0
y A1 = 0 y estamos escogiendo la salida Q0, ésta tendrá un nivel de
tensión bajo, mientras que todas las otras salidas (Q1, Q2 y Q3)
estarán en nivel alto.
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

De igual manera cuando la entrada E está en nivel bajo (activo en


bajo), el decodificador está habilitado. Si está en nivel alto, el
decodificador está inhabilitado y ninguna entrada en A0 y A1 tendrá
efecto. Ver la tabla de verdad siguiente:

Tabla de verdad es

Entradas Salidas

E A0 A1 Q0 Q1 Q2 Q3

1 X X 1 1 1 1

0 0 0 0 1 1 1

0 0 1 1 0 1 1

0 1 0 1 1 0 1

0 1 1 1 1 1 0

Figura 2.6. Tabla de verdad del decodificador de 2 a 4.

También existen decodificadores de 3 a 8 ( 3 entradas a 8 salidas),


de 4 a 16 (4 entradas a 16 salidas), etc.

Montaje de un circuito de control de display con


decodificador BCD 7 segmentos.
Muchas presentaciones numéricas en dispositivos de visualización
utilizan una configuración de siete segmentos para formar los
caracteres decimales de 0 a 9 y en ocasiones caracteres
hexadecimales de A a F. En un display cada segmento este hecho de
un material que emite luz cuando pasa corriente a través de él.

Los materiales que se utilizan más comúnmente incluyen diodos


emisores de luz (LED).
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.7. Display de 7 segmentos

Para controlar el encendido de un display y representar números se


utiliza un decodificador de BCD a siete segmentos. Con este circuito
integrado se utiliza una entrada BCD de cuatro bits y este proporciona
salidas que entregarán corriente a cada uno de los segmentos para de
esta manera representar el dígito decimal. Cada salida destinada a
cada uno de los segmentos del display es activada para más de una
combinación de entradas. Por ejemplo, el segmento e debe ser
activado para cualquiera de los dígitos 0, 2, 6 y 8, lo cual significa
cuando cualquiera de los códigos 0000, 0010, 0110 o bien 1000 ocurra.

La figura 2.8 muestra un decodificador de BCD a siete segmentos


(TTL 7446 o 7447) que se utiliza para manejar un display LED de siete
segmentos. Cada segmento consta de un LED. Al tratarse de un
display de ánodo común, los ánodos de los LED están todos unidos
a Vcc (+5 V). Los cátodos de los LED están conectados a través de
resistencias limitadoras de corriente a las salidas adecuadas del
decodificador. Las salidas de este son activas a nivel BAJO, por lo
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

que son transistores conectados en colector abierto que pueden


soportar una corriente más elevada que lo que habitualmente es capaz
de manejar un circuito con tecnología TTL. Esto es necesario ya que
en el manejo de displays a LED pueden requerirse 10mA por cada
segmento.

Figura 2.8. Conexión del display de 7 segmentos y decodificador de BCD a siete


segmentos.

Para ilustrar la operación de este circuito, supongamos que la entrada


BCD es A=1, B=0, C=1, D=0, que es el código binario BCD
correspondiente al número 5. Con estas entradas las salidas
correspondientes del decodificador serán llevadas al estado BAJO,
permitiendo que fluya corriente a través de los segmentos LED a, f, g,
c y d, presentando con esto el número 5. El resto de las salidas estarán
a nivel ALTO; así que los segmentos b y e no encienden.

Los decodificadores 7446 y 7447 están diseñados para activar


segmentos específicos aun de códigos de entrada mayores de 1001
(9). La Figura (b) muestra que segmentos son activados para cada uno
de los códigos de entrada de 0000 a 1111. Un código de entrada de
1111 borrará todos lodos los segmentos.
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

El esquema que se utiliza en la figura utiliza un display de tipo ánodo


común donde los cátodos de cada segmento se deben conectar a
nivel bajo para conseguir iluminarlos.

Este tipo de display tiene que ser manejado por un decodificador de


datos BCD a siete segmentos con salidas activas en BAJO, que
aplique un voltaje BAJO a los ánodos de aquellos segmentos que
vayan a ser activados.

Las condiciones normales de operación para cada segmento de un


display LED, son 10mA a 2.7V. Para conocer el valor de la resistencia
limitadora de corriente necesaria para producir una corriente
aproximadamente igual a 10mA para cada segmento:

Se puede utilizar una resistencia de valor estándar próximo, eligiendo


por tanto una resistencia de 220Ω.

Multiplexor, demultiplexor.
El multiplexor (MUX) es un circuito combinacional que tiene varios
canales de datos de entrada y un canal de salida. Sólo un canal de la
entrada pasará a la salida y este será el que haya sido escogido
mediante unas señales de control.

Ejemplo: Si utiliza un MUX de 4 canales de entrada. Una de los cuatro


canales de entrada será escogido para pasar a la salida y esto se
logra con ayuda de las señales de control o selección. La cantidad de
líneas de control que debe de tener el multiplexador depende del
número de canales de entrada. En este caso, se utiliza la siguiente
fórmula:

Número de canales de entrada =2n donde n es el número de


líneas de selección.

Para un MUX de 4 canales de entrada, n = 2

Si la cantidad de canales de entrada fuese 8, las líneas de control


serían 3. La fórmula: 8 = 2n, n = 3
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Si la cantidad de canales de entrada fuese 16, las líneas de control


serían 4. La fórmula: 16 = 2n, n = 4

Si sólo hay 6 canales de entrada, se utiliza un MUX de 3 líneas de


control, (don dos líneas de control no es suficiente, pues solo llega
hasta 4)

Si hubiesen 13 canales de entrada se utiliza un MUX de 4 líneas

Si hubiesen sólo 2 canales de entrada, sería necesario un MUX con


una línea de selección.

Normalmente se utilizan multiplexores con canales de entrada y


salida de 1 bit. Si se desea lograr canales de dos bits o más, se ponen
a trabajar multiplexores en paralelo.

¿Cómo funcionan las líneas de selección para escoger que canal


de entrada pasa a la salida?

Figura 2.9. Multiplexor 1 entrada de selección.

Para un MUX de dos entradas (dos canales de un solo bit), la única


entrada de selección, puede tener 2 n = 2 posibles valores (n = 1)

 Con la entrada en "0" se escoge el primer canal de entrada


(canal 0) y lo pasa a la salida

Con la entrada en "1" se escoge el segundo canal de entrada
(canal 1) y lo pasa a la salida
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.10. Multiplexor 2 entradas de selección

Para un MUX de 4 entradas, son necesarias 2 líneas de selección


para lograr direccionar las 4 entradas. Las combinaciones serían:

00 para la primera entrada (entrada 0)


01 para la segunda entrada (entrada 1)
10 para la tercera entrada (entrada 2)
11 para la cuarta entrada (entrada 3)

Como se puede observar, las líneas de selección, representan el


número en binario que escoge la entrada que pasará a la salida.

Figura 2.11. Multiplexor 2 entradas de selección con 2 salidas.

En un multiplexor de 4 canales de entrada de dos bits. Cada canal


de entrada tiene 2 bits (A0 - A1, B0 - B1, C0 - C1 y D0 - D1) y el canal
de salida también tienen 2 bits (Q0, Q1). (ver el gráfico de la derecha)

Las entradas de selección son siempre 2. (S1 y S0). En este caso


Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

cada vez que se selecciona una entrada, se deja pasar un canal (2


bits) a la salida (también de 2 bits)

Este multiplexor se puede implementar con dos multiplexadores de 4


canales de un bit cada uno conectados en paralelo. El multiplexador
"0" tienen las entradas X0 y la salida Q0 y el multiplexador "1" tiene
las entradas X1 y la salida Q1 donde X puede ser A, B, C o D. Las
entradas de selección S1 y S0 son comunes a ambos
multiplexadores.

Latch.

Los latches a diferencia de los Flip-Flop no necesitan una señal de reloj


para su funcionamiento.

RS

Un RS llamado algunas veces un "set-reset" flip-flop, es un circuito con


dos entradas y dos salidas. Las salidas son complementos entre sí, o
sea que, cuando la una esté en alto, la otra estará en bajo. Deriva su
nombre del hecho de poder quitar (reset) y poner (set) el estado alto
en la salida Q. cuando se aplique un pulso en cada una de las dos
entradas: un pulso alto en la entrada S (set) quita, "borra", el pulso alto
puesto en anterioridad en Q. En la práctica la polaridad del pulso de
manejo dependerá del tipo de compuertas con las cuales se haya
implementado el RS flip-flop, tal como se puede observar en la figura
5.35.

Figura 2.12. Flip-Flop RS

De las tablas de verdad podemos deducir su funcionamiento teniendo


en cuenta que, cuando Q tiene lógica 1, el flip-flop se considera "set"
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

(puesto), y cuando Q tiene lógica 0 es porque el flop-flop está "reset"


(cleared, borrado). Las dos salidas Q y no-Q son simétricas(iguales)
en lo que a características eléctricas se refiere, por lo que, de acuerdo
con las circunstancias, se podrá tomar una u otra como tal.

Flip – Flop.

A diferencia de los circuitos lógicos combinacionales, los circuitos


secuenciales tiene memoria; pueden reflejar en su salida el efecto de
una señal de entrada que hubo segundos o días antes.

Los circuitos AND, OR y NOT funcionan sin memoria. Por ejemplo, en


el caso del circuito AND, una salida lógica 1 es obtenida únicamente
durante el tiempo que todas las entradas estén simultáneamente en
lógica 1. Si cada entrada pasa por lógica 1 de una manera secuencial,
no-simultánea, la salida permanecerá aquí la necesidad en lógica 0.
De de un circuito electrónico que se pueda colocar en uno cualquiera
de los dos estados lógicos indefinidamente, hasta que sea
intencionalmente pasado al estado contrario. Tal circuito es conocido
como BIESTABLE, o simplemente FLIP-FLOP. El biestable, en efecto,
provee una memoria, ya que puede "recordar" el último estado en el
que había sido colocado
.
Los circuitos flip-flops desempeñan un papel muy importante en la
electrónica digital. Ellos son usados para medir frecuencia, computar
el tiempo, dividir trenes de pulsos por una constante fija, generar
señales en secuencia, memorización de registros(words), etc. Aunque
hay muchas clases de flip-flop, todos ellos tienen por fin primordial
almacenar un bit binario, representado por un estado eléctrico alto o
bajo.

FLIP-FLOP RS

El flip-flop RS básico es "asynchronous" (no-sincronizado), responde a


las entradas tan pronto como ellas ocurren; muestra cambios en la
salida cada que se presentan cambios en Set y Reset. En ciertos
procesos se requiere "to-synchronize" (sincronizar) la operación del RS
flip-flop, de tal manera que sólo se produzcan cambios en la salida
cuando se cumpla cierto requisito anterior. En caso contrario, las
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

acciones se SET y RESET no deben alterar la salida Q. Una manera


de sincronizar la operación de un RS Flip-Flop con otros circuitos
lógicos, es colocar una compuerta a cada entrada, de tal forma que
ellas respondan a S y R solamente cuando sean "habilitadas"
(capacitadas) por un lógico 1 (nivel alto) procedente de un CLOCK. (un
clock es un circuito secuencial generador de un tren de pulsos, "ceros"
y "unos" de manera alternada). La figura 5.15 muestra un clocked Rs
flip-flop (controlado, no sincronizado).

Figura 2.13. Flip-Flop RS controlado por reloj.

Contadores (ascendentes y descendentes).

Los contadores son sistemas secuenciales con una entrada de


impulsos y cuyo estado interno, en cada instante, representa el número
de impulsos que se han aplicado.
El número de estados internos ha de ser igual al máximo número de
impulsos que se desea contar más uno. Este número será el estado
inicial que indicará la ausencia de impulsos.
Para la realización de los contadores se utilizan los biestables
sincronizados por flanco.
Contador binario asíncrono ascendente
Los contadores asíncronos fueron los primeros es ser integrados ya
que son los que necesitan el menor número de compuertas lógicas.
Constan de una serie de biestables conectados de tal forma que
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

pueden contar (contador ascendente) o descontar (contador


descendente).
La figura 2.14 muestra un contador asíncrono ascendente, realizado
con 4 biestables J-K, con una capacidad de contaje de 15 binario en
binario.
En la figura 2.15 se muestra el cronograma de evolución en el tiempo.

Figura 2.14. Contador asíncrono ascendente.

Figura 2.15. Cronograma del contador asíncrono ascendente.


Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

En las figuras 2.16 y 2.17 se representan los símbolos lógicos


normalizados y no normalizados del contador asíncrono binario de 4
biestables.

El contador asíncrono posee, una entrada de puesta en cero (Reset)


activa con un uno lógico. Esta entrada se deberá colocar en el nivel de
cero lógico para que pueda realizarse el contaje.

Figura 2.16 Símbolo no normalizado del contador asíncrono de cuatro biestables.

Figura 2.17. Símbolo normalizado del contador asíncrono de cuatro biestables.


Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Contador asíncrono descendente.


En la figura 2.18 se muestra un contador asíncrono descendente,
realizado con cuatro biestables J-K, con una capacidad de máxima 15
en binario. En la figura 2.19 se muestra su cronograma de evolución
de tiempo.

Figura 2.18. Contador asíncrono descendente.

En los biestables J-K, cuando están activas las dos entradas (J=1 y
K=1), cada vez que recibe una señal de reloj en el flanco activo, las
salidas cambiarán de valor. En el contador ascendente, al conectar las
entradas J y K de cada biestable a “1”, se conseguirá que éste cambie
de estado en cada una de las transiciones activas del reloj. La salida
de cada biestable está conectada a la entrada de reloj biestable
siguiente, que cambiará de estado cada dos impulsos del anterior. En
el contador descendente la salida d cada biestable se aplica a la
entrada de reloj del biestable siguiente invistiéndose así la secuencia
del código.
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.19. Cronograma o Diagrama de evolución temporal del contador asíncrono


descendente.

Contadores BCD
Los contadores BCD (decimal codificado en binario) puede ser
síncrono o asíncronos, tiene una capacidad máxima de contaje de 9 y
sólo se diferencian del binario natural en que se vuelva al estado 0 a
partir del 9 (BCD natural), o lo que es lo mismo, se activa el reset,
comenzando del nuevo conteo.

En la figura 2.20 se representa un contador asíncrono BCD natural. En


la figura 2.21 se muestra su cronograma de evolución en el tiempo.

Figura 2.20. Contador asíncrono BCD de 4 biestables.

Actividad Complementaria 1. Realiza de forma correcta el


cronograma o diagrama de evolución temporal del contador asíncrono
BCD de cuatro biestables.
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.21. Cronograma o Diagrama de evolución temporal del contador asíncrono


BCD de cuatro biestables.

Los contadores BCD son de gran importancia debido a que son muy
utilizados en calculadoras y ordenadores.

Contadores Síncronos
Los contadores síncronos son similares a los contadores asíncronos,
con la diferencia de que la señal de reloj se aplica simultáneamente a
las entradas de reloj de todos los biestables.

En la figura 2.22 se muestra un contador síncrono ascendente,


realizado con cuatro biestables J-K, con una capacidad máxima de
contaje de 15 en binario natural. En este tipo de contador, las entradas
JK de cada biestable están conectadas a las salidas Q de todos los
biestables anteriores por medio de una puerta AND, excepto el primero
donde J=K=1.

Figura 2.22. Contador síncrono ascendente.

En las figuras 2.23 y 2.24 se representan los símbolos lógicos


normalizados y no normalizados del contador síncrono.
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.23. Símbolo no Normalizado contador síncrono de 4 biestables.

Según se encuentre la entrada de modo de funcionamiento, hará que


los impulsos aplicados a T introduzcan en paralelo la información o que
realice el contaje.

Figura 2.24. Símbolo Normalizado contador síncrono de 4 biestables.

Registros (almacenamiento y desplazamiento).

Un registro de corrimiento es un circuito secuencial síncrono capaz de


contractar varios bits de información. El formato de esta información
puede ser de dos tipos:
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

 Serie: los bits se transfieren uno a continuación del otro por


una misma línea.
 Paralelo: se intercambian todos los bits al mismo tiempo,
utilizando un número de líneas de transferencia igual al
número de bits.

Registros con entrada serie y salida serie


A continuación se muestra un registro de desplazamiento con entrada
y salida en serie de 5 bits formado con biestables maestro esclavo RS:

Observamos que la entrada S del primer biestable está conectado a la


entrada y está negada a la entrada R. Con esto se consigue que,
cuando en la entrada haya un 1, el primer biestable contendrá un 1
(Q=1, Q’=0) y los demás un 0. Con la siguiente señal de reloj el bit
almacenado en el primer biestable se desplazará al siguiente y así uno
tras otro hasta la salida en serie. Esto sucede así porque la salida Q
está conectada a la S del siguiente biestable. También podemos
observar que los biestables nunca pueden estar en estado de
mantenimiento o en estado prohibido, ya que la entrada enserie pasa
afirmada a la S y negada a la R.

Figura 2.215. Registro de desplazamiento con entrada y salida en serie de 5 bits.

Los registros de desplazamiento se implementan con biestables


maestro – esclavo, pues son capaces de almacenar la información un
flanco, y transmitirla durante el siguiente.

Cuando el registro se efectúa de izquierda a derecha se denomina


desplazamiento hacia la derecha. Si el registro combina ambos tipos
se llama bidireccional.
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Registros con entrada serie y salida paralelo

La estructura de un registro serie paralelo es muy similar a la de un


registro con entrada y salidas en serie:

Figura 2.26. Registro de desplazamiento serie/paralelo de 5 bits.

Observamos que la única diferencia es que se le añade una salida a


cada una de las salidas Q del biestable: de esta manera se pueden
obtener todos los datos a la vez. Por otro lado, también se puede
obtener una salida en serie de cualquier salida Q o Q’.

Habitualmente se suele añadir una entrada de puesta a cero asíncrona


(CLEAR) cuya función es inicializar el registro.

En último lugar destacar que estos registros se suelen utilizar para el


cambio de una palabra de serie a paralelo.

Registros con entrada paralelo y salida serie

A continuación, se muestra un esquema de un registro con entrada


paralelo y salida serie y carga asíncrona.

El funcionamiento es el siguiente: cuando en la entrada de selección


desplazamiento /carga’ hay un 0 se realiza la carga. Con el inversor
este cero se convierte en un 1 y por lo tanto las puertas NAND que hay
arriba y debajo de los biestables se convierten en inversores.

A continuación, se introducen los datos: en el bit que haya un 1, se


activa el Preset, y en el que haya un cero, se activa el Clear.
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Para el desplazamiento se coloca un 1 en D/C’ de esta manera se


consigue que nunca se activan las entradas ni PR ni CL, ya que de las
puertas NAND siempre saldrá un 1. El desplazamiento se realiza como
en un registro serie-serie.

Figura 2.27. Registro de desplazamiento paralelo /serie de 5 bits.

A continuación, se muestra un registro con carga paralelo y salida


serie, pero en este caso la carga es síncrono, ya que se carga por las
entradas síncronas

Figura 2.28. Registro de desplazamiento paralelo /serie de 5 bits con carga síncrona.

Observamos que esto se consigue con un multiplexor de dos canales


gobernado por DESPLAZAMIENTO/ CARGA’. Con esto se consigue
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

que, si se quiere cargar los datos, se activan las entradas en paralelo


que van cada una a las entradas S R. Para obtener los datos se tiene
que realizar la entrada serie.

En conclusión, podemos observar que la función del multiplexor es


elegir entre la carga en serie o en paralelo.

Registro de entrada y salida en paralelo

Como se puede ver, se ha creado un registro de entrada y salida


paralelo a partir de biestables D con entrada de habilitación. La entrada
de datos es cada una de las entradas D del biestable; la entrada de
habilitación se une a una entrada de habilitación global, de manera que
cuando se activa, permite que se lean los datos. Hay otra entrada
(control de salida) que al activarse permite que se lean las salidas. Aquí
hemos utilizado puertas AND, aunque también podríamos haber
utilizados puertas OR y un inversor, o también buffers con entradas de
alta impedancia.

Figura 2.29. Registro de desplazamiento paralelo / paralelo.


Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

2.2. Sistemas digitales por dispositivos


lógicos programables.
La lógica programable, como el nombre implica, es una familia de
componentes que contienen conjuntos de elementos lógicos (AND,
OR, NOT, LATCH, FLIP-FLOP) que pueden configurarse en cualquier
función lógica que el usuario desee y que el componente soporte. Hay
varias clases de dispositivos lógicos programables: ASICs, FPGAs,
PLAs, PROMs, PALs, GALs, y PLDs complejos.

Arreglos Lógicos programables.

Lógica en un arreglo programable (PAL)

La arquitectura PROM es muy apropiada donde se requiere cualquier


combinación de las entradas para generar las salidas. Ejemplos de
esto son los convertidores de código y las tablas para almacenar
datos. Sin embargo, existen muchas aplicaciones que no requieren
que todas las combinaciones de las entradas sean programables. Por
ejemplo, las funciones lógicas de la figura 2.30 no utilizan todas las
líneas de producto AND disponibles. Esto ha conducido al desarrollo
de una clase de PLDs denominada lógica en un arreglo programable
(PAL). La arquitectura de una PAL es un poco diferente de la de una
PROM, como lo ilustra la figura 2.30 (a).

La PAL tiene los mismos arreglos AND y OR que las PROMs, pero
en la PAL son programables las entradas de las compuertas AND
mientras que las de las compuertas OR son alambradas. Esto
significa que se puede programar cualquier compuerta AND para
generar cualquier producto deseado de las cuatro variables de
entrada junto con sus respectivos complementos. Cada compuerta
OR esta alambrada solo con cuatro salidas AND. Esto limita cada
función de salida a cuatro términos del tipo producto. Si se requiere
de una función que contenga más de cuatro términos de esta clase,
no es posible implantarla con esta PAL; para ello se tiene que utilizar
una que tenga más entradas OR. Si se requieren menos de cuatro
términos del tipo producto, los no necesarios se pueden hacer cero.

24
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

La figura 2.30 (b) muestra la forma en que se programa esta PAL para
generar cuatro funciones lógicas específicas. Aquí se seguirá el
procedimiento correspondiente a la salida O3 =AB + CD + 0 + 0. El
primer paso es expresar esta salida como la suma lógica de cuatro
términos debido a que las compuertas OR tiene cuatro entradas. Esto
lo hacemos poniendo los ceros. Es así como:

O3 =AB + CD + 0 + 0

El siguiente paso es determinar cómo programar las entradas de las


compuertas AND l,2,3 y 4 de forma que estas proporcionen los
productos lógicos correctos para la compuerta OR número tres. Esto
se hace término por término. El primero de ellos, AB, se obtiene
dejando intactas las conexiones fusibles que conectan las entradas A
y B con la compuerta AND número uno, y quemando las demás
conexiones fusibles que se encuentran sobre esa línea. Del mismo
modo se obtiene el término CD, sólo que en este caso se dejan
intactas únicamente las conexiones fusibles que conectan las
entradas C y D a la compuerta AND número 2. El tercer término es
cero. Se obtiene un nivel constante igual con cero en la salida de la
tercera compuerta AND dejando intactas todas las conexiones
fusibles de sus entradas. Esto genera una salida que es AABBCCDD,
la que, como ya sabemos, es cero. El cuarto término también es cero,
razón por la que también se dejan intactas las conexiones fusibles de
las entradas k la compuerta AND número 4.

Figura 2.30 (a) Arquitectura PAL típica; (b) la misma PAL programada
para obtener las funciones dadas.

Las entradas a las demás compuertas AND se programan de manera


similar para generar otras funciones lógicas de salida. En particular,
observe que las entradas de muchas de las compuertas AND tienen
todas sus conexiones fusibles intactas, debido a que es necesario
que dichas compuertas generen ceros.

25
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Un ejemplo de un circuito PAL real es el PAL18L8A de Texas


Instruments, Inc. Este circuito está fabricado con tecnología Schottky
de bajo consumo de potencia y tiene l0 entradas lógicas y 8 funciones
de salida. La salida de cada compuerta OR esta alambrada con las
salidas de siete compuertas AND; esto permite la generación de
funciones que incluyen hasta siete términos. Una característica
adicional de este PAL en particular es que seis de las ocho salidas son
retroalimentadas hacia el arreglo AND, donde pueden conectarse
como entradas hacia cualquier compuerta AND. Esto hace que el
dispositivo sea muy útil para generar todo tipo de lógica combinacional.

26
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Arreglos lógicos programables (PLAs) Una PLA combina las


características de la PROM y el PAL proporcionando tamo un arreglo
OR programable como un arreglo AND también programable. Esta
característica, ilustrada en la figura 2.31, lo convierte en el más versátil
de los tres tipos de PLDs. Sin embargo, presenta algunas desventajas.
Debido a que tiene dos conjuntos de conexiones fusibles, es más difícil
de fabricar, programar y probar que una PROM o un PAL.

Los PLAs también son conocidos como arreglos programables en


campo (FPLAs).

Figura 2.31. Arquitectura de un PLA que muestra tanto los arreglos AND como OR
programables que permiten obtener la máxima versatilidad del dispositivo.

27
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Un ejemplo de una FPLA real es el TIFPLA840 de Texas Instruments,


el cual está especificado como una FPLA de 14 x 32 x 6. Este
dispositivo tiene 14 variables como entradas, 32 compuertas AND para
generar los productos lógicos de las variables, y 6 compuertas OR que
pueden formar cualquier combinación de las 32 salidas AND.

Fusible de polaridad. Muchos PLDs incluyen una característica de


polaridad programable de salida que brinda al diseñador la opción de
invertir cualquiera de las salidas. Lo anterior se ilustra en la figura 2.32,
donde se ha añadido una compuerta EX-OR y una conexión fusible de
polaridad a la salida de la compuerta OR. La compuerta EX-OR actúa
como inversor controlado el cual invertirá o no dependiendo del estado
del fusible.

Cuando el fusible está intacto (0, lógico) la EX-OR la salida de la


compuerta OR sin invertirla; cuando el fusible está abierto (1, lógico) la
EX-OR invertirá la salida de la compuerta OR.

Conexión fusible intacta


O 3 = P1 + P 2 + P 3

Conexión fusible intacta

O3 = P1+ P2+ P3 = P1. P2. P3

Figura 2.31. Muchos PLDs incluyen una característica de polaridad programable que
proporciona la opción de invertir cualquiera de las funciones de salida.

Esta característica de salida programable está disponible en muchos


dispositivos PAL y FPLA, incluyendo el TIFPLA840 antes mencionado
y en el GAL16V8.
28
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Estructura básica de un PLD

Un dispositivo programable por el usuario es aquel que contiene una


arquitectura general predefinida en la que el usuario puede programar
el diseño final del dispositivo empleando un conjunto de herramientas
de desarrollo. Las arquitecturas generales pueden variar, pero
normalmente consisten en una o más matrices de puertas AND y OR
para implementar funciones lógicas. Muchos dispositivos también
contienen combinaciones de flip-flops y latches que pueden usarse
como elementos de almacenaje para entrada y salida de un dispositivo.
Los dispositivos más complejos contienen macrocélulas. Las
macrocélulas permite al usuario configurar el tipo de entradas y salidas
necesarias en el diseño.

La figura 2.31 ilustra la idea básica utilizada por todos los CIs
programable. Esta muestra un arreglo de compuertas AND y otro de
compuertas OR que se pueden conectar entre sí para generar cuatro
salidas, cada una de las cuales puede ser cualquier función lógica de
las dos variables de entrada A y B.

Figura 2.32 Ejemplo de un dispositivo lógico programable

29
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Cada entrada alimenta dos buffers, uno no inversor y otro inversor para
producir la formas verdadera y negada de cada variable. Estas son las
líneas de entrada hacia el arreglo de compuertas AND. Cada
compuerta AND está conectada a dos líneas de entrada diferentes, lo
que permite generar el producto único de las variables de entrada. Las
salidas de las compuertas AND se llaman las Líneas producto.

Cada una de las líneas producto está conectada, mediante una


conexión fusible, a una de las cuatro entradas que tiene cada
compuerta OR. Cuando todas las conexiones iniciales están intactas,
la salida de cada compuerta OR será un 1 constante. He aquí la
prueba:

O1= AB + AB+ AB + AB
= A(B + B) +A(B+ B)
=A+A=1

Cada una de las cuatro salidas Q1 Q2, Q3, y Q4, se puede programar
para obtener cualquier función de A y B mediante la interrupción de las
conexiones apropiadas de los fusibles. Los PLD están diseñados de
forma tal que una conexión fusible intacta en la entrada de cada OR
actúe como cero lógico. Por ejemplo, si se interrumpen las conexiones
fusibles 1 y 4 de la primera compuerta OR, la salida Q1, es:

O1= 0 + AB + AB + 0 = AB + AB

Se puede programar de manera similar cada salida de las demás


compuertas OR para obtener con ello cualquier función deseada. Una
vez que se han programado todas las salidas, el dispositivo generará
de manera permanente las funciones de salida seleccionadas.

Simbología del PLD. El ejemplo de la figura 2.32 solo tiene dos


variables de entrada y con ello el diagrama de circuito ya es bastante
denso. Usted se puede imaginar la complejidad del diagrama
correspondiente a un PLD que tiene una cantidad mayor de entradas.
Por esta razón, los fabricantes de este tipo de dispositivos han
adoptado una simbología simplificada para representar la circuiteria
interna de estos dispositivos.

30
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.33 Simbología simplificada para PLDs

La figura 2.33 muestra un ejemplo de la simbología empleada para una


compuerta AND con cuatro entradas. Primero, observe que los buffers
de entrada están representados por un solo buffer que tiene dos
salidas. Después, observe que solo se muestra una línea que va hacia
la compuerta AND para representar las cuatro entradas. Las
conexiones que vienen de las líneas de entrada para variables y que
van hacia la compuerta AND están señalada con una X o con un punto.
Una X representa una conexión fusible intacta.

Un punto representa una conexión alambrada (es decir, que no puede


cambiarse). La ausencia de cualquiera de estos símbolos significa que
no existe ninguna conexión. En este ejemplo, las entradas A y B están
conectadas a la compuerta AND con la finalidad de generar el producto
A B. Las entradas A y B no están conectadas a la compuerta AND (no
hay ninguna X o punto negro) por lo cual no tienen efecto en su salida.

Es importante entender, respecto de la simbología, que la compuerta


tiene cuatro entradas diferentes, aunque tan solo se muestre una línea.
Las entradas reales que se conectan con la compuerta ADN se
expresan en forma simbólica con las Xs y/o los puntos.

Arquitecturas del PLD—la PROM Existen varias arquitecturas


comunes utilizadas para los PLD. La primera que examinaremos es la
PROM. La figura 2.34(a) muestra una PROM de 16 X 4 que también
puede funcionar como un tipo de PLD. Tiene cuatro entradas que están
totalmente decodificadas por el arreglo de compuertas AND; esto es,
cada compuerta genera uno de los 16 posibles productos AND. Las

31
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

conexiones de las líneas de entrada hacia el arreglo AND están


alambradas, mientras que las conexiones de las líneas producto AND
hacia las entradas de las compuertas OR son programables.

La figura 2.34(b) muestra como programar la PROM para generar


cuatro funciones lógicas específicas. Aquí seguiremos el
procedimiento para la salida O3= AB + CD. El primer paso es dibujar
una tabla de verdad que muestre la salida deseada 0, para todas las
combinaciones de las entradas (Figura 2.35).

Después escriba los productos AND para aquellos casos donde la


salida es 1. La salida 0 es la suma OR de estos productos. De este
modo, quedaran intactas solo aquellas conexiones fusibles que
conectan dichos términos a las entradas de las compuertas OR 3. Las
demás entradas se interrumpen, tal como se muestra en la figura
2.34(b). Este mismo procedimiento es el que se sigue para determinar
el estado de las conexiones fusibles en las entradas de las demás
compuertas OR.

La PROM puede generar cualquier función lógica posible de las


variables de entrada debido a que genera todos los términos AND
posibles. En general, cualquier aplicación que requiere que se
encuentre disponible cualquier combinación de las entradas, es un
buen candidato para una PROM. Sin embargo, las PROMs se vuelven
pocas prácticas cuando se tiene que dar cabida a un gran número de
entradas, debido a que se duplica el número de conexiones fusibles
por cada variable que se añade.

Un ejemplo de una PROM real que se emplea con frecuencia como


PLD es la AM27S13, que es una PROM de 512 x 4 fabricada con
tecnologia Schottky TTL de alta velocidad. Dado que 512 = 29, esta
PROM tiene nueve entradas para las direcciones y cuatro para dar
salida a los dates. De este modo, la AM27S13 se puede programar
para generar cuatro salidas, siendo cada una de ellas cualquier función
lógica de las nueve diferentes entradas.

32
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.34 (a) La arquitectura de una PROM la hace adecuada para PLDs; (b) las
conexiones fusibles se funden para programar las salidas de las funciones lógicas
dadas.

33
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.35. Tabla figura 2.34

CLASES DE DISPOSITIVOS LÓGICOS PROGRAMABLES

La lógica programable, como el nombre implica, es una familia de


componentes que contienen conjuntos de elementos lógicos (AND,
OR, NOT, LATCH, FLIP-FLOP) que pueden configurarse en cualquier
función lógica que el usuario desee y que el componente soporte. Hay
varias clases de dispositivos lógicos programables: ASICs, FPGAs,
PLAs, PROMs, PALs, GALs, y PLDs complejos.

 ASIC

ASIC significa Circuitos Integrados de Aplicación Específica y son


dispositivos definibles por el usuario.

Los ASICs, al contrario que otros dispositivos, pueden contener


funciones analógicas, digitales, y combinaciones de ambas. En
general, son programables mediante máscara y no programables por
el usuario. Esto significa que los fabricantes configurarán el dispositivo
34
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

según las especificaciones del usuario. Se usan para combinar una


gran cantidad de funciones lógicas en un dispositivo. Sin embargo,
estos dispositivos tienen un costo inicial alto, por lo tanto se usan
principalmente cuando es necesario una gran cantidad.

 PROM

Las PROM son memorias programables de sólo lectura. Aunque el


nombre no implica la lógica programable, las PROM, son de hecho
lógicas. La arquitectura de la mayoría de las PROM consiste
generalmente en un número fijo de términos AND que alimenta una
matriz programable OR. Se usan principalmente para decodificar las
combinaciones de entrada en funciones de salida.

Figura 2.36. Estructura de una PROM

35
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.37. Estructura de una PROM

Las PROM son memorias programables de sólo lectura. Aunque el


nombre no implica la lógica programable, las PROM, son de hecho
lógicas. La arquitectura de la mayoría de las PROM consiste
generalmente en un número fijo de términos AND que alimenta una

36
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

matriz programable OR. Se usan principalmente para decodificar las


combinaciones de entrada en funciones de salida.

 PAL

Figura 2.38. Estructura de una PAL

37
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Las PAL son dispositivos de matriz programable. La arquitectura


interna consiste en términos AND programables que alimentan
términos OR fijos. Todas las entradas a la matriz pueden ser
combinadas mediante AND entre si, pero los términos AND específicos
se dedican a términos OR específicos. Las PAL tienen una arquitectura
muy popular y son probablemente el tipo de dispositivo programable
por usuario más empleado. Si un dispositivo contiene macrocélulas,
comúnmente tendrá una arquitectura PAL. Las macrocélulas típicas
pueden programarse como entradas, salidas, o entrada/salida (e/s)
usando una habilitación tri-estado. Normalmente tienen registros de
salida que pueden usarse o no conjuntamente con el pin de e/s
asociado. Otras macrocélulas tiene más de un registro, varios tipos de
retroalimentación en las matrices, y ocasionalmente realimentación
entre macrocélulas.

 GAL

Las GAL son dispositivos de matriz lógica genérica. Están diseñados


para emular muchas PAL pensadas para el uso de macrocélulas. Si un
usuario tiene un diseño que se implementa usando varias PAL
comunes, puede configurar varias de las mismas GAL para emular
cada de uno de los otros dispositivos. Esto reducirá el número de
dispositivos diferentes en existencia y aumenta la cantidad comprada.
Comúnmente, una cantidad grande del mismo dispositivo debería
rebajar el costo individual del dispositivo. Estos dispositivos también
son eléctricamente borrables, lo que los hace muy útiles para los
ingenieros de diseño.

 PLA

Las PLA son matrices lógicas programables. Estos dispositivos


contienen ambos términos AND y OR programables lo que permite a
cualquier término AND alimentar cualquier término OR. Las PLA
probablemente tienen la mayor flexibilidad frente a otros dispositivos
con respecto a la lógica funcional. Normalmente poseen
realimentación desde la matriz OR hacia la matriz AND que puede
usarse para implementar máquinas de estado asíncronas. La mayoría
de las máquinas de estado, sin embargo, se implementan como
máquinas síncronas. Con esta perspectiva, los fabricantes crearon un

38
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

tipo de PLA denominado Secuencial (Sequencer) que posee registros


de realimentación desde la salida de la matriz OR hacia la matriz AND.

Figura 2.39. Estructura de una PLA

 FPLA (Field Programmable Logic Array).

Es un PLD en el que se pueden programar las uniones en ambas


matrices. Son los dispositivos más flexibles, pero resultan penalizados
en tamaño y en velocidad debido a los transistores adicionales en la
matriz de puertas OR. Se utilizan fundamentalmente para construir
máquinas de estados. Para otras aplicaciones, las PAL resultan más
efectivas. Las PAL y las FPLA son sistemas combinacionales
incompletos porque teniendo n entradas, disponen de menos de 2 n
términos producto.

39
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.40. Estructura de una FPLA.

40
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

MÉTODOS DE PROGRAMACIÓN DE DISPOSITIVOS

Cuando los PLDs fueron introducidos por primera vez, el diseñador


lógico tema que desarrollar un mapa de conexiones fusibles que
mostraba las conexiones que debían quemarse y lo enviaba al
fabricante de la PROM, PAL o FPLA. El fabricante entonces
programaba el dispositivo de acuerdo con el mapa de conexiones, y lo
embarcaba de nuevo al diseñador.

Recientemente con la disponibilidad de equipo de programación de


relativo bajo costo se ha vuelto conveniente que los usuarios
programen sus propios PLD. En el mercado existen programadores
universales que pueden programar las PROM, PAL y FPLA más
comunes. El dispositivo que va a programarse se coloca en la base del
programador: este programa y prueba que el dispositivo este de
acuerdo con los datos que fueron proporcionados por el usuario.

La programación junto con los datos dc prueba se desarrollan


utilizando para ello "software" disponible en el mercado que se pueda
ejecutar en computadoras personales estándar. Al utilizar este
"software" el usuario introduce en la computadora los datos que
describen las funciones lógicas que desea programar en el PLD,
además de la información sobre como probar el dispositivo. Entonces
el "software" genera un mapa de conexiones y los datos de prueba en
forma tal que pueda enviarse sobre un cable hacia la memoria del
programador de PLDs. Una vez que el programador tiene los datos,
precede a programar y probar el dispositivo. Cuando termina de
hacerlo, el programador indica si el dispositivo ha pasado o no el
procedimiento de prueba. Si lo pasa, el dispositivo se puede quitar de
la base del programador y se coloca en el prototipo del circuito para
realizar más pruebas con él.

La programación junto con los datos dc prueba se desarrollan


utilizando para ello "software" disponible en el mercado que se pueda
ejecutar en computadoras personales estándar. Al utilizar este
"software" el usuario introduce en la computadora los datos que
describen las funciones lógicas que desea programar en el PLD,
además de la información sobre como probar el dispositivo. Entonces
el "software" genera un mapa de conexiones y los datos de prueba en
forma tal que pueda enviarse sobre un cable hacia la memoria del

41
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

programador de PLDs. Una vez que el programador tiene los datos,


precede a programar y probar el dispositivo. Cuando termina de
hacerlo, el programador indica si el dispositivo ha pasado o no el
procedimiento de prueba. Si lo pasa, el dispositivo se puede quitar de
la base del programador y se coloca en el prototipo del circuito para
realizar más pruebas con él.

Figura 2.41. Organigrama y proceso de programación de un PLD.


42
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.42. Organigrama y proceso de programación de un PLD.

Para entender y apreciar la funciónn del software para desarrollo,


examinemos algunos detalles del proceso para programar un PLD.
Se necesitan algunos equipos para diseñar y construir circuitos con el
empleo de PLD:

• Computadora personal (PC)


• Software para creación desarrollo de PLD

43
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

• Aparato o dispositivo programador


• Software para excitar el aparato programador
• Dispositivo de lógica programable (PLD)

En la figura 2.43 se muestra una disposición típica para programación.


Se da entrada al diseño inicial a la computadora en una de las diversas
formas posibles que en seguida comentaremos. La PC, en la cual se
corre el software para desarrollo, traduce el diseño de entrada a un
archivo llamado "trazado de fusibles".

Este archivo es como un mapa que muestra cuales fusibles se deben


fundir para abrirlos en un dispositivo programable y cuales deben
permanecer intactos.

Luego, el trazado de fusibles se traduce a un formato de archivo de


salida adecuado para transmisión al aparato de programación de
dispositivos.

Figura 2.43 Sistema de desarrollo de un PLD.

En seguida, se llama en la PC al software de programación que se


comunica con el aparato de programación. Esto permite al usuario
informar al aparato de programación el tipo de dispositivo que se va a
programar. Después se envía el archivo de salida por un cable al
programador. Este proceso se llama cargo. Finalmente, se introduce el

44
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

PLD en la base del aparato programador y se envía la orden desde la


computadora para programar la pieza. Los aparatos para
programación suelen tener una base especial que permite dejar caer
el microcircuito y, luego, sujetar los contactos con las terminales. Esta
base se llama de fuerza nula para, inserción (ZIP). Muchos fabricantes
disponen numerosos programadores universales que pueden
programar casi cualquier tipo de dispositivo, incluso PROM, EPROM,
microcomputadoras de un solo microcircuito y un buen número de
PLD. La serie ALLPRO de aparatos programadores de Logical
Devices, por ejemplo, tiene una gama de precios de $1,000 a $2,000
dólares. Hay aparatos programadores mas sencillos, que solo pueden
programar PLD, disponibles de Programmable Logic Technologies,
Inc., a un precio entre $100 y $500 dólares.

Afortunadamente, conforme hubieron más piezas programables, los


fabricantes sintieron la necesidad de uniformar ("estandarizar") las
asignaciones de terminales y los métodos de programación. Como
resultado, se constituyó el Joint Electronic Device Engineering Council
(JEDEC). Uno de los resultados fue la norma ("estándar") JEDEC 3,
un formato normal para transferir los datos de programación para los
PLD, independientes de cualquiera que fuere el fabricante del
dispositivo o el software de programación. También se normalizaron
las asignaciones de terminales, para diversos paquetes de CI, a fin de
hacer los programadores universales menos complicados. En
consecuencia, los aparatos para programación pueden programar
numerosos tipos de PLD. El software que permite al diseñador
especificar una configuración para un PLD, solo necesita producir un
archivo de salida que cumpla con la norma JEDEC. Luego, este archivo
JEDEC se puede cargar en cualquier programador de PLD compatible
con JEDEC, que tenga capacidad para programar el tipo deseado de
PLD.

DISPOSITIVOS DE MEMORIA.

Una ventaja importante de los sistemas digitales sobre los analógicos


es la capacidad de almacenar fácilmente grandes cantidades de
información digital por periodos cortos o largos. Esta capacidad de
memoria es la que hace que los sistemas digitales sean tan versátiles
y adaptable a muchas situaciones. Por ejemplo, en una computadora
digital la memoria interna almacena instrucciones que indican a la
computadora que hacer en todas las circunstancias posibles, de
45
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

manera que la computadora haga su trabajo con una mínima cantidad


de intervención humana.

Esta unidad está dedicada a estudiar los tipos de dispositivos y


sistemas de memoria que se usan más comúnmente. Ya nos hemos
familiarizado con el flip-flop, que es un dispositivo de memoria
electrónico. También hemos observado como grupos de FFs llamados
registros se pueden emplear para almacenar información y como esta
información puede ser transferida a otras localidades. Los registros de
los FFs son elementos de memoria de alta velocidad que se usan
extensamente en las operaciones internas de una computadora digital,
donde la información digital se desplaza en forma continua de una
localidad a otra. Adelantos en la tecnología de LSI y VLSI han hecho
posible contar con grandes cantidades de FFs en un solo CI,
dispuestas en diversos formatos de memoria. Estas memorias de
semiconductor bipolares y MOS son los dispositivos especializados
más veloces de que se dispone y su costo ha venido disminuyendo
continuamente a medida que se mejora la tecnología de los LSI.

Los datos digitales también pueden almacenarse como cargas en


capacitores, y un tipo muy importante de memoria de semiconductor
hace uso de este principio para obtener almacenamiento de alta
densidad a niveles bajos de energía.

Las memorias de semiconductores se utilizan como la memoria


interna de una computadora, donde la rapidez de la operación es
importante. La memoria interna de la computadora también llamada
memoria interna o de trabajo está en comunicación constante con la
unidad central de procesamiento (CPU, por sus siglas en inglés)
mientras se está ejecutando un programa de instrucciones. El
programa y cualquier información usada por este generalmente están
almacenados en la memoria interna.

Otra forma de almacenamiento en una computadora se efectúa con la


memoria auxiliar, la cual está separada de la memoria interna. La
memoria auxiliar, llamada también almacenamiento en masa, tiene
capacidad para almacenar enormes cantidades de datos sin necesidad
de que haya corriente eléctrica. La memoria auxiliar funciona a una
velocidad mucho más lenta que la memoria interna y almacena
programas y datos que en ese momento no se utilizan en el CPU. Esta
información se transfiere a la memoria interna cuando la computadora
46
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

la necesita. Las memorias auxiliares comunes son disco magnético,


cinta magnética y memoria de burbuja magnética de semiconductor
(MBM). La memoria instantánea de semiconductores, con su velocidad
más alta, menor requisito de corriente y tamaño más pequeño, además
de su funcionamiento que no es mecánico, parece tener posibilidades
como fuerte competidora de las memorias de disco.

Figura 2.44. Sistema de computación.

TERMINOLOGÍA DE LA MEMORIA

El estudio de los dispositivos y sistemas de memoria tiene tanta


terminología que muchas veces abruma al estudiante. Antes de iniciar
cualquier estudio amplio de las memorias, seria útil que usted tuviera
a la mano el significado de varios términos básicos.

Celda de memoria Dispositivo o circuito electrónico que se utiliza para


almacenar un solo bit (0 o 1). Algunos ejemplos de celdas de memoria
son: un flip-flop, un capacitor con carga, y un solo canal en cinta o en
disco magnéticos.

47
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Palabra de memoria Grupo de bits (celdas) en una memoria que


representa instrucciones o datos de algún tipo. Por ejemplo, un registro
que consta de ocho FFs puede considerarse como una memoria que
almacena una palabra de 8 bits. El tamaño de las palabras en las
computadoras modernas varia de 4 a 64 bits, según la dimensión de la
computadora.

Byte Término especial que se usa para una palabra de 8 bits, que es
el tamaño de palabra más común en las microcomputadoras.

Capacidad Forma de especificar cuantos bits pueden almacenarse en


un dispositivo de memoria particular o bien en un sistema de memoria
completo. Para ilustrar esto, suponga que tenemos una memoria que
puede almacenar 4 096 palabras de 20 bits. Esto representa una
capacidad total de 81,920 bits. También podría expresar esta
capacidad de la memoria como 4 096 x 20. Cuando se expresa de esta
manera, el primer número (4 096) es el número de palabras y el
segundo (20) es el número de bits por palabra (tamaño de la palabra).
El número de palabras contenidas en una memoria a menudo es un
múltiple de 1 024. Es común utilizar la designación "1K" para
representar 1 024 = 210 cuando nos referimos a la capacidad de la
memoria. Por tamo, una memoria que tiene una capacidad de
almacenamiento de 4K x 20 es en realidad una memoria de 4 096 x
20. El desarrollo de memorias grandes ha dado origen a la designación
"1M" o "1 meg" para representar 220 = 1 048 576. Es así como una
memoria que tiene una capacidad de 2M x 8 en realidad tiene una
capacidad de 2,097,152 x 8.

Ejemplo

Un circuito integrado de memoria de semiconductor se especifica con


2K x 8. ¿Cuántas palabras pueden almacenarse en este circuito?
¿Cuál es el tamaño de la palabra? ¿Cuántos bits totales puede
almacenar este circuito?

Solución

2K = 2 x 1 024 = 2 048 palabras


48
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Cada palabra tiene 8 bits (un byte). Por tanto, el número total de bits
es 2 048 x 8 = 16 384 bits

Actividad Complementaria 1. Resuelve de manera correcta el


siguiente ejercicio.

¿Qué memoria almacena mayor cantidad de bits: una de 5M x 8 u


otra que almacena 1M palabras, cada una con un tamaño de 16 bits?

Densidad. Es otro término para capacidad. Cuando se dice que un


dispositivo de memoria tiene mayor densidad que otro, significa que
puede almacenar más bits en la misma cantidad de espacio. Es más
densa.

Dirección. Número que identifica la localidad de una palabra en la


memoria. Cada palabra almacenada en un dispositivo de memoria o
sistema de memoria tiene una dirección única. Las direcciones siempre
se especifican como un número binario, aunque algunas veces se
utilizan números octales, hexadecimales y decimales por
conveniencia. La figura siguiente ilustra una pequeña memoria que
consta de ocho palabras. Cada una de estas ocho palabras tiene una
dirección especifica representada como un número de 3 bits que varía
de 000 al 111. Siempre que nos referimos a una localidad específica,
utilizamos su código de dirección para identificarla.

Operación de lectura. La operación por medio de la cual la palabra


binaria almacenada en una localidad (dirección) especifica de la
memoria es captada y después transferida a otro dispositivo. Por
ejemplo, si deseamos utilizar la palabra 4 de la memoria de la figura
siguiente con algún fin, tenemos que efectuar una operación de lectura
en la dirección 100. La operación de lectura a menudo se conoce como
operación de extracción (fetch), ya que se extrae una respuesta de la
memoria.

Operación de escritura. Operación por medio de la cual se coloca


una nueva palabra en cierta localidad de la memoria. También se le
llama operación de almacenar. Siempre que una palabra nueva se
escribe en una localidad de la memoria, esta reemplaza la palabra que
se encontraba anteriormente.

49
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Direcciones
000 : Palabra 0
001 Palabra 1
010 Palabra 2
011 Palabra 3
100 Palabra 4
101 Palabra 5
110 Palabra 6
111 Palabra 7

Tiempo de acceso. Medida de la velocidad de operación del


dispositivo de memoria. Es la cantidad de tiempo que se requiere para
realizar una operación de lectura. En términos más específicos, es el
tiempo que transcurre entre la recepción de una nueva dirección en la
entrada de la memoria y la disposición de los datos en la salida. El
símbolo tACC para designar el tiempo de acceso.

Memoria volátil. Cualquier tipo de memoria que requiere la aplicación


de energía eléctrica a fin de almacenar información. Si se retira la
energía eléctrica, toda la información almacenada en la memoria se
perderá. Muchas memorias de semiconductores son volátiles, mientras
que todas las memorias magnéticas son no volátiles, \o que significa
que pueden almacenar información sin necesitar potencia eléctrica.

Memoria de acceso aleatorio. (RAM) Memoria en la cual la


localización física real de una palabra de la memoria no tiene efecto
sobre el tiempo que se tarda en leer de esa localidad o bien escribir en
ella. En otras palabras, el tiempo de acceso es el mismo para cualquier
dirección en la memoria. La mayoría de las memorias de
semiconductor y núcleo magnético son RAM.

Memoria de acceso secuencial. (SAM) Tipo de memoria en el cual el


tiempo de acceso no es constante, sino que varía según la localidad
de la dirección. Cierta palabra, almacenada, es hallada por sucesión a
través de todas las localidades de direcciones hasta que se llega a la
dirección deseada. Esto produce tiempos de acceso que son mucho
más largos que los de las memorias con acceso aleatorio. Algunos

50
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

ejemplos de dispositivos de memoria con acceso secuencial son la


cinta, el disco magnético, y la memoria de burbuja magnética. Para
ilustrar la diferencia entre las memorias SAM y RAM, considere la
situación en que usted ha grabado 60 minutos de música en una cinta
de audio. Cuando desea escuchar una melodía en particular, por lo
general es necesario rebobinar o adelantarla la cinta hasta encontrarla.
Este proceso es relativamente lento y la cantidad de tiempo requerido
depende del sitio sobre la cinta donde se encuentre grabada la
melodía. Este es un ejemplo de una memoria SAM, ya que usted tiene
que recorrer toda la información hasta que encuentre la que esta
buscando. Su contraparte RAM es un tocadiscos automático, donde es
posible seleccionar cualquier melodía al proporcionar el código
apropiado. La operación siempre toma el mismo tiempo, sin importar
cuál sea la melodía seleccionada.

Memoria de lectura y escritura. (RWM) Cualquier memoria de la que


se puede leer información o bien escribir en ella con la misma facilidad.

Memoria solo de lectura. (ROM) Una extensa clase de memorias de


semiconductor diseñadas para aplicaciones donde la proporción de
operaciones de lectura a operaciones de escritura es muy alta. En
términos técnicos, en una ROM solo puede escribirse (programarse)
una sola vez y esta operación normalmente se efectúa en la fábrica.
Posteriormente, la información solo puede leerse de la memoria. Otros
tipos de ROM son en realidad memorias, en su mayoría solo de lectura
(RMM) en las que puede escribirse más de una vez, pero la operación
de escritura es más complicada que la de lectura y no se realiza muy
a menudo. Los diversos tipos de ROM se estudiarán más adelante.
Toda la memoria ROM es no volátil y almacena los datos aun cuando
se desconecte la energía eléctrica.

Dispositivos de memoria estática. Dispositivos de memoria de


semiconductor en los cuales los datos almacenados se quedarán
permanentemente guardados en tanto se aplique emergía, sin
necesidad de escribir los datos periódicamente en la memoria.

Dispositivos de memoria dinámica. Dispositivos de memoria de


semiconductor en los cuales los datos almacenados no se quedarán
permanentemente guardados, aun con energía aplicada, a menos

51
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

que los datos se rescriban en forma periódica en la memoria. Esta


operación se conoce como operación de "refresco".

Memoria interna. También recibe el nombre de memoria principal o


memoria de trabajo de la computadora. En ella se guardan las
instrucciones y datos sobre las cuales trabaja la CPU. Es la memoria
más rápida del sistema de cómputo y siempre es un semiconductor de
memoria.

Memoria secundaria Este tipo de memoria también se conoce como


memoria auxiliar. Almacena grandes cantidades de información
externa a la memoria interna de la computadora. Es más lenta que la
memoria interna y siempre es no volátil. La cinta y el disco magnéticos
son los más comunes de esta clase de memoria.

Actividad Complementaria 2. Contesta de manera correcta las


siguientes preguntas.

1. Defina los siguientes términos:

a. Celda de memoria
b. Palabra de memoria
c. Dirección
d. Byte
e. Tiempo de acceso

2. Cierta memoria tiene capacidad de B8K x 16. ¿Cuántos bits hay


en una palabra? ¿Cuántas palabras están siendo almacenadas?
____________________________________________________
____________________________________________________

3. ¿Cuántas celdas de memoria contiene esta memoria?


____________________________________________________

4. Explique la diferencia entre las operaciones de lectura y escritura.


____________________________________________________
____________________________________________________

5. Cierto o falso. Una memoria volátil perderá su información


almacenada cuando se interrumpe la energía eléctrica.
52
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

____________________________________________________

6. Explique la diferencia entre SAM y RAM


____________________________________________________
____________________________________________________

7. Explique la diferencia entre RWM y ROM


____________________________________________________
____________________________________________________

8. Cierto o falso. Una memoria dinámica retendrá su información


mientras se aplique energía eléctrica.
____________________________________________________

OPERACIÓN GENERAL EN LA MEMORIA

Aunque cada tipo de memoria es diferente en su operación interna,


ciertos principios básicos de operación son los mismos para todos los
sistemas de memoria. Conocer estas ideas básicas nos ayudara en el
estudio de los dispositivos de memorias individuales.

Todo sistema de memoria requiere varios tipos diferentes de líneas de


entrada y salida para desempeñar las siguientes funciones:

1. Selecciónar la dirección de la memoria a la que se quiera tener


acceso para una operación de lectura o escritura.

2. Selecciónar ya sea una operación de lectura o bien de escritura para


ser efectuada.

3. Proporcionar los datos de entrada a ser almacenados en la memoria


durante una operación de escritura.

4. Retener los datos de salida que vienen de la memoria durante una


operación de lectura.

5. Habilitar (o deshabilitar) la memoria de manera que responda (o no)


a las entradas de dirección y al comando de lectura/escritura.

53
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

La figura siguiente ilustra estas funciones básicas en un diagrama


simplificado de una memoria de 32 x 4 que almacena 32 palabras de
4 bits. Como el tamaño de palabra es 4 bits, cuatro líneas de entrada
de datos I0 a I3, y cuatro líneas de salida de datos O0 a O3. Durante
operación de escritura los datos que se almacenaran en la memoria
tienen que ser aplicados a las líneas de entrada de datos. Durante una
operación de lectura la palabra que es leída de la memoria figura en
las líneas de salida de los datos.

Entradas para direcciones Dado que esta memoria almacena 32


palabras, tiene 32 diferentes localidades de almacenamiento y, por
consiguiente, 32 diferentes direcciones binarias que van desde 00000
al llll (0 a 31 en decimal). En consecuencia, existen cinco entradas de
direcciones, desde A0 hasta A4. Para tener acceso a una de las
localidades de memoria, ya sea para leer su contenido o escribir en
ella, es necesario enviar a través de las entradas de direcciones la
dirección de 5 bits que corresponde a la localidad de interés. En
general, se requiere de N direcciones de entrada para una memoria
que tiene una capacidad de 2N palabras.

La memoria de la figura 2.45 puede considerarse como un arreglo de


32 registros donde cada uno de ellos retiene una palabra de 4 bits,
como se muestra en la figura siguiente (b) en ella se muestra cada
dirección como conteniendo cuatro celdas de memoria que retienen
unos y ceros que forman la palabra almacenada en dicha localidad.
Por ejemplo, 0110 esta almacenada en la dirección 00000, la palabra
1001 se encuentra en la dirección 00001 y así sucesivamente.

La entrada R/W Esta entrada controla que operación llevara a cabo


la memoria; lectura (R) o escritura (W). La entrada se expresa como R
/ W ; puesto que no hay barra sobre la R, esto indica que la operación
de lectura ocurre cuando R / W = 1. La barra sobre la W indica que la
operación de escritura tiene lugar cuando R / W = 0. Hay otras siglas
que con frecuencia para esta entrada. Dos de las más comunes son W
(escritura) y WE (habilitar escritura). De nuevo, la barra indica que la
operación escritura ocurre cuando la entrada está en BAJO. Se
entiende que la operación de lectura ocurre cuando está en ALTO.

54
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.45. (a) Diagrama de una memoria de 32 x 4; (b) disposición


virtual de celdas c 32 palabras de 4 bits.

En la figura 2.46 se encuentra un diagrama simplificado de las


operaciones escritura. La parte (a) ilustra el proceso de escribir el dato
0100 en el registro de memoria que está en la dirección 00011.

Figura 2.46. Ilustración simplificada de las operaciones de lectura y escritura en la


memoria de 32 x 4; (a) escritura de palabra de datos 0100 en la localidad de memoria
00011; (b) lectura de la palabra de datos 1101 de la localidad de memoria 11110.

55
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Este dato es el que podría haberse aplicado en las líneas de entrada


para datos de la memoria, y reemplaza el dato que antes se encontraba
almacenado en la dirección 00011. La parte (b) muestra el proceso de
lectura de la palabra 1101 que se encuentra guardada en la localidad
cuya dirección es 11110. Esta palabra es la que aparecerá en las
líneas de salida para datos de la memoria. Después de la operación de
lectura, la palabra 1101 seguirá almacenada en la memoria. En otras
palabras, la operación de lectura no cambia los datos que están
almacenados en la memoria.

Habilitación de memoria Muchos sistemas de memoria tienen algún


medio para deshabilitar completamente toda o parte de la memoria de
manera que no responda a las otras entradas. Esto se representa en
la figura como la entrada HABILITACIÓN DE MEMORIA, aunque
puede tener diferentes nombres en los diversos sistemas de memoria.
Aquí se muestra como una entrada activa en ALTO que habilita la
memoria para operar en forma normal cuando se mantiene en ALTO.
Un estado BAJO en esta entrada deshabilita la memoria, de modo que
no responderá a la dirección y a las entradas R / W . Este tipo de
entrada es de utilidad cuando varios módulos de memoria se combinan
para formar una memoria mayor.

Ejemplo
Describa las condiciones en que se encuentran cada entrada y salida
cuando se lee el contenido de la localidad de memoria cuya dirección
es 00100.

Solución

Entradas de direcciones: 00100


Entradas de datos: xxxx (no ulilizadas)
R/W = ALTO
HABILITACIÓN DE MEMORIA: ALTO
Salidas de datos: 0001

Ejemplo
Describa las condiciones en cada entrada y salida cuando se escribe
la palabra de datos lll0en la localidad de memoria cuya dirección es
01101.

56
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Solución
Entradas de direcciones: 01101
Entradas de datos: 1110
R/W = BAJO
HABILITACIÓN DE MEMORIA: xxxx (no utilizadas; generalmente
Alta-Z)

Ejemplo

Cierta memoria tiene una capacidad de 4K x 8.


(a) ¿Cuántas líneas de datos de entrada y de salida tiene?
(b) ¿Cuántas líneas de dirección tiene?
(c) ¿Cuál es su capacidad en bytes?

Solución
(a) Ocho de cada una, ya que el tamaño de palabra es ocho.
(b) La memoria almacena 4K = 4 x 1 024 = 4 096 palabras. Por tanto,
hay 4 096 direcciones en la memoria. Ya que 4 096 = 212, se
necesita un código de dirección de 12 bits para especificar una de las
4 096 direcciones.
(c) Un byte tiene 8 bits. Esta memoria tiene una capacidad de 4 096
bytes.

Actividad Complementaria 3, Contesta de manera correcta las


siguientes preguntas.

1. ¿Cuantas entradas de dirección, entradas de datos y salidas de


datos se requieren para una memoria de 16K x 12?
____________________________________________________

2. ¿Qué función tiene la entrada R/W?


____________________________________________________
____________________________________________________

3. ¿Qué función tiene la entrada HABILITACIÓN DE MEMORIA?


____________________________________________________
____________________________________________________

CONEXIONES ENTRE CPU Y LA MEMORIA

57
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Recuerde que la memoria interna se encuentra en comunicación


constante con la CPU (unidad de procesamiento central). En este
momento, no es necesario estar familiarizado con la operación
detallada de una CPU, así que el siguiente panorama simplificado de
la interface CPU-memoria proporcionara la perspectiva necesaria para
hacer significativo el estudio de los dispositivos de memoria.

La memoria interna de una computadora está formada por CIs RAM y


ROM que son conectados a la CPU mediante tres grupos de líneas de
serial o canales. En la figura 2.47, estos se indican como las líneas de
dirección o canal de direcciones, líneas de datos o canal de datos, y
líneas de control o canal de control. Cada uno de estos canales está
formado por varias líneas (observe que están representados por una
sola línea con una diagonal), y el número de estas cambia de una
computadora a otra. Los tres canales juegan una parte necesaria al
permitir que la CPU escriba o lea datos en la memoria.

Cuando una computadora está ejecutando las instrucciones de un


programa, la CPU extrae (lee) de manera continua información de las
localidades de memoria las cuales contienen (1) los códigos de
programas que representan las operaciones que se van a realizar y (2)
los datos con los que se llevaran a cabo dichas operaciones. La CPU
también almacena (escribe) datos en las localidades de memoria que
indican las instrucciones del programa. Cada vez que la CPU desea
escribir un dato en determinada localidad de la memoria, emprende los
siguientes pasos:

Operación DE ESCRITURA

1. La CPU proporciona la dirección binaria de la localidad de memoria


donde debe almacenarse el dato. Coloca esta dirección sobre las
líneas del canal de direcciones.

2. La CPU coloca el dato a ser almacenado sobre las líneas del canal
de datos.

3. La CPU activa las líneas de control apropiadas para la operación de


escritura en la memoria.

58
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

4. Los CIs de memoria decodifican la dirección binaria para determinar


cuál es la localidad de memoria seleccionada para llevar a cabo la
operación de escritura.

5. El dato que se encuentra sobre el canal de datos se transfiere hacia


la localidad seleccionada de la memoria.

Cada vez que la CPU desea leer un dato que se encuentra en


determinada localidad de la memoria, emprende los siguientes pasos:

OPERACIÓN DE LECTURA

1. La CPU proporciona la dirección de la localidad de memoria


donde se encuentra el dato que se va a recuperar. Coloca esta
dirección sobre el canal de direcciones.
2. La CPU activa las líneas de control apropiadas para la operación
de lectura de la memoria.

Figura 2.47 Tres grupos de líneas (canales) conectan los CIs de memoria interna con
la CPU.

3. Los CIs de la memoria decodifican la dirección para determinar


cuál es la localidad seleccionada para realizar la operación de
escritura.

59
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

4. Los CIs de la memoria decodifican el contenido de la localidad de


memoria sobre el canal de datos, de donde son transferidos
hacia la CPU.

Los pasos anteriores deben aclarar la función de cada uno de los


canales del sistema:

 Canal de direcciones Este es un canal unidireccional que lleva


las direcciones binarias desde la CPU hacia los CIs de la
memoria.
 Canal de datos Este canal es bidirecciónal y lleva los datos
entre la CPU y los CIs de memoria.
 Canal de control Este canal lleva las señales de control (como
la serial R / W desde la CPU hacia los CIs de memoria).

Actividad Complementaria 5. Contesta de manera correcta las


siguientes preguntas.

1. Proporcione el nombre de los tres grupos de líneas que conectan


la CPU y la memoria interna.
2. Describa los pasos que ocurren cuando la CPU lee de la memoria.
3. Describa los pasos que ocurren cuando la CPU escribe en la
memoria.

MEMORIAS DE SOLO LECTURA (ROM)

Las memorias de solo lectura son un tipo de memoria de


semiconductor que están diseñadas para retener datos que son
permanentes o que no cambian con mucha frecuencia. Durante la
operación normal, no pueden escribirse nuevos datos en una ROM
pero si puede leerse información de ella. Para algunas ROMs los datos
que están almacenados tienen que integrarse durante el proceso de
fabricación; para otras ROMs los datos pueden grabarse
eléctricamente. El proceso de grabar datos se conoce como
programación de la ROM.

Algunas ROMs no pueden alterar sus datos una vez que se hayan
programado; otras pueden borrarse y reprogramarse con la
frecuencia que se desee.
60
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Las ROMs se utilizan para almacenar datos e información que no


cambiara durante la operación normal de un sistema. Un uso
importante de las ROMs se encuentra en el almacenamiento de
programas en microcomputadoras. Ya que todas las ROMs son no
volátiles, estos programas no se pierden cuando la microcomputadora
es desconectada. Cuando se enciende la máquina, de inmediato
puede empezar a ejecutar el programa almacenado en ROM. Las ROM
también se utilizan para guardar programas y datos en equipos
controlados por microprocesador tales como las cajas registradoras
electrónicas, instrumentos y sistemas de seguridad.

Diagrama de bloques en ROM Un diagrama de bloques común para


una ROM se muestra en la figura 2.48(a). Tiene tres conjuntos de
señales: entradas de dirección, entrada(s) de control y salidas de
datos. De lo que hemos visto antes, podemos determinar que esta
ROM almacena 16 palabras, ya que tiene 24 =16 posibles direcciones
y cada palabra contiene ocho bits, puesto que hay ocho salidas de
datos. Por tanto, esta es una ROM de 16 x 8. Otra manera de describir
esta capacidad de la ROM consiste en decir que almacena 16 bytes de
datos.

Las salidas de datos de muchos circuitos integrados de ROM son


salidas de tres estados para permitir la conexión de muchos circuitos
ROM al mismo canal de datos para lograr la expansión de la memoria.
Los números más comunes de salidas de datos para ROMs son 4, 8 y
16 bits, siendo las palabras de 8 bits las más comunes.

La entrada de control CS significa selección de CI. Esta es


esencialmente una entrada de habilitación que habilita o deshabilita las
salidas ROM. Algunos fabricantes utilizan diferentes indicaciones para
la entrada de control, como CE (selección de CI) o bien OE (habilitación
de salida). Muchas ROMs tienen dos o más entradas de control que
deben estar activas para habilitar las salidas de datos y con esto poder
leer los datos de la dirección seleccionada. En algunos CI ROM, una
de las entradas de control (por lo general CE) se emplea para colocar
la ROM en un modo de espera de bajo consumo de potencia cuando
no se usa.

Esto disminuye el consumo de corriente de la fuente de alimentación


del sistema.
61
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

La entrada CS que se muestra en figura 2.48(a) se encuentra activa


en BAJO. Por tanto, debe estar en el estado BAJO para habilitar la
ROM y que los datos aparezcan en las salidas de datos. Observe que
no existe la entrada R /W (lectura/escritura), debido a que la ROM no
puede grabarse en condiciones normales de operación.

Figura 2.48 (a) Símbolo común para una ROM (b)Tabla que muestra los datos en
binario en cada dirección de localidad (c) misma tabla en hex.

62
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

La Operación de lectura Supongamos que la ROM no ha sido


programada con los datos que se muestran en la tabla de la figura
2.48(b). Dieciséis diferentes palabras de datos se almacenan en las 16
localidades de dirección distintas. Por ejemplo, la palabra de datos
almacenada en la localidad 0011 es 10101111. Por supuesto, los datos
se almacenan en binario dentro de la ROM, pero frecuentemente se
usa la notación hexadecimal para mostrar adecuadamente los datos
programados. Esto se hace en la figura 2.48(c).

A fin de leer una palabra de datos de la ROM, necesitamos hacer dos


cosas: aplicar las entradas de dirección adecuadas y luego activar las
entradas de control. Por ejemplo, si deseamos leer los datos
almacenados en la localidad 0111 de la ROM de la figura 2.5, primero
debemos aplicar A3A2A1A0 = 0111 a las entradas de dirección y
después un nivel BAJO a CS. Las entradas de dirección serán
decodificadas dentro de la ROM para seleccionar la palabra de datos
correcta, 11101101, misma que aparecerá en las salidas D 7 a D0. Si
CS se mantienen en ALTO, las salidas de la ROM serán deshabilitadas
y permanecerán en el estado de Alta-Z.

Actividad Complementaria 6. Contesta de manera correcta las


siguientes preguntas.

1. Cierto o falso: Todas las ROMs son no volátiles.


____________________________________________________
____________________________________________________
2. Describa el procedimiento para leer de la ROM.
____________________________________________________
____________________________________________________
3. ¿Qué significa programar o quemar una ROM?
____________________________________________________
____________________________________________________

ARQUITECTURA DE LA ROM

La arquitectura (estructura) interna de un CI ROM es muy compleja, y


no necesitamos conocer todos sus detalles. Sin embargo, es
constructivo observar un diagrama simplificado dela estructura interna,
como el que se muestra en la figura 2.6 para la ROM de 16 x 8. Existen
cuatro partes básicas: decodificador de renglones, decodificador de
columnas, arreglo de registros y buffers de salida.
63
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Arreglo de registros El arreglo de registros almacena los datos que


han sido programados en la ROM. Cada registro contiene un número
de celdas de memoria que es igual al tamaño de la palabra. En este
caso, cada registro almacena una palabra de 8 bits. Los registros se
disponen en un arreglo de matriz cuadrada que es común a muchos
circuitos de semiconductor. Podemos especificar la posición de cada
registro como una ubicada en un renglón y una columna específicos.
Por ejemplo, el registro 0 se encuentra en el renglón 0/columna 0 y el
registro 9 está en el renglón 1/columna 2.

Las ocho salidas de datos de cada registro se conectan a un canal de


datos interno que corre a través de todo el circuito. Cada registro tiene
dos entradas de habilitación (E); ambas tienen que ser ALTAS a fin de
que los datos del registro sean colocados en el canal.

Decodificadores de direcciones El código de dirección aplicado


A3A2A1A0 determina que registro será habilitado para colocar su
palabra de datos en 8 bits en el canal. Los bits de dirección A 1 A0 se
alimentan a un decodificador 1 de 4 que activa una línea de selección.

64
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

Figura 2.49. Arquitectura de la ROM de 16 x 8.

de renglón, y los bits de dirección A3 A2 se alimentan a un segundo


decodificador 1 de 4 que activa una línea de selección de columna.
Solamente un registro estará en el renglón y la columna seleccionados
por las entradas de dirección, y este estará habilitado.

Ejemplo

¿Qué registro será habilitado por la dirección de entrada 1101?

Solución

A3 A2 = 11 ocasionará que el decodificador de columnas active la


línea de selección de la columna 3, y A1 A0 =01 ocasionará que el
decodificador de renglones active la línea de selección de región 1.
Esto colocara estados ALTOS en ambas entradas de habilitación del
65
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

registro 13, ocasionando que sus salidas de datos sean colocadas en


el canal. Observe que los otros registros en la columna 3 solo tendrán
una entrada de habilitación activada; lo mismo sucederá con los otros
registros del renglón 1.

Buffers de salida El registro habilitado por las entradas de selección


coloca el dato que tiene sobre el canal de datos. Estos datos entran en
los buffers de salida, mismos que se encargan de transmitirlos hacia
las salidas externas siempre y cuando CS este en BAJO. Si CS esta
en ALTO, los buffers de salida se encuentran en el estado de alta
impedancia, con lo que D7 hasta D0 estarán flotando.

La arquitectura mostrada en la figura 2.6 es similar a la de muchos CI


ROMs. En algunas ROMs los registros no están acomodados en un
arreglo cuadrado, hecho que depende del número de palabras
almacenadas. Por ejemplo, el CI Intel 2708 es una ROM MOS que
almacena 1 024 palabras de ocho bits. Sus 1 024 registros están
acomodados en un arreglo de 64 por 16.

Por lo general, la capacidad de las ROM varia de 32 x 8 a 512K x 8.

Ejemplo

Describa la arquitectura interna de una ROM que almacena 4K bytes


y utiliza un arreglo de registro cuadrado.

Solución

4K es en realidad 4 x 1024 = 4 096, de manera que esta ROM contiene


4 096 palabras de ocho bits. Cada palabra puede considerarse como
almacenada en un registro de 8 bits, y hay 4 096 registros conectados
a un canal de datos común interne en el CI. Como 4 096 = 642, los
registros se disponen en un arreglo de 64 por 64; es decir, hay 64
renglones y 64 columnas. Esto requiere un decodificador 1 de 64 para
decodificar sets entradas de dirección para la selección del renglón, y
un segundo decodificador 1 de 64 para decodificar otros sets entradas
de dirección para la selección de la columna. Por consiguiente, se
necesita un total de 12 entradas de dirección. Esto tiene sentido, ya
que 212 = 4 096, y hay 4 096 direcciones diferentes.

Actividad complementaria.
66
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

1. ¿Qué dirección habilitara el registro 7?


_______________________________________________________
_______________________________________________________

2. ¿Qué código de entradas de dirección se requiere si se desean


leer los datos del registro 9 de la figura 2.49?
_______________________________________________________
_______________________________________________________

3. Describa la función del decodificador de selección de renglones,


del decodificador de selección de columnas, y de los buffers de
salida en la arquitectura de una ROM.
_______________________________________________________
_______________________________________________________

TEMPORIZACIÓN DE LA ROM

Habrá un retraso en la propagación entre la aplicación de las entradas


de una ROM y la aparición de las salidas de datos durante una
operación de lectura. Este retraso, denominado tiempo de acceso, tACC,
es una medida de la velocidad de operación de la ROM. El tiempo de
acceso se describe gráficamente por medio de las formas de onda de
la figura 2.50.

La forma de onda de más arriba representa las entradas de dirección,


la del medio es una selección de CI activa en BAJO, CS, y la de más
abajo representa las salidas de datos. Al tiempo t las entradas de
dirección están en un nivel especifico, algunas en ALTO y algunas en
BAJO. CS es ALTA, de manera que las salidas de datos de la ROM se
encuentran en su estado Alta-Z (representado por la línea sombreada).

Antes de t1, las entradas de dirección cambian a una nueva dirección


para realizar una nueva operación de lectura. En t1 la nueva dirección
es válida; es decir, cada entrada de dirección está en un nivel lógico
valido. En este punto la circuitería interna de la ROM empieza a
decodificar las nuevas entradas de dirección para seleccionar el
registro que enviara sus datos a los buffers de salida. En t 2 la entrada
CS es activada para habilitar los buffers de salida. Finalmente, en t3,

67
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

las salidas cambian del estado Alta-Z a los datos validos que
representan los almacenados en la dirección especificada.

El retraso entre t1 y t3, cuando la nueva dirección y las salidas de


datos se vuelven validas, es el tiempo de acceso tACC. En general, las
ROMs bipolares tienen tiempo de acceso que va de 30 hasta 90 ns;
para los dispositivos NMOS este tiempo varía de 35 hasta500 ns.

Otro importante parámetro de temporización es el tiempo de salida,


tOE, que es el retraso entre la entrada CS y la salida de datos valida.
Valores comunes de tOE son de 10 a 20 ns para ROMs bipolares y de
25 a 100ns para ROM MOS. Este parámetro de temporización es
importante en situaciones donde las entradas de dirección ya están
en sus nuevos valores, pero las salidas de la ROM aún no han sido
habilitadas.

Cuando CS pasa a BAJA para habilitar las salidas, el retraso será tOE.

Figura 2.50 Temporización común de una operación de lectura ROM.

68
M.C. Ma. Esther Guevara Ramírez
Lógica Digital para la Manufactura
Unidad 2. Sistemas digitales secuenciales.

69
M.C. Ma. Esther Guevara Ramírez

También podría gustarte