Considere 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 conteo y carga síncrona respectivamente, de manera que:
- cuando C = L = 0 el contador mantiene su valor actual
- cuando C = 1, L = 0 el contador aumenta en 1
- cuando C = 0 L = 1, el contador carga sincrónicamente un número de nbit dado por el usuario a su línea de entrada ENTRADA
- cuando C = L = 1 el contador disminuye en 1
Los contadores también incluyen un RESET reinicio asíncrono (los contadores se reajustan a 0 cuando RESET = 1) y un pin ENABLE asíncrono que habilita (ENABLE = 1) o deshabilita el contador (ENABLE = 0).
Considera que queremos construir el siguiente circuito digital:
- CNT_1 cuenta de 0 a N1 (0 a N1 pulsos de reloj)
- CNT_2 cuenta de 0 a N2 (N1 + 1 a N1 + N2 pulsos de reloj)
y este proceso se repite una y otra vez.
Sea x la salida ==
de CMP_A y y la salida ==
de CMP_B. Tenga en cuenta 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 siguientes dos implementaciones:
-
Establezca ENABLE < = 1 y RESET < = 0 y use las entradas síncronas L, C para implementar los contadores.
-
Establezca L = 0, HABILITAR < = 1 y use el pin RESET asíncrono para reiniciar los contadores.
Al diseñar los gráficos ASM para cada implementación, me topé con esta observación:
Los pines asíncronos (caso 2) deben ser del 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 del tipo Mealy. Además de esto, los pines síncronos L1, L2, C1, C2 deberían ser de tipo Mealy en el caso 1.
¿Mi suposición es cierta, es decir, los pines asíncronos deben implementarse como salidas de Moore y sincrónicos como los de Mealy?