Contador Assíncrono Crescente - Roteiro para implementação e simulação com QUARTUS II, QSIM e kit DE2-115

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Link curto http://bit.ly/Roteiro3-MLCL

Objetivos

  • Inserir diagrama esquemático de um circuito lógico com o Quartus II
  • Fazer a simulação funcional de um circuito com o QSIM
  • Gerar formas de onda para entrada de simulação
  • Fazer a simulação temporal de um circuito com o QSIM
  • Preparar o circuito lógico para gravação no kit DE2-115
  • Verificar os resultados obtidos.

Diagrama Esquemático

Abra o Quartus II (versão 12.1) e insira o diagrama esquemático de um contador assíncrono crescente com 4 bits, conforme a figura abaixo.

Assin up4.png


Após salvar o arquivo como cont_up.bdf em uma pasta vazia com nome EX_1, e crie um projeto cont_up.qpf utilizando a família family=Cyclone IV com o dispositivo device=EP4CE115F29C7. Após isso compile o projeto.

Simulação funcional com o QSIM

  • Abra o QSIM e abra o arquivo de projeto cont_up.qpf (File > Open Project...).
  • Em seguida gere o arquivo de nós do projeto (Processing > Generate Node Finder Files).
  • Crie as formas de onda para entrada da simulação (File > New Simulation Input File).
  • Defina o tempo de simulação (Edit > Set End Time ...) = 400 ns.
  • Importe todos os nós de lista do projeto (Edit > Insert > Insert Node or Bus) > [Node Finder] > [List] > [>>] > [OK] > [OK].
  • Desenhe a forma de onda dos sinais de entrada conforme mostrado na figura abaixo, e salve com o nome entrada.vwf.

Ent2.png

  • Indique como a simulação será feita (Assign > Simulation Settings ...). Escolha o arquivo de forma de onda de entrada que você criou (entrada.vwf) e selecione a tipo de simulação [x] Functional.
  • Faça a simulação do circuito lógico usando o sinal criado (Processing > Start Simulation)
  • Abra o arquivo resultado da simulação (File > Open Simulation Output File). E verifique se o resultado obtido corresponde a um Contador assíncrono Crescente. Salve o sinal de saída como resultadoF1.vwf.

Saidaf2.png

Simulação temporal com o QSIM

  • Indique como a simulação será feita (Assign > Simulation Settings ...). Escolha o arquivo de forma de onda de entrada que você criou (entrada.vwf) e selecione a tipo de simulação [x] Timing.
  • Faça a simulação do circuito lógico. Abra o arquivo resultado da simulação. Verifique as mudanças que ocorreram nos sinais de saída Q1, Q2, Q3 e Q4. Salve o sinal de saída como resultadoT1.vwf.

Inserindo um decodificador de 7 segmentos

Para melhor visualizar o resultado da contagem, será usado um decodificador BCD para 7 segmentos comercial. Utilize o CI SN7447. Ligue o CI conforme indicado no diagrama esquemático. O resultado no display será uma contagem conforme a figura a seguir:

Segmentos 7447.png

Preparando para gravar o circuito lógico no FPGA

Para gravar o circuito lógico no FPGA, é necessário escolher um FPGA para a aplicação. Neste caso utilizaremos o kit DE2-115.

Clique para Ampliar
  • Mude a família e dispositivo a ser usado (Assignments > Devices), [Family = Cyclone IV E] e selecione EP4CE115F29C7.
  • Utilize o display HEX0 do kit para mostrar a contagem:
Display7segDE2-115.png
  • Utilize os leds de LED0 a LED3 (verdes) para mostrar a contagem em binário.
  • Utilize a chave KEY0 para gerar o sinal de CLK.
  • Atribua os pinos conforme a pinagem do kit DE2-115.
  • Ao final da configuração dos pinos, o Pin Planner deverá mostrar a seguinte pinagem:
DE2-115-ContAssCres3.png
  • Defina como alta impedância o estado dos pinos não utilizados no projeto. (Assignments > Devices), [Device and Pin Options...], escolha a (Category=Unused Pins), e selecione Reserve all unused pins: As input tri-stated. [OK].
  • Compile o projeto. Note que agora a numeração dos pinos também aparece no diagrama esquemático.

Gravando o projeto no FPGA

  • Use a porta USB-Blaster para fazer a programação na placa DE2-115;
  • No Quartus vá em (Tools > Programmer) para abrir a página de programação;
    • Selecione o Hardware (Hardware Setup > USB-Blaster);
    • Utilize o modo JTAG e clique em Start para começar a programação;
Programador.png

Questões sobre a abordagem

Questão 1
Qual o nível de complexidade quanto a leitura do diagrama esquemático?
.
.
.
.
.
.
.
.
Questão 2
Qual o nível de complexidade quanto a seleção dos componentes e a implementação do diagrama esquemático no QUARTUS II?
.
.
.
.
.
.
.
.


Questão 3
Qual o nível de complexidade quanto a conferência das ligações e a compilação do projeto?
.
.
.
.
.
.
.
.
Questão 4
Quanto a simulação e o teste funcional e temporal(transições entre as contagens) no QSIM houve um melhor entendimento sobre o contador ?
.
.
.
.
.
.
.
.
Questão 5
Quanto a detecção de erros houve uma simplificação pelo uso do Quartus?
.
.
.
.
.
.
.
.
Questão 6
Quanto a programação do FPGA, quais as vantagens ou desvantagens apresentadas no teste?
.
.
.
.
.
.
.
.