Propagación de señales al observar circuitos integrados

3

Considera esta imagen: ...   Dice"registro de desplazamiento en serie de 4 dígitos, basado en cierres tipo D" (corríjame si no es una terminología válida). Claramente, no puedo entender una propiedad de D-latch para retener una señal de entrada para 1 ciclo CLK. ¿Es correcto suponer que deberíamos observar la propagación de la señal comenzando desde el N-ésimo (cuarto en este caso) bloqueo y yendo a la izquierda hasta el primero? Quiero decir, si miramos de izquierda a derecha, el registro no cambia realmente, en el primer CLK alto, simplemente se llena con todos los "1".
ACTUALIZACIÓN: Básicamente, la esencia de mi pregunta es: ¿qué sucede primero: D (k) - > Q (k), o Q (k-1) - > D (k)?

    

4 respuestas

5

Aquí hay una explicación simplista:

El seguro de tipo D que se muestra es un seguro de tipo de muestreo de borde positivo. Observe la indicación de triángulo en la entrada del reloj. Esto significa que solo lee los datos colocados en la entrada D, en el momento en que la señal CLK está en su flanco ascendente.

  • Entonces, en el primer flanco ascendente de la señal CLK, TA muestrea el valor en D y lo copia en Q.
    • TB, TC y TD en el instante de este borde, no tienen ningún valor significativo, solo leen y enclavan (ponen en Q) cualquier valor arbitrario que se haya ingresado previamente.
  • En el segundo flanco ascendente de CLK, TA muestrea el valor actual en D.
    • Al mismo tiempo, TB muestra y retiene el valor colocado en el pin Q de TA del ciclo anterior.
    • Los valores en TC y TD siguen siendo "datos sin sentido" arbitrarios, ignorándolos por ahora.
  • En el tercer flanco ascendente, TA muestra el último valor, TB recoge el valor anterior de TA y TC recoge el valor anterior de TB.
    • El valor en TD todavía debe ignorarse como "datos sin sentido".
  • En el cuarto flanco ascendente, TA muestra de nuevo, TB lee el TA anterior, TC lee TB y TD lee TC.
    • En este momento, los datos que se habían afirmado en la línea de entrada de datos al principio, se muestran en la salida Q de TD: se han "desplazado" durante los cuatro flancos ascendentes del reloj, de izquierda a derecha .
    • Las salidas de TA, TB, TC y TD son ahora conocidas, bits de datos significativos.
  • En cada siguiente flanco ascendente de CLK, los bits se desplazan de izquierda a derecha, TA - > TB - > TC - > TD - > fuera.

Así es como la disposición de los cierres que has mostrado actúa como un registro de "desplazamiento": los valores se mueven de izquierda a derecha una vez por cada flanco ascendente del ciclo del reloj.

    
respondido por el Anindo Ghosh
3

Vamos a t0 = tiempo justo antes de que CLK pase a 0 - > 1
t1 = el tiempo después de que CLK fue 0 - > 1

Intente ver todos los D-Flip-Flops a la vez en t1 y t0.

La Q de cualquier Flip-Flop en t1 estará en el estado en que D del mismo Flip-Flop en particular estaba en t0.

Por lo tanto, la solución NO es considerar la propagación de la señal de una manera u otra, sino ver que suceda de una vez (lo que en realidad es el caso porque todos los FF se activan al mismo tiempo). El patrón de bits de las Qs está cambiando de izquierda a derecha, pero la sincronización de las FF se está produciendo en el mismo momento para todas las FF.

    
respondido por el Curd
1

De hecho, malinterpretas los cierres de alguna manera. La señal va de izquierda a derecha. Q es una salida, y D es una entrada. El pestillo mantiene un estado y lo emite constantemente en Q. También ignora la entrada D la mayor parte del tiempo. Cuando llega un borde del reloj, un pestillo acepta el valor de la entrada D y lo adopta como su nuevo estado. Algún tiempo después, su salida Q reflejará el nuevo estado.

La entrada D debe permanecer estable durante un tiempo mínimo antes de que llegue el reloj (llamado el tiempo de configuración) y después (tiempo de espera).

Para que el registro de desplazamiento funcione, las salidas deben observar los tiempos de configuración y de retención de las entradas. El flip-flop no puede cambiar su salida demasiado rápido después de registrar el nuevo estado; debe continuar manteniendo la salida anterior durante el tiempo de retención requerido.

El tiempo es la clave; sin ella, es imposible ver cómo el registro de desplazamiento podría funcionar correctamente. Si cada flip-flop cambiara abruptamente su salida en el borde del reloj, sería un caos.

    
respondido por el Kaz
1

Lo que hace un flip flop:

En el borde positivo del reloj, pone Q lo que fuera que estuviera en D.

En pseudo código:

if(clock_rising_edge): Q = D

En otras ocasiones, el valor de D no es realmente importante, porque no afecta a Q . De alguna manera, D es muestreado en el borde del reloj (+) y transferido a Q .

En la terminología de la ecuación de diferencias que estás utilizando: $$ Q (k) = D (k-1) $$

En el diagrama, tienes 4 flip flops, y de acuerdo con el texto, se construyen internamente con latches D, pero la forma exacta en que se construyen no es importante en este punto (hay varias formas).

Para empezar, cada flip flop tiene su Q en algún valor (digamos 0 , como después de una aserción CLR ). En el diagrama, ABCD = 0000 .

En el borde positivo del primer reloj, cada flip-flop transferirá lo que está en su entrada D a su salida Q . Entonces, la salida será ABCD = X000 , donde 'X' es la entrada del flip-flop más a la izquierda en el borde del reloj. Con esta lógica podemos construir la siguiente tabla:

t  Input  ABCD
0    1    0000
1    1    1000
2    0    1100
3    1    0110
4    x    1011

Donde:

  • t es tiempo de muestra, por lo que en cada incremento hay un borde positivo del reloj.
  • Input es la entrada que se encuentra más a la izquierda.
  • ABCD es la recopilación de las salidas del flip-flop, según el diagrama publicado.

Como una ecuación en diferencias:

$$ A (k) = Entrada (k-1) $$ $$ B (k) = A (k-1) $$ $$ C (k) = B (k-1) $$ $$ D (k) = C (k-1) $$

Como puede ver, la entrada fue secuencialmente 1101 , y este valor se cambió a ABCD (en orden inverso) en 4 ciclos de reloj. Y este es el concepto de lo que describe el diagrama: un registro de desplazamiento .

    
respondido por el apalopohapa

Lea otras preguntas en las etiquetas