Contador de anillo


Un contador de anillo es un tipo de contador compuesto por flip-flops conectados a un registro de desplazamiento , con la salida del último flip-flop alimentado a la entrada del primero, formando una estructura "circular" o "en anillo".

Los contadores de anillo se utilizan a menudo en el diseño de hardware (por ejemplo, diseño ASIC y FPGA ) para crear máquinas de estado finito . Un contador binario requeriría un circuito sumador que es sustancialmente más complejo que un contador de anillo y tiene un mayor retardo de propagación a medida que aumenta el número de bits, mientras que el retardo de propagación de un contador de anillo será casi constante independientemente del número de bits en el código. .

Las formas rectas y retorcidas tienen diferentes propiedades y ventajas y desventajas relativas.

Una desventaja general de los contadores de anillo es que son códigos de menor densidad que las codificaciones binarias normales de números de estado. Un contador binario puede representar 2 ^ N estados, donde N es el número de bits en el código, mientras que un contador de anillo recto puede representar solo N estados y un contador Johnson puede representar solo 2N estados. Esta puede ser una consideración importante en implementaciones de hardware donde los registros son más costosos que la lógica combinacional.

Los contadores Johnson a veces se ven favorecidos porque ofrecen el doble de estados de conteo del mismo número de registros de desplazamiento y porque pueden autoinicializarse desde el estado de todos ceros, sin requerir que el primer bit de conteo se inyecte externamente al inicio. -arriba. El contador de Johnson genera un código en el que los estados adyacentes difieren solo en un bit (es decir, tienen una distancia de Hamming de 1), como en un código Gray , que puede ser útil si el patrón de bits se va a muestrear de forma asincrónica. [1]

Cuando se necesita una representación completamente decodificada o en caliente del estado del contador, como en algunos controladores de secuencia, se prefiere el contador de anillo directo. La propiedad one-hot significa que el conjunto de códigos está separado por una distancia de Hamming mínima de 2, [2], por lo que cualquier error de un solo bit es detectable (al igual que cualquier patrón de error que no sea encender un bit y apagar un bit) .