¿Por qué registramos Flip Flops?

17

Estoy tratando de entender Flip Flops & Pestillos Estoy leyendo el libro de Digital Logic por Morris Mano. Una cosa que no puedo entender es ¿por qué nos registramos flip-flops?

Entiendo por qué necesitamos 'habilitar' o cierres cerrados. ¿Pero cuál es el uso del reloj? No puedo entender esto. ¿Por qué no podemos simplemente habilitar los flip-flops requeridos & darles entrada? A medida que cambiamos en la entrada, la salida cambia. ¿Por qué tenemos que cambiar la salida al subir o bajar el borde del reloj (en caso de un flip-flop disparado por el borde)?

Se agradece cualquier ayuda con respecto a esto.

    
pregunta avi

5 respuestas

16

Una de las razones por las que registramos flip flops es que no hay caos cuando las salidas de flip flops se alimentan a través de algunas funciones lógicas y regresan a sus propias entradas.

Si la salida de un flip-flop se usa para calcular su entrada, nos corresponde tener un comportamiento ordenado: para evitar que el estado del flip-flop cambie hasta que la salida (y por lo tanto la entrada) sea estable.

Este reloj nos permite construir computadoras, que son máquinas de estado: tienen un estado actual, y calcular su próximo estado en función del estado actual y algunas entradas.

Por ejemplo, supongamos que queremos construir una máquina que "calcula" un recuento de 4 bits en aumento de 0000 a 1111, y luego se ajusta a 0000 y continúa. Podemos hacer esto usando un registro de 4 bits (que es un banco de cuatro flip-flops D). La salida del registro se coloca a través de una función lógica combinatoria que agrega 1 (un sumador de cuatro bits) para producir el valor incrementado. Este valor simplemente se envía al registro. Ahora, cada vez que llega el borde del reloj, el registro aceptará el nuevo valor que es uno más su valor anterior. Tenemos un comportamiento ordenado y predecible que recorre los números binarios sin ningún problema técnico.

Los comportamientos de temporización también son útiles en otras situaciones. A veces un circuito tiene muchas entradas, que no se estabilizan al mismo tiempo. Si la salida se produce instantáneamente a partir de las entradas, será caótica hasta que las entradas se estabilicen. Si no queremos que los otros circuitos que dependen de la salida vean el caos, hacemos que el circuito esté sincronizado. Permitimos una generosa cantidad de tiempo para que las entradas se liquiden y luego indicamos al circuito que acepte los valores.

La sincronización también es parte inherente de la semántica de algunos tipos de chanclas. Un flip flop no se puede definir sin una entrada de reloj. Sin una entrada de reloj, ignorará su entrada D (¡inútil!), O simplemente copiará la entrada en todo momento (¡no un flip-flop!) Un flip-flop RS no tiene reloj, pero usa dos entradas para controlar el estado que permite que las entradas se "marquen automáticamente": es decir, que sean las entradas, así como los activadores del cambio de estado. Todos los flip flops necesitan una combinación de entradas que programen su estado, y alguna combinación de entradas les permite mantener su estado. Si todas las combinaciones de entradas activan la programación, o si todas las combinaciones de entradas se ignoran (el estado se mantiene), eso no es útil. Ahora que es un reloj? Un reloj es una entrada especial dedicada que distingue si las otras entradas se ignoran o si programan el dispositivo. Es útil tener esto como una entrada separada, en lugar de que se codifique entre varias entradas.

    
respondido por el Kaz
6

Un flip-flop de borde ascendente puede considerarse como dos pestillos espalda con espalda, uno de los cuales se habilita poco después de que la señal del reloj se agote y permanezca habilitada hasta que se eleve; el segundo se habilita poco después de que el reloj se pone alto y permanece habilitado hasta que se agota Tener un breve momento durante el cual ninguno de los flip flop está habilitado significa que la salida de un flip flop puede ser realimentada de manera segura a su entrada a través de la lógica combinatoria. Un cambio en la salida en un ciclo de reloj puede hacer que la entrada cambie, pero ese cambio de entrada no tendrá ningún efecto hasta el próximo ciclo de reloj.

Históricamente, solía ser bastante común que los dispositivos digitales usaran lo que se denominó un "reloj de dos fases", que tenía dos cables de reloj que eran altos para intervalos no superpuestos durante cada ciclo. Todos los pestillos se dividen en dos grupos, con un reloj que controla el primer grupo de pestillos y el otro reloj que controla el segundo; en la mayoría de los casos, las salidas de cada grupo solo se utilizan para calcular las entradas del otro. Cada ciclo de reloj consta de uno o más pulsos en el primer reloj, al menos uno de los cuales debe cumplir con las especificaciones de longitud mínima, y uno o más pulsos en el segundo (el mismo requisito). Una de las ventajas de este diseño es que puede ser muy tolerante con la inclinación del reloj siempre que el tiempo muerto entre las fases del reloj exceda la cantidad de inclinación del reloj. Dos desventajas de tales diseños son que requieren que se ejecuten dos cables de reloj en todo el lugar, y que para obtener la velocidad máxima uno generalmente debe dividir la lógica en dos grupos e intentar equilibrar los retrasos de propagación entre ellos.

Un enfoque más "moderno" es hacer que cada elemento de enganche (registro) reciba un solo cable de reloj y genere esencialmente sus propios relojes internos no superpuestos. Esto requiere que el sesgo de reloj máximo no exceda el tiempo de propagación mínimo entre registros, pero las herramientas modernas permiten controlar el sesgo de reloj de manera más precisa de lo que era posible en décadas pasadas. Además, en muchos casos, la sincronización monofásica simplifica los diseños al eliminar la necesidad de dividir la lógica en dos grupos.

    
respondido por el supercat
1

Todos sabemos que los circuitos reales digitales van a contener MUCHAS puertas. Es posible que una señal tenga que tomar varias rutas para llegar a la última puerta que da la salida. Una señal tarda algo de tiempo en "propagarse" en las diferentes rutas que llegan a la última puerta. El tiempo necesario para propagarse no es el mismo en diferentes rutas. Esto nos lleva a lo que llamamos fallas. Se producen fallos ya que algunos caminos son más cortos que otros y cuando una señal llega antes a la última puerta, toma el camino más corto, lo efectúa inmediatamente antes de que las otras señales en el camino más largo alcancen la puerta. La salida que esto produce momentáneamente es incorrecta y puede volverse peligrosa en un circuito digital que lleva a la propagación de errores.

Ahora llego a por qué necesitamos un reloj. Un reloj esencialmente "sincroniza" el circuito con una sola señal externa. Piense en ello como un ritmo al que el circuito está sintonizado para que le guste la música. Las cosas suceden en sintonía con este reloj, no clock = circuit está deshabilitado. Al utilizar el reloj, nos aseguramos de que las diferentes partes del circuito funcionen en armonía al mismo tiempo . De esta manera el comportamiento del circuito es más predecible. También se ve menos afectado por los cambios en el retardo de propagación por la temperatura y la variación de fabricación. Esto cubre el reloj.

Los flip-flops son elementos del circuito digital que realizan una acción (cambiando su salida en respuesta a una entrada en su puerto de entrada) cuando se produce un "BORDE DE RELOJ". El borde del reloj es cuando la señal del reloj va de 0 a 1 o de 1 a 0. Simplemente dibuje una onda de reloj y sabrá lo que quiero decir. Hay otro grupo de elementos llamados latches, la salida de los latches cambia para reflejar la entrada cuando una determinada señal de control se encuentra en un NIVEL lógico específico y no espera ningún borde, esta señal de control se llama ENABLE en los latches. Los pestillos pueden funcionar cuando habilitar es 1 y cambiar su salida o cuando habilitar es 0. Depende del tipo de cerrojo. En contraste, los flips flops en realidad hacen algo solo cuando son alimentados por un reloj EDGE. Tenga en cuenta esta diferencia entre pestillos y chanclas, y recuerde que los enganches están conectados entre sí para crear un flip flop, de modo que la habilitación solo hace que el flip flop haga algo cuando se produce un borde de reloj. En este caso, nombramos la señal de Habilitar a Reloj, y también tiene más sentido. El reloj para los humanos hace tic tac tic, el flip flop hace algo solo en tic tac y NADA entre las tic.

Si aún no está claro, se beneficiará al ver la conferencia nptelhrd en YouTube del Instituto Indio de Tecnología de Circuitos Digitales.

    
respondido por el quantum231
1

Hay cosas tales como contadores asíncronos. Aquí hay uno: -

Tambiénseconocecomouncontadordeondulaciónporquecuandounpulsodeentradallegaalaentrada(cambiandoelestadodelprimerflip-flop),esecambiodeestadorequiereuntiempofinitoparaondularalosflip-flopsrestantes.Duranteeseperíododetiempopequeñoperofinito,lassalidasABCDtendránunvalortransitorioimpredeciblehastaqueseestablezcaelflip-flopfinal.

SitodaslassalidasABCDsealimentaronatravésdeflip-flopstipoDysesincronizaron,algúntiempodespuésdelperíododeestablecimiento,estaversión"mejor" de ABCD nunca "mostrará" este comportamiento transitorio.

Para evitar esto, los ingenieros a veces usan circuitos de reloj sincrónicos. Lo siento, la entrada es de la izquierda en este uno y Q0 a Q3 se asignan a ABC y D en el diagrama anterior: -

Es un poco más complejo, pero es más rápido y tiene menos partes en comparación con un contador asíncrono con un montón de tipos D en las salidas.

    
respondido por el Andy aka
0

Porque es más fácil diseñar sistemas síncronos (sistema síncrono significa cualquier colección de lógica combinatoria y flip-flops sincronizados) que sistemas asíncronos, y los sistemas síncronos son más confiables. Sin embargo, el diseño de la máquina de estado asíncrono es digno de estudio porque puede calcular una salida mucho más rápido y con menos potencia que un sistema síncrono.

    
respondido por el user39588

Lea otras preguntas en las etiquetas