Cursos / Automação Industrial / Sistemas Digitais / Aula
Como visto nas aulas anteriores, o circuito flip-flop (FF) serve como base para a construção de circuitos de armazenamento. O Flip-Flop JK é um dos exemplos dessa classe de circuitos de armazenamento, podendo ser de borda de subida ou borda de descida. Aqui vamos implementar o FF JK com borda de subida, que funciona de acordo com a tabela 01.
$J$ | $K$ | $Q$ | $\overline{Q}$ |
0 | 0 | $Q$ | $\overline{Q}$ |
0 | 1 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | $\overline{Q}$ | $Q$ |
Considerando $Q’$ o valor anterior de $Q$. Para ocorrer essa atribuição dos valores de $Q$ e $\overline{Q}$ é necessário que ocorra uma borda de subida do clock (CLK) do circuito, ou melhor, o CLK passe do valor ‘0’ para ‘1’. A linguagem de descrição de hardware VHDL tem uma função específica para sentir essa mudança no clock, chamada de “event”.
A função “event” é aplicada a um sinal e retorna verdadeiro quando ocorre qualquer mudança no sinal. Veja nas duas expressões abaixo como sentir quando ocorre uma borda de subida ou uma borda de descida no sinal CLK.
A expressão 01, acima, tem duas condições, uma que retorna verdadeiro quando ocorre uma mudança no sinal CLK, realizada pela função “event”, e outra que verifica se o sinal CLK é o valor ‘1’ naquele momento. Essa expressão realiza verificação de uma borda de subida no sinal CLK. Verifique que a expressão 02 implementa uma borda de descida no sinal CLK.
Agora que você já sabe como implementar uma borda de subida ou descida analise o código 01, dado abaixo, que implementa um circuito do FF JK.
Código 1Versão 5.3 - Todos os Direitos reservados