Retardo de propagación en el contador asíncrono

2

¿Son útiles los contadores de ondulación en la vida real?

Lo sé, por ejemplo, si configuramos un contador con 3 FF, CBA. Los siguientes son el bloque y el diagrama de forma de onda:

Después del recuento 001, aparecerá 000 (el segundo período CLK), lo que hace que la operación sea falsa. De hecho, esta situación es inevitable en la vida real porque el retraso en la propagación es inherente a todas las chanclas.

Como resultado, me pregunto cómo podemos implementar contadores asíncronos.

    
pregunta W.Joe

3 respuestas

1

Es simplemente una cuestión de si puede esperar a que finalice la etapa de salida final antes de realizar una lectura de conteo. En cuyo caso, se genera un retraso de muestra con hardware o software.

Cuando activa / detiene el conteo para medir cada etapa en paralelo, los contadores síncronos son mejores. Todavía hay un tiempo de espera mínimo antes del muestreo, pero es mucho más predecible, ya que el tiempo de espera se aplica a todo el contador.

Si es solo un 'preescalador' usado para dividir una frecuencia alta fija a una frecuencia más baja y se ejecuta continuamente, entonces no hay problema de demora. En cierto modo, el recuento de cualquier etapa es desconocido y tiene una política de "no importa".

    
respondido por el Sparky256
1
  • El problema con el contador asíncrono es la "ondulación". Supongamos que tomemos un ejemplo de contador asíncrono de 4 bits contando. La transición desde 0111 - > 1000 pasan por ripple a través de 3 estados intermedios debido a la acumulación de retrasos de propagación de cada Flip-Flop que precede. Estos son fallos en los contadores asíncronos.

SienchufaalgunosLEDenlassalidasde4bitsdelcontador,nonotaráestafallaenabsoluto,yaqueestasondulacionessonlosuficientementerápidasyveráqueestácontandocorrectamente.Perosialimentaesteconteoaalgunaotralógicadigitalparaelmuestreo,estoserrorespuedencausarerroresnodeseados.

  • Unasoluciónalproblemaanterioresluzestroboscópica.Esbásicamentecomoenclavarlasalidadeconteo.

Laideaesmuestrearelrecuento,solodespuésdequeseestablezcaenunvalorestable.Enelcircuitoanterior,latransicióndeconteoestáocurriendoenelbordepositivodelreloj.Loquehacemosesmuestrearelrecuentosolocuandoelrelojestábajo.Elrelojescomolaseñalde'habilitación'delcircuitoestroboscópico.Laúnicacondiciónaquíesque,enelmomentoenqueelrelojtransitadealtoabajo,todaslasondulacionesdeberíanhaberpasado.esdecir,elretardodepropagaciónacumuladodebesermenorqueel"tiempo alto" del reloj. Asegúrese de que se muestree el recuento correcto cada vez.

  • El problema con el contador asíncrono es la limitación de la frecuencia de reloj / velocidad limitada, debido a los retrasos acumulados de cada Flip-Flop. El contador debe satisfacer: $$ \ Sigma d_i < T_ {clk} $$

    Debido a estas complejidades de diseño, preferimos contadores síncronos, donde el tiempo es predecible.

respondido por el MITU RAJ
0

Los contadores de ondulación son útiles en la vida real. Los divisores de frecuencia son obvios.

Un contador de rizado de 16 etapas utilizará 1 + 1/2 + 1/4 + ... ~ = 2 unidades de potencia.

Un contador síncrono usaría 16 unidades de potencia.

En general, la lógica síncrona resuelve un conjunto de problemas a expensas de

  • más poder
  • más puertas
  • velocidad más baja
  • nuevas condiciones de carrera introducidas por la sincronización
  • aumento de emi por temporización continua y transiciones espectralmente estrechas

Una mejor pregunta podría ser: ¿por qué las personas creen que los contadores síncronos son especialmente útiles? ¿Por qué se considera que la sincronización de todo el contador / sistema es la solución correcta para la sincronización de algunos resultados críticos?

Filosóficamente, la ortodoxia de la lógica síncrona puede haber resultado en habilidades y técnicas y estrategias limitadas para hacer que los sistemas lógicos complejos no funcionen, y explica por qué hay tan pocas CPU asincrónicas sin reloj, incluso para conjuntos de instrucciones muy simples. El Greenarrays F18 es el único que viene a la mente, pero es capaz de lograr un PIC como el consumo de energía a cientos de MHz.

    
respondido por el Henry Crun

Lea otras preguntas en las etiquetas

Comentarios Recientes

1WriteOp Implementación indefinida utilizando el espacio de nombres estándar; std :: fmt :: Debug (), const A y const A :: status, double A :: processer (); La firma anterior parametriza una estructura tipo A que tiene el valor Set & parameter. Ese tipo de retorno es necesario para el diagnóstico y la información de depuración posterior lo ayudará a decidir si falta la parte en C ++ 11. Dado que esta macro regresa inmediatamente cada vez que se utiliza, podemos soltarla en el elemento actual del flujo... Lees verder