Está en la página 1de 58

Universidad Politécnica de

Tapachula
“Innovación y Tecnología al servicio de la sociedad”

Nombre del alumno - Matricula


Morales Martínez José Ángel-223027

Materia.
Sistemas digitales

Cuatrimestre / periodo escolar


Quinto cuatrimestre/Enero-abril 2024

Unidad / Tema
U3/lógica secuencial

Nombre de la práctica / proyecto.

Evidencia de desempeño/portafolio

Tipo de evidencia
EP1

Plan de estudios.
Ingeniería mecatrónica

Catedrático.
Mtro. Urías Bladimir Velázquez Gálvez
ÍNDICE
INTRODUCCIÓN...............................................................................................................................................4
DESARROLLO...................................................................................................................................................5
FUNCIONAMIENTO DE FLIP-FLOPS SÍNCRONOS, ASÍNCRONOS, ASCENDENTES, TIPO S-R, J
K, D Y T. CIRCUITOS GENERADORES DE SEÑALES DE RELOJ.........................................................5
EJERCICIOS DE DISEÑOS ANALÍTICOS................................................................................................14
CONTADORES, REGISTROS Y SUS APLICACIONES..........................................................................21
DISEÑO DE CIRCUITO LÓGICO SECUENCIAL....................................................................................49
DESCRIPCIÓN DE LAS APLICACIONES DE CIRCUITOS SECUENCIALES EN PROCESOS
INDUSTRIALES...........................................................................................................................................55
CONCLUSIÓN..................................................................................................................................................57
BIBLIOGRAFÍA...............................................................................................................................................58
INTRODUCCIÓN.
En el vasto mundo de la electrónica digital, la capacidad de almacenar, contar y
sincronizar información es fundamental. Para lograr esto, se recurre a una serie de
elementos y circuitos esenciales que forman la base de la mayoría de los
dispositivos electrónicos modernos. Entre estos elementos destacan los flip-flops, los
contadores, los generadores de señales de reloj y otros circuitos secuenciales.
Los flip-flops son dispositivos básicos que pueden almacenar un bit de información y
cambiar de estado en respuesta a una señal de control, como una señal de reloj.
Estos elementos son la base de los circuitos secuenciales, que pueden contar,
almacenar o generar secuencias de información binaria.
Los contadores son ejemplos prominentes de circuitos secuenciales que tienen una
amplia gama de aplicaciones, desde contadores simples utilizados en aplicaciones
de temporización hasta contadores más complejos que se emplean en sistemas de
control y procesamiento de señales.
Por otro lado, los generadores de señales de reloj son circuitos cruciales que
producen señales periódicas utilizadas para sincronizar la operación de otros
dispositivos digitales. Estas señales de reloj son esenciales para asegurar que los
diversos componentes de un sistema digital trabajen de manera coordinada y
sincronizada.
En esta introducción, exploraremos la función, el diseño y las aplicaciones de los flip-
flops, contadores, generadores de señales de reloj y otros circuitos secuenciales,
destacando su importancia en el mundo de la electrónica digital y su papel
fundamental en el funcionamiento de una amplia variedad de dispositivos
electrónicos modernos.

DESARROLLO.

3
FUNCIONAMIENTO DE FLIP-FLOPS SÍNCRONOS, ASÍNCRONOS,
ASCENDENTES, TIPO S-R, J K, D Y T. CIRCUITOS GENERADORES DE
SEÑALES DE RELOJ.
FLIP-FLOPS.

¿Qué es un flip flop?

El flip flop es el nombre común que se le da a los dispositivos de dos estados


(biestables), que sirven como memoria básica para las operaciones de lógica
secuencial. Los Flip-flops son ampliamente usados para el almacenamiento y
transferencia de datos digitales y se usan normalmente en unidades
llamadas
«registros», para el almacenamiento de datos numéricos binarios.

Son dispositivos con memoria más comúnmente utilizados. Sus


características principales son:

 Asumen solamente uno de dos posibles estados de salida.

 Tienen un par de salidas que son complemento una de la otra.

 Tienen una o más entradas que pueden causar que el estado


del componente cambie.

4
Los flip flops se pueden clasificar en dos:

Asíncronos: Sólo tienen entradas de control. El mas empleado es el RS.


Síncronos: Ademas de las entradas de control necesita un entrada sincronismo o
de reloj.
Una vez teniendo una idea de lo que es un flip flop vamos a describir los mas
utilizados.

Flip-Flop R-S (Set-Reset)

Utiliza dos compuertas NOR. S y R son las entradas, mientras que Q y Q’ son las
salidas (Q es generalmente la salida que se busca manipular.)
La conexión cruzada de la salida de cada compuerta a la entrada de la otra
construye el lazo de reglamentación imprescindible en todo dispositivo de
memoria.

Para saber el funcionamiento de estos componentes se utilizan las Tablas


de verdad.

Si no se activa ninguna de las entradas, permanece en el ultimo estado en el cual


se encontraba.

Flip-Flop T

Este cambia de estado en cada pulso de T. El pulso es un ciclo completo de cero


a 1. Con el flip flop T podemos complementar una entrada de reloj al flip flop rs.

5
La siguiente tabla muestra el comportamiento del FF T y del FF S-R en cada pulso
de t.

Flip-Flop J-K (Jump-Keep)

Este una mezcla entre el S-R y el tipo T. A diferencia del RS, en el caso de
activarse ambas entradas a la vez, la salida adquiere el estado contrario al que
tenía.

6
La siguiente tabla muestra el comportamiento del flip flop JK.

ZFlip-Flop D (Delay)

Es uno de los más sencillos. Su función es dejar pasar lo que entra por D, a la
salida Q, después de un pulso del reloj.

7
La siguiente tabla muestra el comportamiento del flip flop D.

Para que sirven las entradas Clear y Preset?

Cuando se están utilizando flip-flops en la construcción de circuitos, es necesario


poder controlar el momento en el que un FF empieza a funcionar y el valor con
el que inicia su secuencia. Para esto, los flip-flops cuentan con dos entradas que
le permiten al diseñador seleccionar los valores iniciales del FF y el momento en
el que empieza a funcionar.

Estas entradas son llamadas en Inglés: Clear y Preset.

 Clear – inicializa Q en cero sin importar entradas o reloj

 Preset – inicializa Q en 1 sin importar entradas o reloj

Para ambas entradas, si reciben el valor de:

 0 : inicializan en el valor correspondiente.

 1: Opera normalmente

8
La siguiente figura muestra un FF J-K con entradas de inicialización. Note que
tanto la entrada Clear, como la entrada Preset, tienen un círculo. Esto significa que
la entrada funciona con un 0.

CIRCUITOS GENERADORES DE SEÑALES DE RELOJ.

1. Temporizador 555

Existen en el mercado un conjunto de circuitos integrados denominados


temporizadores (timers) es- pecialmente diseñados para realizar multivibradores
monoestables y astables. El temporizador 555 (NE555 de Signetics en versión
bipolar y TLC555 de Texas Instruments en versión CMOS) es un circuito integrado
barato y muy popular que fue desarrollado en 1972 por Signetics Corporation. En
la figura 1 se muestra el dia- grama circuital de este temporizador. Está
constituido por dos comparadores, un flip-flop SR y un transistor que actúa como
un elemento de conmutación. Las tres resistencias en serie de valor R definen las
tensiones de comparación a 1/3V CC y 2/3V CC.

En la figura 2 se presenta al 555 en la configuración monoestable. Al aplicar un


pulso negativo en Vi con una tensión inferior a 1/3VCC, el condensador C se
carga libremente a través de R. Este proceso de carga finalizará cuando la V c =
2/3V

9
CC, en cuyo caso se produce la descarga brusca de C a través del transistor de
salida. El pulso de salida tiene una duración T, especificado por el tiempo que
tarda el condensador en pasar de ∼ 0V a 2/3V CC, viene definido por la siguiente
ecuación T = RCln3 ≈ 1,1RC.

En la figura 3 se presenta al 555 en la configuración multivibrador astable. En este


caso el condensador varía su tensión entre 1/3V CC y 2/3V CC. El proceso de
carga se realiza a través de RA+RB y el de descarga a través de RB. Como
resultado se genera a la salida una onda cuadrada no-simétrica definido por dos
tiempos T 1 y T 2. T 1 = (RA + RB)Cln2R ≈ 0,69(RA + RB)C y T 2 = RBCln2 ≈
0,69RBC.

Figura 1: Diagrama circuital de temporizador 555.

Figura 2: Configuración monoestable

10
Figura 3: Configuración astable.

2. Cálculos.

En los cálculos se puede utilizar un valor supuesto por nosotros en la formula,


ya que hay dos incógnitas de por medio pero una hay que suponerla para hallar
la otra y el tiempo es valor conocido ya por nosotros, consideramos de vital
importancia los valores comerciales ya que supondremos el valor del capacitor
porque son los que menos varían en el mercado. Luego al haber sustituido y
despejado en las formulas de las dos configuraciones podemos obtener una
astable y monoestable.

3. Ejemplo práctico de monoestable

Supongamos que te pidan la configuración de un monoestable donde te dicen que


el tiempo de duración que es 1s pues suponiendo un capacitor con valor real en el
mercado en este caso 47mF entonces sustituyendo quedaría:

T = 1,1RC

R= T
1,1C

R= 1s
1,1×47mF

R = 19,34kΩ

Entonces en base a estos cálculos podemos decir que ya calculamos los

11
valores de los componentes para realizar la configuracion monoestable en la
figura 4 lo hemos simulado en proteus.

Figura 4: Simulacion monoestable

4. Ejemplo práctico de astable

Para los calculos del astable podemos considerar que los tiempos de referencia
son:T1 = 0,7s y T2 = 0,3s.

Para hallar el valor de la R2 primero tenemos que uti-

lizar la formula de: T2 = 0,693R2C

R2= T2 0,693×C

0,3s

R2 =0,693×47mF

R2 = 9,21kΩ

Con base en este valor obtenido de R2 podemos hallar la R1 con la siguiente


fórmula propuesta en la teoría:

T1 = 0,693(R1 + R2)C

0,7 = 0,693(R1 + 9,21kΩ)(47mF )

R −1 = 0, 7s
9,21kΩ
0,693×47mF

12
En la figura 5 se representa una simulación de lo resuelto.

13
Figura 5: Simulación astable.

EJERCICIOS DE DISEÑOS ANALÍTICOS.


CONTADOR SÍNCRONO.

Requisitos de diseño:

 Contador de 3 bits.

 Conteo ascendente de 0 a 7.

 Conteo síncrono.

Solución:

Tabla de transición: Creamos una tabla de transición para entender cómo los
flip-flops deben cambiar de estado en función de las entradas actuales y la señal
de reloj:

14
Mapa de Karnaugh: Utilizamos mapas de Karnaugh para simplificar las
ecuaciones lógicas que representan los próximos estados de cada flip-flop.

 Para el flip-flop A:

 Flip-flop B:

 Flip-flop C:

15
Ecuaciones lógicas: Basándonos en los mapas de Karnaugh, obtenemos las
ecuaciones lógicas para cada flip-flop:

Implementación: Utilizamos compuertas lógicas (AND, OR, NOT) para


implementar estas ecuaciones. Con las ecuaciones obtenidas, podemos conectar
las entradas de los flip-flops a las salidas de las compuertas lógicas
correspondientes.

Las ecuaciones lógicas resultantes son:

Verificación: Una vez implementado el diseño, es importante verificar su


funcionamiento utilizando simulaciones o pruebas en un entorno de desarrollo
adecuado.

Este es un ejemplo básico de cómo resolver un ejercicio de diseño analítico de un


contador síncrono de 3 bits.
CONTADOR ASÍNCRONO.

Requisitos de diseño:

 Contador de 3 bits.

 Conteo ascendente de 0 a 7.

 Conteo asíncrono.

16
Solución:

Tabla de transición: Creamos una tabla de transición para entender cómo los flip-
flops deben cambiar de estado en función de las entradas actuales:

Mapa de Karnaugh: No necesitamos mapas de Karnaugh ya que estamos


diseñando un contador asíncrono, por lo que los estados siguientes están
determinados directamente por los estados actuales.

Ecuaciones lógicas: Para un contador asíncrono, los flip-flops cambian de estado


directamente en función de las entradas actuales. Por lo tanto, no necesitamos
ecuaciones lógicas adicionales.

Implementación: Para implementar el contador asíncrono de 3 bits, simplemente


conectamos las salidas de los flip-flops a las entradas de los flip-flops siguientes
en orden ascendente. Esto significa que la salida del primer flip-flop (el de menor
peso) se conecta a la entrada del segundo flip-flop, y así sucesivamente.

Verificación: Una vez implementado el diseño, podemos verificar su


funcionamiento observando las señales de salida en un simulador de circuitos o
utilizando pruebas en un entorno de desarrollo adecuado.

Este es un ejemplo básico de cómo resolver un ejercicio de diseño analítico de un


contador asíncrono de 3 bits.
CONTADOR ASCENDENTE.

Requisitos de diseño:
17
 Contador de 3 bits.

 Conteo ascendente de 0 a 7.

 Conteo síncrono.

Solución:

Tabla de transición: Creamos una tabla de transición para entender cómo los flip-
flops deben cambiar de estado en función de las entradas actuales y la señal de
reloj:

Ecuaciones lógicas: Para un contador síncrono, las ecuaciones lógicas para las
entradas de los flip-flops se derivan directamente de la tabla de transición. Para
cada flip-flop, la ecuación lógica se forma tomando en cuenta los bits del estado
actual y los bits del próximo estado correspondientes. Por ejemplo:

Implementación: Utilizamos compuertas lógicas (AND, OR, NOT) para


implementar estas ecuaciones. Con las ecuaciones obtenidas, podemos conectar
las entradas de los flip-flops a las salidas de las compuertas lógicas
correspondientes.

18
Verificación: Una vez implementado el diseño, es importante verificar su
funcionamiento utilizando simulaciones o pruebas en un entorno de desarrollo
adecuado.

Este es un ejemplo básico de cómo resolver un ejercicio de diseño analítico de un


contador síncrono ascendente de 3 bits.
CONTADOR DESCENDENTE.

Requisitos de diseño:

 Contador de 3 bits.

 Conteo descendente de 7 a 0.

 Conteo síncrono.

Solución:

Tabla de transición: Creamos una tabla de transición para entender cómo los flip-
flops deben cambiar de estado en función de las entradas actuales y la señal de
reloj:

Ecuaciones lógicas: Para un contador síncrono descendente, las ecuaciones


lógicas para las entradas de los flip-flops se derivan directamente de la tabla de
transición. Para cada flip-flop, la ecuación lógica se forma tomando en cuenta los
bits del estado actual y los bits del próximo estado correspondientes. Por ejemplo:

19
Implementación: Utilizamos compuertas lógicas (AND, OR, NOT) para
implementar estas ecuaciones. Con las ecuaciones obtenidas, podemos conectar
las entradas de los flip-flops a las salidas de las compuertas lógicas
correspondientes.

Verificación: Una vez implementado el diseño, es importante verificar su


funcionamiento utilizando simulaciones o pruebas en un entorno de desarrollo
adecuado.

Este es un ejemplo básico de cómo resolver un ejercicio de diseño analítico de un


contador síncrono descendente de 3 bits.

20
CONTADORES, REGISTROS Y SUS APLICACIONES.

CONTADORES

Un contador módulo k es un circuito digital capaz de contar k sucesos distintos. Estos


dispositivos no son otra cosa que circuitos secuenciales cuyos cambios de estado se
producen, evidentemente, a ritmo de su señal de reloj, y en el que cada estado “memoriza”
un valor de cuenta. Por tanto, un contador módulo-k, tiene k estados de cuentas distintos,
desde el 0, hasta el k-1. Estos dispositivos podrán incrementarse o no en función de los
valores lógicos que tomen ciertas señales de control que se estudiarán más adelante.
Inicialmente se supondrá que el contador siempre está contando, por lo que cada valor de
cuenta se corresponde con un ciclo de reloj. En la siguiente figura se muestra la evolución de
los estados de cuenta de un contador módulo k. Se observa que a partir del ciclo k de reloj,
estado de cuenta k-1, el contador vuelve a su estado inicial (estado de cuenta 0). Esto es
una característica de todos los contadores.

clk
0 1 2 3 k-1 0 1
Un contador módulo-k, tiene k estados, y estos se pueden implementar con n
biestables, existiendo una relación entre k y n determinada por la expresión:

2n-1 < k ≤ 2n

Así un contador módulo 8 se puede construir usando 3 biestables, uno de módulo 16


con cuatro biestables, y así sucesivamente. Normalmente los contadores se
construyen usando el menor número de biestables posibles y si estos tienen un
módulo que es potencia de 2, suelen identificarse también como CONTADORES DE
N BITS.

Si las salidas del contador son la codificación binaria del estado de cuenta y el
número de estados es una potencia de dos, este suele denominarse divisor de
frecuencia. En la siguiente figura se ha representado la salida de un contador
módulo 8 (contador de 3 bits o divisor de frecuencia de 3 bits).

clk
O2
mod-8 O1 0 1 2 3 4 5 6 7 0
O0
clk O0

O1

O2

En las siguientes secciones se presentarán dos posibles estructuras internas que permiten el
21
funcionamiento de los contadores (estructura asíncrona y estructura síncrona) y se
estudiarán las líneas de control y salidas más comunes que, comercialmente,
disponen estos dispositivos.

Contadores síncronos

Un contador tiene que estar formado internamente por biestables, cada uno de los
cuales dispone de su entrada de reloj. Un contador síncrono es un circuito cuyos
biestables internos son disparados por flanco y todos reciben la misma señal de
reloj. Un contador síncrono, pues, cumple con las condiciones de una máquina
secuencial síncrona.

Se puede determinar su estructura interna de dos formas distintas:

1) Se obtiene el diagrama de estados correspondiente y a partir de este el circuito.


2) Usando un procedimiento no sistemático, pero que se utiliza frecuentemente en
la síntesis de circuitos complejos.

Se deja al estudiante que obtenga la estructura interna del contador usando el


apartado 1) y aquí se describirá la 2).

Si analizamos las ondas obtenidas para el contador módulo-8

observamos que: O0: cambia de valor con cada suceso de entrada (1

ciclo de clk)
O1: cambia de valor con cada suceso de O0 (1 ciclo de O0)
O2: cambia de valor con cada suceso de O1 (1 ciclo

de O1) En particular

O0: cambia de valor con cada flanco de bajada de clk


O1: cambia de valor en los flancos de bajada de clk si O0=1
O2: cambia de valor en los flancos de bajada de clk si O0= O1=1

Si se hace corresponder la salida O i del contador con el valor qi del biestable


interno, se tiene que el biestable q0 debe cambiar de valor 0,1,0,1... en cada flanco
de bajada de clk; el biestable q1 debe cambiar de estado en el flanco de bajada de
clk si q0 es igual a 1, en caso contrario, q1 mantiene su valor; y el biestable q 2 debe
cambiar de estado si q1 = q2 =1, y en caso contrario mantiene su valor.

Esta descripción nos hace pensar que el tipo de biestable que mejor encaja para el
diseño de los contadores es el biestable T, ya que este, si su entrada es 0, provoca
que el biestable no cambie de valor y si su entrada es 1, provoca el cambio del
valor almacenado.

Por tanto, si usamos biestables tipo T,


22
tenemos que T0 = 1
T1= q0
T2= q1 q0
En general, si diseñamos un contador de n bits, la expresión de la entrada del
biestable j (donde j=1,2,3..n-1) sería

Tj= q0 q1.. qj-1

En las siguientes figuras se muestran dos posibles diseños para la estructura de un


contador síncrono de n bits
qn-2
& q1 &
q0
q0 q1 q2 qn-1
1 T0 T1 1 T2 Tn-1

clk

O1 O2 On-1
O0
Tn-2
& &
qn-2
q0 q1 q2 qn-1
1 T0 T1 1 T2 Tn-1

clk

O1 O2 On-1
O0

En los siguientes apartados se estudiarán las señales de control y salida más


comunes que acompañan a los contadores.

Reset(Clear) y Preset

La línea de Reset o Clear permite inicializar el contador a su estado de cuenta 0


cuando es activada. La línea de Preset permite inicializar el contador a su valor de
cuenta más alto (aquel en que todos los biestables están a 1). Estas líneas pueden
ser activas en alto o en bajo, y existen dos modalidades desde el punto de vista
funcional: asíncrona y síncrona.

Supongamos que la línea Clear de un contador es asíncrona. Esto implica que


inmediatamente despúes a la activación de dicha señal, el contador pasa al estado
de cuenta 0, independientemente de la señal de reloj. Por el contrario, si el clear se
activase, pero tuviese un modo de funcionamiento síncrono, el contador se pondría
en el estado de cuenta cero cuando llegase un flanco activo de la señal de reloj.
23
En resumen, un clear asíncrono no depende de clk para su funcionamiento,
mientras que un síncrono sí. Esto es igualmente aplicable para la línea de Preset.

A continuación se estudiará cómo se implementan en el contador estas funciones.

Clear o Reset asíncrono

De forma general diremos que todas las líneas de control que operen de modo
asíncrono lo hacen usando las entradas asíncronas de los biestables. El contador
está formado por biestables tipo T. Supongamos que estos tienen entradas de Cl y
Pr. Implementar un Clear asíncrono en el contador es equivalente a unir dicha
entrada de Clear a todas las entradas Cl de los biestables que forman parte del
contador. De esta manera, cuando clear se active, todos los biestables se ponen a
cero de forma asíncrona y por consiguiente el contador pasa al estado de cuenta
0. En la siguiente figura se ha representado la estructura de la celda i de un
contador de n bits, y la posible respuesta funcional de la salida del mismo para la
situación de activación de la línea Clear, que este caso es activa en baja.

Cli
Clear q
Ti
i

Oi

clk

Clear

1 2 3 4 5
Salida j+1 0
j

24
Se observa en el cronograma que la salida se pone a 0 inmediatamente después de
la activación de la línea de Clear (segundo ciclo de reloj) y se mantiene así hasta que
Clear vuelva a valer 1 ( cuarto ciclo de reloj), a partir del cual, el contador vuelve a inciar
su ritmo de cuenta.

Clear o Reset síncrono

En el clear o reset síncrono no se utilizan las entradas asíncronas de los


biestables. Se trata en este caso de introducir por la entrada T de cada uno de los
biestables el valor adecuado para que cuando se reciba un flanco activo en clk,
cada uno de los biestables se ponga a 0. Hay que tener presente que el contador
debe incrementarse cuando no se active el Clear, por lo que las entradas T deben
tener los valores ya determinados en el incio del apartado.

En primer lugar, hay que determinar qué se debe introducir a la entrada del
biestable i para que su salida qi pase a 0 en el siguiente ciclo de reloj. Supongamos
que la salida qi =0, por tanto la entrada del biestable i debe ser T i =0 para que en el
siguiente ciclo se mantenga el cero. En cambio si la salida del biestable qi =1, la
entrada Ti debe ser un 1 lógico, para que en el siguiente ciclo, la salida qi pase a
valer 0. En resumen, si queremos hacer un Clear, la entrada del biestable Ti debe
ser igual a qi. Si todos los biestables del contador disponen de esta entrada, el
contador pasará al estado de cuenta 0 cuando se reciba el flanco activo de reloj.

La siguiente figura muestra la estructura de la celda básica de un contador que


permite un clear síncrono. La entrada del biestable i está conectada a la salida de
un multiplexor de dos canales controlado por la señal Clear (activa en baja). De
esta forma, si Clear=0, el canal 0 del multiplexor(o sea qi) pasa a la entrada Ti, y se
produce el efecto deseado. Si Clear=1, el canal 1 del multiplexor( o sea qi Ti-1) pasa
a la entrada Ti, y esto implica que el contador se incrementa (modo de
funcionamiento normal)

Cli
0 qi
qi-1 &1 Ti
Ti-1

Clear

Oi

En el siguiente cronograma se ve claramente el funcionamiento del clear síncrono,


el cual no se produce realmente hasta la recepción de un flanco activo en clk.

clk

Clear

25
Salida j j+1 0 1 2 3 4 5
Preset asíncrono

Es idéntico al clear asíncrono salvo que las entradas asíncronas de los biestables a
usar es Pr.

Preset
Pri
qi
Ti

Oi

De esta forma, cuando se activa la señal de Preset del contador, todos los
biestables se ponen a 1 de forma asíncrona.

Preset síncrono

Es similar al Clear síncrono, pero en este caso pretendemos poner a 1 todos los
biestables. Si qi =1, Ti debe ser cero, para que en el siguiente ciclo se mantenga el
valor de qi, en cambio si qi =0, Ti debe ser 1, para que Qi =1 en el siguiente ciclo de
reloj. Por tanto Ti = qi’.

Cli
0 qi
qi-1 Ti
Ti-1 & 1
qi
Preset

Oi

Inhibición

Es una línea de control (activa en alta o en baja) cuya misión es detener el proceso
de cuenta del contador. Esto implica que mientras que la línea esté activa, aunque
se reciban flancos activos por la señal de reloj del contador, este no modifica su
estado de cuenta. Podemos encontrar varios diseños alternativos para implementar
la función de inhibición del contador. Uno de ellos es el mostrado por la siguiente
figura, donde la entrada de reloj del contador pasa a través de una puerta AND
antes de distribuirse por las entradas de reloj de cada uno de los biestables que
forma parte de dicho contador. La otra entrada de la AND está formada por la linea

26
de control INH. Si esta vale 1, el reloj se distribuye a todos los biestables, pero sin
INH vale 0, se distribuye un 0 a los biestables, por lo que estos no pueden cambiar
de estado al no recibirse flancos por sus entradas de reloj.

qi qi
Ti Ti

INH &
clk

Oi Oi

No obstante este tipo de implementación, que se suele denominar asíncrona,


presenta problemas a la hora de activar la inhibición de cuenta, ya que en función
del nivel de la señal de reloj, se pueden producir incrementos no deseados en el
valor de cuenta del contador. Para el caso de la figura anterior, los biestables del
contador son disparados por flanco de bajada y la señal de inhibición es activa en
bajo. Llamemos clk’ a la señal de reloj que reciben los biestables del contador, esto
es, la salida de la puerta AND. Si INH=1, clk’=clk, funcionamiento normal. Si
suponemos que clk=1 (nivel alto de reloj, y entonces INH=0, lo lógico es que el
contador, desde ese mismo momento, no debe de cambiar de estado, pero lo que
ocurre es que clk’ pasa de valer 1 a valer 0, esto es, genera un flanco de bajada que
provoca que los biestables cambien de estado incrementando la cuenta del
contador.

La forma más habitual de implementar la función de inhibición es la que se


describirá a continuación y que suele denominarse como síncrona. Aquí suponemos
que la señal de reloj del contador llega, sin obstáculos, a todos los biestables que lo
forman. Por tanto, se trata, ahora, de determinar qué deben tener las entradas T i de
los biestables del contador para que este mantenga el estado de cuenta. Que el
contador mantega su valor de cuenta es equivalente a que cada uno de los
biestables que lo forman mantengan su bit cuando INH está activo. Evidentemente
la solución es simple, Ti =0 si INH está activa. La siguiente figura muestra la
estructura de la celda básica de un contador que ha implementado este tipo de

Cli
00 qi
Otra Ti
funciones 1

INH

Oi

27
inhibición cuando esta es activa en bajo.

Como se aprecia en la figura, si INH=1, la entrada T i se correponderá con otras


funciones a realizar por el biestable, clear, cuenta,...

En la siguiente figura se representa el cronograma para la inhibición síncrona.

clk

INH

Salida 1 2 3 4 5 6 7

Load (Carga en paralelo)

En determinadas aplicaciones es interesante cargar al contador con un valor de


cuenta inicial. Esto se consigue con la línea de Load. Evidentemente el contador
debe de disponer de algunas líneas de entrada adicionales por las que se introduce
el dato a cargar, en caso de que se proceda con esta operación. Existen tantas
líneas de datos como bits tenga el contador. Cada línea de datos contiene un bit del
dato que será cargado en un biestable del contador. La línea de Load puede ser
activa en alta o en baja y tiene dos modos de funcionamiento, asíncrono y síncrono.

28
Load asíncrono

Esto se consigue mediante la activación de las señales asíncronas de Pr y Cl de


cada uno de los biestables del contador. Reduzcamos el problema a una sóla etapa
y supongamos que Load es activo en baja. Si Load = 0 y el bit a escribir en la etapa
i es 0, se deben activar las entradas Cli =0 y Pri =1. Si Load =0 y el bit a escribir es
1, entonces Cli =1, y Pri =0. Si Load
=1, Cli = Pri =1. Si representamos estos valores en un K-mapa y simplificamos,
obtenemos las siguientes expresiones para Cli y Pri

Cli = Load + Di
Pri = Load +
Di’

El circuito equivalente es Di

Load

>1 >1

Cli Pri
qi
Ti

Oi

La siguiente figura ilustra el funcionamiento de un contador que ha implementado la


operación de Load asíncrono. Como se observa, en el momento que se activa Load,
se produce la carga del dato, simbolizado como el número N.

clk

Load

N N+1 N+2 N+3


Salida 2 3 4 5

Load síncrono

En el load síncrono se trata de determinar cúal debe ser la entrada del biestable T i
29
para que este se cargue con el valor del dato Di de entrada. Si suponemos que Load
es activo en baja, tenemos que si Load=0, si Di =0 y qi =0, entonces Ti debe ser 0, si
Di =0 y qi =1, Ti debe ser 1 para forzar en el siguiente ciclo de reloj que la salida se
ponga a 0. De forma equivalente si Di
=1, y qi =1, entonces Ti debe ser 0 y si Di =1 y qi =0 Ti debe ser 1. En resumen, para
que qi sea igual al dato Di que queremos cargar debemos comparar q i con Di, si los
dos son iguales, Ti debe ser cero para no realizar ningún cambio, pero si D i y qi son
distintos, Ti debe ser 1 para que en el siguiente ciclo, qi tome el valor del bit a
cargar.
Ti = qi ⊕ Di

La siguiente figura muestra la estructura de la etapa i de un contador que incorpora


la carga síncrona.

=1
Di
0 qi
Ti
1
Load

Oi

En la siguiente figura se muestra un cronograma donde se observa el


funcionamiento de este tipo de operación.

clk

Load

N N+1 N+2 N+3


Salida 2 3 4 5

Contadores reversibles (UP/DOWN)

Los contadores estudiados hasta ahora sólo tienen capacidad de cuenta


ascendente, existen otros que tienen capacidad de cuenta descendente o incluso
ambas (ascendente y descendente). Estos últimos son los contadores reversibles.
En primer lugar se determinará la estructura de un contador descendente, y
posteriomente se unirá con la del ascendente, introduciendo la señal de control
UP/DOWN, que controla el sentido de la cuenta

30
La siguiente figura muestra la salida de un contador descendente de módulo 8.

clk
7 6 5 4 3 2 1 0 7
O0

O1

O2

Procedemos de forma similar al ascendente.


O0 cambia de valor en cada ciclo de reloj. T0=1;
O1 cambia en los flancos de bajada de clk si O0=0, en caso contrario no. Esto implica
que T1= q0’

O2cambia en los flancos de bajada de clk si O 0=0 y O1=0, en caso contrario no. Esto
implica que T2= q1’ q0’.

Si en lugar de un contador módulo 8, disponemos de un contador de n bits, la


expresión de la entrada de cualquier biestables de dicho contador sería

Ti= q0’ q1’.. qi-1’ (i=1, 2...,n-1)

Se puede comprobar que la expresión es muy similar a la del ascendente salvo que
aquí, los términos van complementados.

De forma equivalente, la expresión anterior se puede

escribir como Ti = qi-1’ Ti-1

Ya estamos en condiciones de diseñar el contador reversible. Estos disponen de


una señal de control UP/DOWN, que indica el sentido de la cuenta. Si UP/DOWN’
está a 1, cuenta ascendete, si UP/DOWN está a 0, cuenta descendente.

Por tanto la entrada Ti de cad biestable del contador debe tener la siguiente

expresión Ti = qi-1 Ti-1 UP/DOWN + qi-1’ Ti-1 UP/DOWN’

Y el circuito de la etapa i se muestra en la siguiente figura

q'i-1 &
Ti-1
qi-1 0
Ti-1 Ti 31
& 1
UP/DOWN qi

Líneas de Carry y Borrow


Son salidas del contador que informan de la llegada al último estado de cuenta del
mismo. Para contadores ascendentes, se usa la salida Carry(CY) y para
descendentes Borrow(Bw). La salida CY se pone a 1 cuando el contador
ascendente alcanza su estado de cuenta más alto. Por ejemplo, si el contador es
de módulo 8 la salida CY se pone a 1 cuando el contador llega al estado 7 ( ver la
siguiente figura).

32
clk

Salida 2 3 4 5 6 7 0 1

1 CY

En cambio la señal de Borrow se activa cuando el contador descendente alcanza


su estado de cuenta más bajo, el 0. (ver siguiente figura)

clk

Salida 4 3 2 1 0 7 6 5

5 BW

Los contadores reversibles disponen de una señal de salida TC(Terminal Count)


que se pone a1 si se alcanza el estado de cuenta más alto si el contador tiene el
modo ascendente(CY) o se activa en el estado de cuenta 0 si el contador está
programado como descendente (Bw)

Contadores asíncronos

Otro diseño alternativo al contador módulo 8 del príncipio del apartado 2.1 es el
que se muestra en la siguiente figura.

33
clk
0 1 2 3 4 5 6 7 0
O0

O1

O2

q0 q1 q2
T T1 T2
1 0 1 1

clk
O O1 O2
0

Según se desprende de las formas de onda de salida del contador:


O0 cambia en los flancos de bajada de clk, por lo que el biestable 0 tiene su entrada
T igual a 1 y su entrada de reloj igual a la señal de reloj clk

O1 es a O0 como O0 es a cllk. Esto es, si O0 fuese considerado como una señal de


reloj, entonces la entrada del biestable T puede estar a 1. Con esto conseguimos
que este biestable siempre cambie en los flancos de bajada de O1.

De igual forma, O2 cambia en los flancos de bajada de O1, por lo que la entrada de
reloj del biestable 2 es O1 y su entrada T es un 1.

Este tipo de diseño alternativo se denomina también contador de rizado o ripple-


counter, por la especie de rizo que hace la conexión de la salida de un biestable a la
entrada de reloj del siguiente biestable. La estructura de este contador es más
simple que la del sincrono, por no necesitar de puertas lógicas adionales, sin
embargo presenta algunos inconvenientes, como la velocidad de operación (que es
menor en este caso) y la aparición de estados de cuentas fantasmas. Analicemos
este último aspecto. Supongamos la situación realista de que los biestables del
contador de rizado anterior, tienen un tiempo de propagación no nulo, igual a tp.
Como se muestra en la siguiente figura, el contador va a pasar del estado de cuenta
3 al 4. Al usarse la salida de un biestable como reloj del siguiente, los retrasos
van acumulándose de una etapa a otra, por lo que la salida de cuenta verdadera,
tarda un tiempo, en este caso, igual a 3 tp. En el intervalo de tiempo comprendido

34
entre 0 y 3 tp se han producido cuentas transitorias erróneas.

clk

O0

O1

O2
32
04

Los contadores asíncronos comerciales disponen de señales de control, como


Reset, Load,.. todos, con funcionamiento asíncrono (ya descrito en el apartado
anterior).

Contadores con módulo diferente a la potencia de dos

Es habitual que en la práctica se necesiten contadores con un módulo diferente a la


potencia de dos (en el mercado es muy común encontrarse con contadores módulo
10 por la importancia que tiene esta base de numeración). Si se desea construir un
contador con un módulo distinto a lo que se ofrece comercialmente, tenemos dos
posibilidades:

a) Diseñarlo con biestables y puertas, como si se tratara de una máquina secuencial


síncrona
b) Usando contadores y puertas. Disponiendo de un contador con un módulo
mayor del que se desea diseñar, y puertas lógicas, podemos hacer que este se
comporte contando sólo aquellos estados de interés.

Aquí se desarrollará el método indicado por el apartado b), remitimos al alumno al


tema 7 para el diseño por el apartado a).

Ejemplo: Se desea construir un contador módulo 10, que cuente desde el 0 hasta el
9, usando un contador módulo 16 y puertas lógicas.

Es lógico que el contador módulo 16 usado para implementar el módulo 10 debe


interrumpir su cuenta cuando llega al estado de cuenta 9. Esto es, el contador
módulo 16 pasaría, después del 9, al estado de cuenta 10, pero debemos obligarle
a que, en lugar del 10, pase al estado de cuenta 0. Esto es posible si el contador
dispone de línea de Clear. De alguna manera, esta línea debe de activarse cada
vez que sea necesario para forzar el paso del estado de cuenta 9 al 0. Existen dos
alternativas de diseño, en función de que la línea de Clear tenga un modo de
funcionamiento asíncrono o síncrono. Analizaremos las dos situaciones.

35
🡪Con clear síncrono (activo en bajo)

Aquí se plantea diseñar un circuito combinacional que en función del estado de


cuenta del contador módulo 16 active la señal de clear. Como esta es síncrona,
debe activarse en el estado de cuenta 9, para que el próximo estado, en el
siguiente flanco activo de clk, sea 0.
0302
010000 01 11 10
00 modulo-16 Cl
01
11 O3O2O1O0
10 1 1 x 1
clk C.C. 1 1 x 0
Cl
1 1 x x
1 1 x x

Por tanto Cl= (O3 O0)’

En la siguiente figura se muestra un cronograma donde se aprecia el


funcionamiento del conjunto contador-puerta. Se observa que en el estado de
cuenta 9, la señal de Cl se pone a 0, lo que obliga a que el contador se ponga a 0
en el siguiente ciclo de reloj.

clk

6 7 8 9 0 1 2 3 4
Salid

Cl

36
🡪 Con clear asíncrono (activo en bajo)

El procedimiento con el clear asíncrono es similar que con el síncrono, salvo que
este caso la señal de clear debe activarse en el estado de cuenta 10. Una vez que
el circuito combinacional detecta la llegada de este estado, activa la señal de clear,
lo que provoca que inmediatamente el contador se ponga a cero (sin esperar el
flanco activo de clk).
0302
010000 01 11 10
modulo-16 Cl 00
01
O3O2O1O0 11 1 1 x 1
10 1 1 x 1
clk C.C .
1 1 x x
1 1 Cl x 0

Por tanto Cl = (O3 O1)’

La siguiente figura muestra un cronograma del funcionamiento de este contador,


donde se ve que el estado de cuenta 10 aparece durante un tiempo pequeño, el
necesario para la ejecución de la operación Clear.

clk

Salida 6 7 8 9 10 0 1 2 3 4

Cl

Contadores de anillo y conmutado en cola

La siguiente figura muestra la estructura de un contador en anillo de módulo-4. Este


esta constituido por 4 biestables, conectados entre sí de modo que la salida de uno
es la entrada del siguiente y así sucesivamente hasta llegar al último biestable,
cuya salida se reintroduce por la entrada del primero. Esto da idea del nombre de
contador en anillo. En este contador, el estado de cuenta j, viene determinado por
un 1 en la salida Oj.

37
Init 1 1 1 1

Cl Pr Cl Pr Cl Pr Cl Pr
D0q0 D1q1 D2q2 D3q3

clk
O0 O1 O2 O3
La línea Init sirve para inicializar el circuito, de forma que cuando está vale 0, los
biestables 0,1,2,3 toman, de forma asíncrona, los valores 1,0,0,0 respectivamente.
La puesta a 1 de Init sirve como indicador para la puesta en marcha del contador.
La siguiente figura muestra el cronograma temporal del funcionamiento de este
contador.
Init

clk

O0

O1

O2

O
3

En el ciclo de reloj posterior a la inicialización, el biestable 1 captura el 1 que tiene


el biestable 0, mientras que este, junto con los biestables 2 y 3, se ponen a cero. En
el siguiente ciclo, el biestable 2 captura el 1, los restantes están a cero, y así
sucesivamente. En definitiva, existe un único 1 que en cada ciclo de reloj va
pasando de un biestable a otro del contador.

38
Una modificación al contador anterior, la constituye el anillo de Johnson o
conmutado en cola, el cual permite un número mayor de estados. En concreto, si
este nuevo contador tiene n biestables, el número de estados de cuenta es de 2*n.
Sin embargo, este contador, a diferencia del de anillo, no muestra de forma
evidente el estado de cuenta. La siguiente figura muestra la estructura de un
contador de anillo conmutado en cola o contador de Johnson.

Init
Cl Pr Cl Pr Cl Pr Cl Pr
q0 q1 q2 q3
D0 D1 D2 D3
q3

clk
O0 O1
O2
O
3

Son dos las diferencias con el contador en anillo:


1) La inicialización. Todos los biestables del contador se inicializan con 0
2) Las entrada de cada biestable está conectada con la salida del biestable
anterior, salvo el primero, cuya entrada es la salida complementada del último
biestable, el que está en la cola. (De ahí el nombre de conmutado en cola)

39
Las salidas de este contador se muestra en la siguiente figura. Si inicialmente todos
los biestables están a cero, en el siguiente ciclo de reloj, el biestable 0, se carga
con un 1, ya que su entrada es el complemento del contenido del biestable situado
en cola. En el siguiente ciclo de reloj este 1 pasa al biestable 1, mientras que el
biestable 0 sigue cargándose con un 1 (mientras que q3=0). Este proceso se repite
hasta que por fin, todos los biestables están a 1. En el siguiente ciclo de reloj, el
biestable 0 se carga con un 0 (al ser q3=1). A continuación este cero pasa al
biestable 1, en el siguiente ciclo de reloj, mientras que el biestable 0 sigue
cargándose con un 0. Esto se va repitiendo hasta que finalmente todos los
biestables se encuentran a 0, el punto de partida. A partir de aquí se repite toda la
secuencia. Se ve claramente, que todos los estados posibles son 8, justamente el
doble del número de biestables.

Init

clk

O0

O1
O2

O3

REGISTROS

Un registro de n bits es un dispositivo que tiene capacidad de almacenar n bits.


Internamente están formados por biestables, tantos como bits sea capaz de
almacenar el registro. Normalmente estos dispositivos son síncronos siendo los
biestables D los más usados para la implementación interna.

En cuanto a las operaciones básicas que se realizan sobre los registros destacamos
fundamentalmente dos: escritura (W) y lectura (R), aunque habitualmente se
pueden encontrar registros que incorporan operaciones como Clear.

Los registros se pueden clasificar en función de cómo se lean o escriban los bits, así
podemos encontrar:

🡪 registros con entrada serie (entrada hace referencia a escritura) y salida serie
(salida hace referencia a lectura)

🡪 registros con entrada serie y salida paralelo

40
🡪 registros con entrada paralelo y salida serie

🡪 registros con entrada paralelo y salida paralelo.

Si disponemos de un registro de n bits, diremos que si este tiene entrada serie,


entonces el registro sólo tiene una línea de entrada de datos por la que, uno tras
otro, se introducen los n bits que serán almacenados por el registro. Si un registro
de n bits se dice que tiene entrada paralelo, entonces dicho registro dispone de n
líneas de entrada, una por cada bit, por la que se introducen simultáneamente los n
bits al registro. Estos conceptos de entrada serie y entrada paralelo son igualmente
aplicables para la salida serie y salida paralelo. Un registro de n bits tiene salida
serie, implica que tiene una única línea de salida por la que, uno tras otro, van
saliendo los n bits almacenados en el registro. Si un registro de n bits tiene salida
paralelo, implica que dispone de n salidas, una por cada bit, de forma que
simultáneamente se leen todos los bits del registro.

Todos los registros que tengan algún modo de funcionamiento serie para lectura o
para escritura se denominan registros de desplazamiento (Shift registers). Podemos
encontrar dos tipos de registros de desplazamiento en función del sentido de
movimiento de los bits: izquierda o derecha.

2.1. Registro de entrada serie y salida serie

La estructura básica de un registro de 4 bits de entrada serie y salida serie se


muestra en la siguiente figura.

Salida
Entrada serie
serie q3 q2 q1 q0
D3 D2 D1 D0

clk

Para todos los registros de desplazamiento es necesario que los biestables D que lo
constituyen sean disparados por flanco. Sólo se salva de esta regla el registro de
entrada paralelo y salida paralelo, el cual suele estar formado por biestables
disparados por nivel.

Se observa en el registro de la figura anterior, que los biestables están conectados


de forma que la salida de cada uno se corresponde con la entrada del biestable
situado inmediatamente a su derecha. Asimismo, la salida del biestable situado a la
derecha del conjunto se corresponde con la salida del registro serie, mientras que la
entrada para el biestable situado a la izquierda del conjunto se correponde con la
41
entrada de datos del registro.

Para que el registro opere de forma adecuada, los bits de entrada deben estar
sincronizados con la señal de reloj, esto es, un bit de entrada por cada ciclo de reloj.
El primer bit, B0, de entrada se escribirá en el biestable D3 en el primer ciclo de reloj,
el segundo bit de entrada, B1, vuelve a escribirse en D3, encima de B0, el cual pasa,
al biestable D2. El tercer bit de entrada, B2, se escribe nuevamente en D3, encima de
B1, el cual pasa al biestable D2, sobreescribiendo el bit B0, que, a su vez, pasa a D1.
Así se completa la secuencia de escritura para los cuatro bits.

? ? ? ?
B0 Inicio

B0 ? ? ?
B1 Despues del flanco
activo del primer ciclo de clk

B1 B ? ?
B2 0 Despues del flanco
activo del segundo ciclo de clk

B2 B1 B0 ? Despues del flanco


B3 activo del tercer ciclo de clk

B3 B2 B1 B0 Despues del flanco


activo del cuarto ciclo de clk

Para la lectura serie el procedimiento es similar. Sólo hay que tener en cuenta que
para leer el primer bit almacenado, el B0, no es necesario esperar ningún ciclo de
reloj, ya que la salida q del último biestable, (y por tanto el bit B0), se encuentra
conectada con la salida del registro. La siguiente figura ilustra el proceso de lectura
en cada ciclo de reloj.

? B3 B2 B1

42
B3 B2 B1 B0
? Primer ciclo de reloj
B0Lectura del bit B 0

? Segundo ciclo de clk


B1Lectura del bit B 1

? ? B3 B2 Tercer ciclo de clk


? Lectura del bit B 2
B2

? ? ? B3 Cuarto ciclo de clk


? Lectura del bit B 2
B3

Por todo lo visto, podemos decir que el registro de entrada serie y salida serie
presentado en este apartado es un registro de desplazamiento a derecha. El
registro de desplazamiento a izquierda se hubiera construido de forma similar
sin más que conectar la salida de un biestable con la entrada del biestable
situado a su izquierda. La entrada del registro sería en este caso D0, y la salida, q3.

Registro con entrada serie y salida paralelo

La siguiente figura muestra la estructura básica de un registro de entrada serie y


salida paralelo de 4 bits. Al igual que en el apartado anterior, este es un registro de
desplazamiento a derecha

Entrada
serie q3 q2 q1 q0
D3 D2 D1 D0

clk

O3 O2 O1 O0
Salida paralelo

El procedimiento de escritura es el mismo que el descrito en el apartado anterior.


En cuanto a la lectura, se hace evidente que el registro no depende de la señal de
&

&

reloj para mostrar su contenido, este siempre aparece en las líneas de salida.

43
Registro con entrada paralelo y salida serie.

La siguiente figura ilustra la estructura básica de un registro de estas características.


Entrada
paralelo
A3 A2 A1 A0
Load
C.C. C.C. C.C. C.C.

Cl Pr Cl Pr Cl Pr Cl Pr
D0q0
D3q3D2q2D1q1 Salida
serie

clk

Load A3

Cl Pr

44
El procedimiento de lectura es igual al descrito en el apartado 2.1, para lo que se
hace necesario que los biestables esten conectados entre sí, salida de uno con la
entrada del siguiente. (Se comprueba que el registro de desplazamiento es
nuevamente a la derecha). Aquí se modifica el proceso de escritura, que se realiza
cuando la línea Load está activa.

En la escritura en paralelo, todos los bits de entrada A i, se cargarán


simultáneamente en los biestables qi. En la figura se ha escogido un procedimiento
de carga asíncrona, usando las entradas de Clear y Preset de los biestables. (Se
deja al estudiante la estructura para un procedimiento de carga o escritura
síncrona). Se ha diseñado un circuito combinacional, formado por dos puertas
NAND y un inversor, que controla las líneas de Cl y Pr de cada biestable en función
del bit a escribir, Ai, y de la señal de control Load. Cuando esta última está a 0, las
entradas Cl y Pr están a 1, no ocurre nada. Si Load =1, entonces si Ai =0, se activa
Cl y si Ai =1, se activa Pr, esto es, escritura asíncrona de un 0 o un 1
respectivamente. Haciendo extensible este proceso de escritura de un biestable a
todos los biestables que constituyen el registro, tenemos el proceso de escritura del
mismo.

2.4. Registro con entrada paralela y salida paralelo.

La siguiente figura ilustra la estructura de un registro con entrada y salida en


paralelo de 4 bits.
Entrada
paralelo

q3 q2 q1 q0
D3 D2 D1 D0

clk

O0 O1 O2 O3
Salida paralelo

Como se observa, los biestables son del tipo disparado por nivel bajo en lugar de
disparado por flanco. Esto suele ser habitual en este tipo de registros, denominados
también como LATCH, aunque no se descarta la posibilidad de que se puedan
diseñar con biestables disparados por flanco.

Si la señal clk vale 0, los biestables capturan simultáneamente todos los bits de
entrada. Si clk vale 1, los biestables mantienen la información capturada que
45
muestran siempre por sus líneas de salida.

2.5 Registro Universal

Un registro universal es aquel que tiene todas las formas de lectura y escritura posibles
(tanto en serie como en paralelo)

Ejemplo.: Diseñar un registro universal de 4 bits que tenga las siguientes


operaciones: desplazamiento a la derecha, desplazamiento a la izquierda, carga en
paralelo y clear.

De las cuatro operaciones anteriores, las de desplazamiento a derecha y a


izquierda, forzosamente tienen que ser síncronas. La carga y el clear pueden ser
síncronas o asíncronas. Supongamos que clear es asíncrono y la carga es
síncrona. Tenemos un total de 4 operaciones a realizar más la de NOP (no
operate) o inhibición que debe estar presente en cualquier diseño de registro ya
que esta es la equivalente a mantener la información. Está claro que para
implementar la operación asíncrona se necesita que los cuatro biestables que
forman parte del registro tengan entradas asíncronas, en este caso de Cl, la cual se
conecta directamente con la entrada de CLEAR del registro. Las otras cuatro
operaciones síncronas, se van a codificar en dos líneas de control S1, S0, tal como
se muestra en la siguiente tabla.

RIN 4 LIN
Clea
r
S1 REG[4]
S0

4 RO
LOUT UT

S1 S0 Operación
00 SHR (Desplazamiento a la derecha)
01 Load
10 NOP o INH
11 SHL (Desplazamiento a la izquierda)

Para la escritura o carga en paralelo, el registro ha de disponer de cuatro líneas de


entrada. Para la lectura en paralelo, el registro dispone de cuatro líneas de salida.
Para la lectura/escritura serie a la derecha, el registro dispone de dos líneas, R in,
Rout y para la lectura/escritura a la izquierda, el registro también dispone de las
líneas Lin, Lout . Además se necesita la entrada de reloj.

46
Si S1 S0=00, desplazamiento a la derecha, las entradas de los cuatro biestables del
registro deben ser (suponiendo D3 el registro situado a la izquierda y D0 el situado a
la derecha)
D3= Rin
D2= q3
D1= q2
D0= q1
Y la salida Rout está formada por q0
Si S1 S0=01. Operación de Load, las entradas deben ser los valores que tengan las
entradas en paralelo del registro. Designemoslas como B0,B1,B2 y B3

D3=B3
D2=B2
D1=B1
D0=B0

Si S1 S0=10. NOP, las entradas de los biestables

deben ser D3= q3


D2= q2
D1= q1
D0= q0

Para que no pierdan la información

Si S1 S0=11. Desplazamiento a la izquierda, las entradas de los biestables

deben ser D3= q2


D2= q1
D1= q0
D0=Lin
Y la salida Lout está formada por q3

En cualquier caso, las salidasO3-0 son los valores de los

biestables q3-0

En general podemos decir que

D3= S1‘S0‘Rin + S1‘S0 B3 + S1 S0‘q3 + S1 S0


q2 D2= S1‘S0‘ q3 + S1‘S0 B2 + S1 S0‘ q2 + S1
S0 q1 D1= S1‘S0‘ q2 + S1‘S0 B1 + S1 S0‘ q1 +
S1 S0 q0 D0= S1‘S0‘ q1 + S1‘S0 B0 + S1 S0‘
q0 + S1 S0 Lin

47
APLICACIONES.

Los contadores digitales tienen una amplia gama de aplicaciones en diversos


campos:

1. Electrónica y Circuitos Digitales: Los contadores digitales se utilizan en la


construcción de circuitos digitales para contar eventos como pulsos de reloj, señales
de entrada digitales, etc. Son componentes esenciales en la mayoría de los sistemas
digitales.
2. Medición de Tiempo: Se utilizan en cronómetros y relojes digitales para medir el
tiempo con precisión.
3. Procesamiento de Señales: En el procesamiento de señales digitales, se utilizan
contadores para contar el número de ciclos de reloj o para determinar la frecuencia de
una señal.
4. Comunicaciones Digitales: En aplicaciones de telecomunicaciones, los contadores
pueden utilizarse para dividir frecuencias, lo que facilita la multiplexación de señales.
5. Instrumentación: Se utilizan en instrumentos de medición como osciloscopios y
analizadores de espectro para medir el tiempo, la frecuencia y otros parámetros.
6. Sistemas de Control: En sistemas de control digital, los contadores pueden utilizarse
para contar eventos, sincronizar acciones o generar secuencias de salida.
7. Electrónica de Consumo: En dispositivos electrónicos de consumo como televisores,
radios y equipos de audio, los contadores se utilizan en la sincronización de señales y
en la implementación de diversas funciones.
8. Aplicaciones Industriales: En la automatización industrial, los contadores se utilizan
para contar productos, controlar procesos y monitorear el rendimiento de la
maquinaria.
9. Aplicaciones en Informática: En informática, los contadores se utilizan en la
medición del rendimiento de hardware, en la generación de números aleatorios y en
diversas aplicaciones de programación.
10. Aplicaciones de Seguridad: Se utilizan en sistemas de seguridad para contar
eventos como el número de personas que entran o salen de un área, el número de
vehículos que pasan por un punto de control, etc.

Su versatilidad y precisión los hacen fundamentales en la tecnología digital


moderna.

Los registros de n bits, al igual que los contadores, tienen una amplia variedad de
aplicaciones en distintos campos:

1. Almacenamiento de Datos: Los registros de n bits se utilizan para almacenar


información digital en sistemas de almacenamiento como memoria RAM, memoria
caché y registros de CPU.
2. Procesamiento de Señales: En el procesamiento de señales digitales, los registros
de n bits se utilizan para almacenar muestras de señales analógicas digitalizadas,
como en sistemas de audio, procesamiento de imágenes, etc.
3. Aritmética Digital: En la aritmética digital, los registros de n bits se utilizan para
48
almacenar operandos y resultados en operaciones aritméticas como sumas, restas,
multiplicaciones y divisiones.
4. Control de Secuencias: En sistemas secuenciales, los registros de n bits se utilizan
para almacenar estados de control y secuencias de operaciones, como en máquinas
de estados finitos y en el control de procesos.
5. Interfaces de Comunicación: En sistemas de comunicación digital, los registros de n
bits se utilizan para almacenar datos que se transmiten entre dispositivos, como en
puertos seriales y paralelos, interfaces USB, Ethernet, etc.
6. Generación y Control de Sincronización: En sistemas digitales, los registros de n
bits se utilizan para generar y controlar señales de sincronización, como pulsos de
reloj, señales de habilitación, señales de reinicio, etc.
7. Procesamiento de Imágenes: En aplicaciones de procesamiento de imágenes, los
registros de n bits se utilizan para almacenar pixeles, colores y otras características de
las imágenes.
8. Criptografía: En sistemas de seguridad y criptografía, los registros de n bits se utilizan
para almacenar claves de cifrado, vectores de inicialización y otros datos sensibles.
9. Aplicaciones de Control y Automatización: En sistemas de control y
automatización, los registros de n bits se utilizan para almacenar datos de sensores,
estados de dispositivos y otros parámetros de control.
10. Simulación y Modelado: En aplicaciones de simulación y modelado, los registros de
n bits se utilizan para representar variables digitales y estados de sistemas simulados.

Su capacidad para almacenar y manipular datos digitales los hace esenciales en la


mayoría de los sistemas digitales modernos.

DISEÑO DE CIRCUITO LÓGICO SECUENCIAL.


Diseñar un contador repetitivo para la secuencia 0 3 1 2, donde el dígito de la
izquierda es el primero a mostrar. Para cuando la entrada X,
• X sea 1: el contador avanzará en la secuencia hacia la derecha
• X sea O: el contador detendrá la secuencia (permanecerá en el dígito).
La salida Y será 1 cuando se complete la secuencia y retorne al primer dígito. Utilice
FFJK.

49
50
51
52
53
54
DESCRIPCIÓN DE LAS APLICACIONES DE CIRCUITOS SECUENCIALES EN
PROCESOS INDUSTRIALES.
Los circuitos secuenciales desempeñan un papel fundamental en los procesos
industriales al controlar y coordinar una secuencia específica de eventos o acciones:
1. Control de Maquinaria: Los circuitos secuenciales se utilizan para controlar el
encendido y apagado de motores, actuadores y otros dispositivos en maquinaria
industrial. Por ejemplo, en una línea de montaje, los circuitos secuenciales pueden
activar los diferentes componentes en el orden correcto para ensamblar un producto.
2. Automatización de Procesos: En plantas industriales, los circuitos secuenciales
controlan automáticamente el flujo de materiales, la temperatura, la presión y otros
parámetros en los procesos de fabricación. Por ejemplo, en una planta química, los
circuitos secuenciales pueden controlar la apertura y cierre de válvulas para regular la
mezcla de ingredientes.
3. Control de Secuencias: Los circuitos secuenciales coordinan secuencias complejas
de operaciones en procesos industriales. Por ejemplo, en la fabricación de productos
electrónicos, los circuitos secuenciales controlan la secuencia de soldadura,
ensamblaje, prueba y empaquetado.
4. Sistemas de Transporte Automatizado: En almacenes y centros de distribución, los
circuitos secuenciales controlan sistemas de transporte automatizado como
transportadores de rodillos, cintas transportadoras y brazos robóticos. Estos circuitos
coordinan el movimiento de productos a lo largo de la cadena de suministro.

55
5. Control de Almacenamiento y Manipulación de Materiales: En sistemas de
almacenamiento automatizado, los circuitos secuenciales controlan la entrada, salida y
ubicación de materiales en estanterías, contenedores y plataformas de
almacenamiento.
6. Control de Hornos y Calderas: En la industria metalúrgica y de procesamiento de
alimentos, los circuitos secuenciales controlan el encendido, apagado y la regulación
de la temperatura en hornos y calderas para procesos de fundición, cocción y
esterilización.
7. Sistemas de Embalaje y Etiquetado: En líneas de envasado y etiquetado, los
circuitos secuenciales controlan el movimiento de productos, la aplicación de etiquetas,
el llenado de envases y otras operaciones relacionadas con el empaquetado.
8. Control de Procesos Continuos: En procesos continuos como la producción de
papel, plástico y productos químicos, los circuitos secuenciales controlan el flujo
constante de materiales a través de múltiples etapas del proceso.
Los circuitos secuenciales son vitales en la automatización y control de una amplia
gama de procesos industriales, ayudando a mejorar la eficiencia, la precisión y la
seguridad en la producción.

CONCLUSIÓN.
Los flip-flops son dispositivos básicos en la electrónica digital que pueden almacenar
un bit de información y cambiar de estado cuando se activa una señal de reloj. Estos
56
elementos forman la base de los circuitos secuenciales, como los contadores, que
pueden contar o almacenar secuencias de números binarios. Los contadores son
esenciales en aplicaciones donde se requiere la contabilización o la generación de
secuencias de pulsos.
Los generadores de señales de reloj son circuitos que producen señales periódicas,
utilizadas para sincronizar la operación de otros circuitos digitales. Estos
generadores son fundamentales en sistemas digitales para garantizar la
sincronización y el funcionamiento correcto de los dispositivos conectados.
Los flip-flops, contadores, generadores de señales de reloj y otros circuitos
secuenciales son componentes esenciales en la construcción de sistemas digitales
complejos, desde computadoras hasta dispositivos electrónicos de consumo,
proporcionando la capacidad de almacenamiento, conteo y sincronización necesaria
para su funcionamiento adecuado.

BIBLIOGRAFÍA.
https://www.ingmecafenix.com/electronica/componentes/flipflop/
file:///C:/Users/USUARIO/Downloads/circuitos-generadores-de-pulso-de-reloj-
191020164802.pdf
https://www.euroinnova.edu.es/blog/que-son-los-contadores
57
chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://www.dte.us.es/
personal/amolina/contadores%20y%20registros/contadores%20y%20registros.pdf
https://www.google.com/search?q=dise
%C3%B1o+de+circuito+logico+secuencial&rlz=1C1ALOY_esMX973MX973&oq=dis
e
%C3%B1o+de+circuito+logico+secuencial&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTI
HCAEQIRigATIHCAIQIRigATIHCAMQIRifBTIHCAQQIRifBTIHCAUQIRifBTIHCAYQI
RifBTIHCAcQIRifBTIHCAgQIRifBTIHCAkQIRifBdIBCDk0NDVqMGo3qAIAsAIA&sour
ceid=chrome&ie=UTF-8#fpstate=ive&vld=cid:f089f2ca,vid:tCTR8R6EHUo,st:0

58

También podría gustarte