Comprender el tiempo de Shift Register

7

(Estoy aprendiendo el diseño del circuito digital. Disculpe si esta es una pregunta ingenua.)

De la Wikipedia , encontré el siguiente diagrama sobre SIPO registro de desplazamiento:

Segúntengoentendido,esteregistrodedesplazamientoestáhechodeDFF(DFlip-Flop).DFFseactivaenelbordeascendentedelperíododereloj.Entonces,paracadaflancoascendentedelaseñalClock,losdatosdeDataInsepropagaránatravésdeunaetapadeDFF.

Mipreguntaesque,comoelClockescompartidoportodoslosDFF,cuandollegaelflancoascendente,todoslos4DFFdebenestarenestadoactivado/transparente.Entonces,¿quégarantizaquelosdatossepropaganatravésdelaetapaonly1deDFFenlugarde2omásetapas?

Digamos:

  • Tdeselretardointernode1etapadeDFFparacargardatosdeDaQ.
  • Treseltiempoduraderodelflancoascendentedelreloj.Vealaimagendeabajo.

Creoqueparalimitarlapropagacióna1etapa,tienequeser:

Td<Tr<Td*2

¿Estoyenlocorrecto?

Peroenelenlacedearriba,dice:

  

Enestaconfiguración,cadaflip-flopseactivaporflanco.Lainicial  Elflip-flopfuncionaalafrecuenciaderelojdada.Cadasubsiguiente  chanclas  reducealamitadlafrecuenciadesupredecesor,loqueduplicasu  ciclodetrabajo.Comoresultado,llevaeldobledetiempoparaelascenso/descenso  bordeparaactivarcadaflip-flopsubsiguiente;estotambalealaserie  entradaeneldominiodeltiempo,loquellevaaunasalidaparalela.

Meconfundeconalgunascosas.

  • ¿Quésignificahalvesthefrequency?
  • ¿CómopodríacaracterizarseunDFFconunafrecuencia?
  • ¿UnDFFnofuncionasoloenelflancoascendentedelrelojy,engeneral,noleimportalafrecuenciaconlaqueseencuentreelreloj?
  • ¿Ycómopodríarelacionarselafrecuenciaconelciclodetrabajo?Lafrecuenciaestárelacionadaconelperíodo,mientrasqueelciclodetrabajosolosignifica el porcentaje de un período en el que una señal o sistema está activo . No veo ninguna relación entre la frecuencia y el ciclo de trabajo.

AGREGAR 1

Como dijo Neil_UK en su respuesta a continuación, la cita de wiki anterior es totalmente errónea. Y él ha arreglado la página wiki.

Como EM Fields dijo en su respuesta a continuación,

  

... nada más puede suceder hasta el siguiente flanco ascendente del reloj,   ya que el borde del reloj que hizo el trabajo ya ha muerto ...

Estrictamente hablando, no hay idealmente un borde ascendente vertical. Debe haber algún Tr como se muestra en la ilustración de arriba. Supongo que para limitar la propagación de la señal a través de las etapas DFF, el flanco ascendente debe durar lo suficiente para que la señal se propague a través de una etapa y lo suficientemente corta para que la señal no se propague a través de la siguiente etapa.

Creo que este tipo de control es demasiado complicado / delicado para ser cierto. Pero si es verdad, ¿cómo se logra? (Acabo de colocar una recompensa por esta pregunta).

    
pregunta smwikipedia

9 respuestas

5
  

Mi pregunta es, ya que el Reloj es compartido por todos los DFF, cuando el   el flanco ascendente llega, todos los 4 DFF deben estar activados / transparentes   estado. Entonces, ¿qué garantiza que los datos se propagan a través de solo 1 etapa de   ¿DFF en lugar de 2 o más etapas?

Considere los requisitos de tiempo de un D Flip Flop típico.

Comopuedever,hayunaseriedeparámetros;Losmásimportantesaquíson setup tiempo, tiempo de espera y retraso de propagación .

La entrada (en D) debe ser estable durante el período mostrado (de \ $ t_ {su} \ $ a \ $ t_h \ $).

Para esta parte en particular, el tiempo mínimo de retención requerido es 3nsec. Esta es la cantidad mínima de tiempo que la entrada debe ser estable en el transcurso del tiempo para garantizar el rendimiento (es decir, D se transfiere a Q)

Cualquiertransicióndelaentradadespuésdeestoesignoradaporeldispositivo.Siemprequeelperíododerelojseamayorque\$t_{su}\$+\$t_h\$funcionarácorrectamente.

Ahoraveamoslosretrasosenlapropagación(\$t_{plh}\$y\$t_{phl}\$)

Desdelahojadedatos,estossontípicamente14nsec:

Como este evento ocurrirá más allá del requisito de tiempo de espera, esta transición en la siguiente entrada D no tendrá ningún efecto, ya que la entrada ahora está efectivamente bloqueada por el mecanismo de retroalimentación interna.

Tenga en cuenta que la velocidad máxima a la que puede ir un registro de desplazamiento es \ $ \ frac {1} {t_ {su (min)} \ + t_ {prop (max)}} \ $ ya que la entrada D debe ser estable para at menos el tiempo de configuración después de la salida Q anterior se ha estabilizado.

Siempre que el retraso de propagación sea mayor que el tiempo de espera, se puede ignorar para la velocidad de reloj máxima.

Por lo tanto, la conclusión es que si el retraso de propagación de D a Q es mayor que el tiempo de espera requerido, un evento de reloj único no puede propagarse en más de un flip flop.

Usando su diagrama, el reloj pasa en algún momento \ $ t_0 \ $. La salida \ $ Q_1 \ $ cambiará después del retardo de propagación del primer flip flop, pero como esto ocurrirá después del tiempo de configuración de la entrada en el segundo flip flop siempre que el retardo de propagación del primer flip flop sea mayor que la entrada tiempo de espera del segundo flip flop (siempre lo es, según mi experiencia), entonces la transición en Q1 (D del segundo flip flop) no tiene efecto para este evento de reloj .

    
respondido por el Peter Smith
5

Ese enlace de wikipedia tenía una descripción incorrecta, era para una división en cascada por 2 contadores. Ahora he arreglado la entrada de Wikipedia para que describa un registro de desplazamiento. Puede que no sea la mejor descripción (hecha en un minuto), ¡pero al menos no está mal!

    
respondido por el Neil_UK
2

Para que los tiempos funcionen correctamente, el tiempo de espera en la entrada D debe ser menor que el retardo de propagación del flip-flop menos la incertidumbre del reloj. Mientras esta condición sea verdadera, los nuevos datos del flipflop anterior no cambiarán hasta que la siguiente etapa haya bloqueado los datos.

Para un NXP 74HC74, vemos en la hoja de datos que el tiempo de espera es el peor de los casos 3ns, y el retardo de propagación es típicamente de 14ns, por lo que un sesgo de reloj de hasta 11ns no generará un problema (a 5V) con estos tiempos. Sin embargo, tenga en cuenta que el retardo de propagación es típicamente no mínimo, por lo que los márgenes en una parte en particular pueden ser mucho más estrechos, sin embargo, por razones bastante obvias, la mayoría de los flip-flops D están diseñados para que este tipo de cosas funcione en el momento oportuno, ya que conseguir una particularmente rápida tienen requisitos de tiempo de espera más cortos.

    
respondido por el Dan Mills
1

Los DFF no son transparentes, funcionan en el borde de la señal del reloj. El borde del reloj debe ser lo suficientemente rápido para que los circuitos funcionen correctamente.

A continuación se muestra un ejemplo:

Laprimeraetapaestáactivadurantelafasebajadelreloj.Cuandoselevantaelreloj,losprimerosinversoresconectados(latch)back-to-backalmacenanelestadoactualylaentradasedesconectaporlapuertadetransmisiónalaizquierdadelnodoX.Almismotiempo,elsegundoTGsevuelvetransparenteyaccionaelsegundolatch.Tanprontocomoelrelojvuelveabajar,elsegundopestilloretieneelvalor.

EnelcircuitotomadodeWikipedia,losflip-flopsformanunregistrodedesplazamiento,todosoperanalamismafrecuencia.Podríanusarsecomo contadores o divisores de reloj, sin embargo, se usaría una configuración diferente para esto.

    
respondido por el Mario
1

En pocas palabras, no hay nada que impida la situación que usted describe, excepto el propio conocimiento de los diseñadores cuando la construyen. Tenga en cuenta que hay un retraso finito entre la activación del borde del reloj y el cambio de salida, generalmente llamado clk-to-q o clk-to-out.

Con un DFF de estilo de puerta de transmisión común (el más usado en las CPU de hoy en día) en la tecnología actual, lo más probable es que encuentre la situación que describe. Se conoce como una infracción de retención.

De hecho, las violaciones de retención son las más letales para los chips digitales. Si hay una infracción de configuración, simplemente puede ralentizar el reloj hasta que la ruta lenta deje de fallar. Pero, si hay una violación de retención, generalmente no hay nada que hacer (a menos que se pongan medidas a prueba de fallos, como los bordes móviles del reloj por registro). Debido a que son tan letales, es normal que se coloquen furiosamente para evitar cualquier violación de retención. Entonces, si tiene una ruta de ciclo (digamos 400ps @ 2.5GHz) que solo es flop- > flop; no hay razón para no tirar unos cuantos buffers. De hecho, esto es alentador.

Otros también declararon que los DFF no son transparentes. Esto ciertamente depende del DFF , la mayoría de los VLSI FF de hoy tienen una transparencia de un par de picosegundos. Otros se modifican intencionalmente para que permanezcan transparentes por más tiempo (tiempo que toma prestado flip flop - le otorga un tiempo adicional para la configuración y también lo obliga a mantener los datos válidos por más tiempo) retrasando el reloj maestro en relación con el esclavo.

Si la señal fuera a saltar el flip flop, se consideraría una ruta de 0 ciclos. Esto generalmente se considera una "infracción de retención", lo que significa que los datos no se retuvieron el tiempo suficiente.

Los tiempos de configuración y de espera de cada flip flop son diferentes. Si fueron diseñados para su uso en un registro de desplazamiento, casi puedo garantizarle que tendrán un tiempo de retención negativo (retrasará el reloj al pestillo esclavo en relación con el pestillo maestro; lo que provocará que el cerrojo maestro se cierre antes y no sea transparente, en algún momento antes de que el pestillo esclavo se vuelva transparente). O eso, o el clk- > fuera de estas chanclas puede ser mucho más largo que el tiempo de espera. O insertaron retardo entre etapas; ya sea en la ruta de datos o en la ruta del reloj (invertida).

Es muy sencillo solucionar este problema. De hecho, hay muchas, muchas, muchas maneras de solucionar el problema. Dos simples: simplemente inserte un retraso apropiado entre cada etapa de flip flop. O, ponga una demora entre el reloj a cada flip flop en el registro de desplazamiento; A partir de la última en la cadena. Esto asegurará que cada flip flop capture los datos estables del flip flop anterior.

    
respondido por el jbord39
1

Este esquema muestra la lógica de las puertas de transmisión y la inversión de las puertas de transmisión justo después del borde ascendente activo del reloj que controla la serie de interruptores con la capacidad de almacenamiento suficiente para permitir que un interruptor de retroalimentación mantenga activo ese nivel lógico en forma aislada. la entrada.

Tres (3) etapas de los flipses D se muestran a continuación como parte o un registro de cambios que podría ser Serial In Parallel Out (SIPO) o Serial In Serial Out (SISO)

Aunque el reloj se invierte para la conducción bipolar de las puertas de transmisión, se muestra simbólicamente como un control de relé para una comprensión simplificada.

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Tony EE rocketscientist
1

¡Esta es realmente una muy buena pregunta! Para saber cómo funciona DFF, vaya aquí , para la sincronización del reloj y la transición Encontrará la respuesta aquí que dice lo siguiente

  

La acción de activación de Schmitt en la entrada del reloj, hace que el circuito sea altamente tolerante a los tiempos más lentos de subida y bajada del reloj.

La implementación de esta acción Schmitt eliminará al máximo la metastabilidad durante la transición del reloj. Por lo tanto, el reloj aumentará lógicamente solo una vez, haciendo que el disparador verifique su estado solo una vez. Para la frecuencia de reloj, los DFF suelen tener valores mínimos y máximos en sus hojas de datos para garantizar la propagación de señales síncronas dentro de sus elementos lógicos.

En la configuración de SIPO, su tarea es garantizar que el retraso de propagación a través de DFF sea inferior al período de reloj más un poco de holgura para garantizar que la señal sea estable en el cable conectado a la entrada D de la próxima DFF.

    
respondido por el Anonymous
0

Cuando la entrada de reloj de un flip-flop tipo "D" se pone alta, el estado de la entrada D, en ese instante, se transferirá a la salida Q y Q permanecerá en ese estado independientemente de cualquier cambio en D hasta el siguiente borde alto del reloj.

Un pestillo transparente, por otro lado, funciona haciendo que Q siga a D mientras el reloj está alto, y luego enclavando el estado de D en Q en el instante en que el reloj baja.

En el circuito que se muestra, el reloj está en paralelo con todos los dflops, por lo que una vez que aparece el borde superior del reloj y el contenido de D se transfiere a Q, y por lo tanto a D de la siguiente etapa, nada más. puede suceder hasta el siguiente flanco ascendente del reloj, ya que el límite del reloj que hizo el trabajo ya ha muerto.

A continuación, su circuito cobra vida con algunos controladores y su respuesta se ilustra con un diagrama de tiempo.

Tenga en cuenta que los estados de salida de las etapas anteriores se propagan a través de las siguientes etapas solo una vez por cada flanco ascendente del reloj.

    
respondido por el EM Fields
0

La forma en que funciona es que cada DFF está habilitado por un período muy corto. Para convertir un pestillo en un flip-flop, use algo como el siguiente circuito en su señal de habilitación. El reloj está conectado como entrada. Cuando se obtiene el flanco ascendente, solo se genera un pulso muy corto. Supongamos que inicialmente el reloj está en 0. Las salidas de las puertas NOT en la puerta AND son altas. Cuando obtiene el flanco ascendente del reloj, ambas entradas a la compuerta AND son altas, generando su alta señal de habilitación. Sin embargo, poco después, el reloj alto se propaga a través de las no puertas y la salida de la puerta AND vuelve a ser baja.

Puede cronometrar esto con bastante precisión al elegir las dimensiones del transistor en las compuertas NO. El pulso de habilitación es justo la longitud correcta para que la señal cambie una vez en su registro de desplazamiento y no tenga propagación múltiple. Esto depende del proceso, por supuesto, y es bastante complicado hacerlo bien.

    
respondido por el user110971

Lea otras preguntas en las etiquetas