Tutorial VHDL 18: Projete um flip-flop T (com habilitação e uma entrada ativa de reinicialização alta) usando VHDL

Nota: é recomendado seguir esta série de tutoriais VHDL em ordem, começando com o primeiro tutorial.

No tutorial anterior, Tutorial VHDL – 17projetamos um circuito flip-flop JK usando VHDL.

Para este projeto, iremos:

  • Escreva um programa VHDL para construir o circuito flip-flop T
  • Verifique a forma de onda de saída do programa (o circuito digital) com a tabela verdade do flip-flop

O flip-flop T com um circuito de entrada de habilitação e reset alto ativo:

Tabela verdade

  • Nota 1: quando T = 1, a saída Q alterna sempre (de 0 a 1 e 1 a 0)
  • Nota 2: quando T=0, a saída Q mantém seu estado anterior

Agora vamos escrever, compilar e simular um programa VHDL. Então, obteremos a saída em forma de onda e a verificaremos com a tabela verdade fornecida.

Antes de começar, certifique-se de revisar o procedimento passo a passo fornecido em Tutorial VHDL – 3 para elaborar o projeto. Isso garantirá que você edite e compile corretamente o programa e o arquivo de forma de onda, incluindo a saída final.

Aqui. usamos um estilo de modelagem comportamental para escrever o programa VHDL e construir esse circuito flip-flop porque é o modelo preferido para circuitos digitais sequenciais.

Programa VHDL

biblioteca ieee;
use ieee.std_logic_1164.all;
entidade T_flip_flop é
porta (clk,t,en,rst: em std_logic;
P: fora std_logic;
Qnot: fora std_logic);
fim T_flip_flop;
arquitetura TFF_arch de T_flip_flop é
operação de sinal: std_logic;
começar
processo(clk, rst) é
começar
if(en='0′) então op<='Z';
elsif (en='1′ e rst='1′) então
op <= '0';
elsif (clk'event e clk='1′ e en='1′) então
se(t='1′) então op <= não op;
senão op <= op;
fim se;
fim se;
fim do processo;
Q <= op;
Qnot <= não operacional;
fim TFF_arch;

Para refrescar sua memória sobre como isso funciona, leia os dois primeiros tutoriais do VHDL (1 e 2) desta série.

Em seguida, compile o programa acima, criando e salvando um arquivo de forma de onda com todas as entradas e saídas necessárias listadas (e certifique-se de aplicar todas as diferentes combinações de entrada). Em seguida, simule o projeto. Você deve obter o seguinte resultado…

Conforme mostrado nesta figura, três casos são destacados em vermelho, azul e verde.

  • Caso 1: quando en=0 -> ambas as saídas estão em alta impedância
  • Caso 2: quando en=1 e rst=1 -> Q=0 e Qnot = 1 (o flip-flop é reiniciado)
  • Caso 3: quando en=1, rst=0 e clk=1 e T=1 – > Q = 1 e Qnot = 0 (a saída alterna entre 0-1)

Certifique-se de verificar as diferentes combinações de entrada-saída de acordo com a tabela verdade do circuito.

No próximo tutorial, aprenderemos como construir um contador binário de 4 bits usando VHDL.

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.