1 votos

¿Debemos utilizar entradas asíncronas en los bloques Moore y síncronas en los bloques Mealy?

Consideremos que tenemos dos contadores de n bits CNT_A y CNT_B dos comparadores sin signo de n bits CMP_A, CMP_B y dos números binarios de n bits N1, N2. Los contadores tienen dos entradas C, L para recuento síncrono y carga respectivamente tales que:

  1. cuando C=L=0 el contador mantiene su valor actual
  2. cuando C=1, L=0 el contador aumenta en 1
  3. cuando C=0 L=1 el contador carga sincrónicamente un número de nbit dado por el usuario en su línea de entrada INPUT
  4. cuando C=L=1 el contador disminuye en 1

Los contadores también incluyen un pin de reset asíncrono RESET (los contadores se reinician a 0 cuando RESET=1) y un pin asíncrono ENABLE que activa (ENABLE=1) o desactiva el contador (ENABLE=0).

Consideremos que queremos construir el siguiente circuito digital:

  1. CNT_1 cuenta de 0 a N1 (0 a N1 impulsos de reloj)
  2. CNT_2 cuenta de 0 a N2 (N1 + 1 a N1 + N2 impulsos de reloj)

y este proceso se repite una y otra vez.

Sea x el == de CMP_A e y es la == salida de CMP_B. Nótese que los comparadores están conectados a sus respectivos contadores CNT_A, CNT_B. Sea Q(t) el estado del controlador FF en el tiempo t.

Por ejemplo, considere las dos implementaciones siguientes:

  1. Establezca ENABLE <= 1 y RESET <= 0 y utilice las entradas síncronas L,C para implementar los contadores.

  2. Ajuste L = 0, ENABLE <= 1 y utilice el pin asíncrono RESET para reiniciar los contadores.

Al diseñar los gráficos ASM para cada aplicación me encontré con esta observación:

Los pines asíncronos (caso 2) deben ser de tipo Moore (los pines RESET tienen valores Q(t) y Q'(t) para los dos contadores) mientras que los pines L (caso 2) deben ser de tipo Mealy. Además, los pines síncronos L1,L2,C1,C2 deben ser de tipo Mealy en el caso 1.

¿Es cierta mi suposición de que los pines asíncronos deben implementarse como salidas Moore y los síncronos como Mealy?

1voto

sRaa Puntos 46

Sus conclusiones no son ciertas.

La conclusión es que todas las entradas que pueden provocar un cambio de estado deben cumplir los tiempos de establecimiento y retención para que el siguiente estado sea definitivo.

Tomemos tu ejemplo del pin síncrono L alimentado por la salida de una máquina Mealy. Si la salida de la máquina Mealy viola el tiempo de establecimiento o retención del pin L. Entonces no hay garantía de qué bits realizarían una carga y qué bits no realizarían una carga en el flanco de reloj particular.

También es posible que la salida de una máquina Mealy nunca viole el tiempo de preparación y retención. Por ejemplo, si las entradas a la máquina de Mealy que afectan a una salida concreta proceden de fuentes síncronas, entonces la salida también es síncrona (con algún retardo adicional). Por supuesto, debe haber suficiente presupuesto para manejar los retardos de propagación. Pero esto es así aquí y prácticamente en todas partes.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X