Contador Assíncrono Decrescente MOD10
0 Stars     187 Views    

Author: Zapon Hong

Forked from: Cleber Jorge Amaral/Contador Assíncrono Decrescente MOD10

Project access type: Public

Description:

Circuito contador assíncrono de 4 bits, módulo 10 decrescente. Para realizar o reset é detectada a contagem ao chegar em 0xF (1111). Este circuito é ilustrado na aba "versão + didática".

Porém, o simulador pode não estar mostrando um problema ocasionado pelos atrasos que se somam em um circuito assíncrono. Ou detectar 0xF, um possível erro pode ocorrer na transição de 8 (1000) para 7 (0111). Observar que o quarto bit (da direita para a esquerda) estava em 1 e troca para 0, os demais estavam em 0 e trocam para 1. A troca do quarto bit é a mais tardia (pois é o último Flip-Flop da cadeia), podendo haver um instante em que os 3 bits menos significativos já estão em 1, e o quarto bit ainda não trocou para 0. Isso dá o número 0xF por um curtíssimo tempo (porém, tempo suficiente para ser detectado), causando um reset (retorno para 9) da contagem. O circuito fica, portanto, contando 9, 8, 9, 8, 9, ...

Para lidar com este problema podemos agir sabendo que o atraso do quarto bit que é significativo, vai ocorrer e precisa ser contornado, conforme ilustrado no circuito da aba "Circuito reset prevendo atraso". Para simplificar a detecção do estouro da contagem, também podemos detectar simplesmente (1X1X), ou seja, basta que o quarto e o segundo bits sejam 1, independente do valor dos demais. Uma solução, portanto, é inverter o quarto bit numa lógica E com o segundo, associando a saída desta lógica com o próprio quarto bit em outra lógica E. Isso faz com que um pulso bem curto é gerado no momento que o quarto bit troca de 1 para 0.

Created: May 17, 2022

Updated: Aug 27, 2023


Comments

You must login before you can post a comment.