Mudanças entre as edições de "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
 
(10 revisões intermediárias por um outro usuário não estão sendo mostradas)
Linha 1: Linha 1:
 +
Link curto http://bit.ly/Roteiro3-MLCL
 +
 
=Objetivos=
 
=Objetivos=
 
* Inserir diagrama esquemático de um circuito lógico com o Quartus II  
 
* Inserir diagrama esquemático de um circuito lógico com o Quartus II  
Linha 10: Linha 12:
 
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.
 
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.
  
[[Imagem:assin_up3.png|900px]]
+
[[Imagem:assin_up4.png|900px]]
  
  
Linha 23: Linha 25:
 
:*Desenhe a forma de onda dos sinais de entrada conforme mostrado na figura abaixo, e salve com o nome entrada.vwf.
 
:*Desenhe a forma de onda dos sinais de entrada conforme mostrado na figura abaixo, e salve com o nome entrada.vwf.
  
[[Arquivo:ent1.png|800 px]]
+
[[Arquivo:ent2.png|1200 px]]
 
*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.
 
*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)
 
*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.
 
*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.
  
[[Arquivo:saidaf1.png|800 px]]
+
[[Arquivo:saidaf2.png|1200 px]]
  
 
=Simulação temporal com o QSIM=
 
=Simulação temporal com o QSIM=
Linha 47: Linha 49:
 
[[Arquivo:Display7segDE2-115.png|center]]
 
[[Arquivo:Display7segDE2-115.png|center]]
  
*Utilize os leds de LED0 a LED3 (vermelhos) para mostrar a contagem em binário.
+
*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.
 
*Utilize a chave KEY0 para gerar o sinal de CLK.
  
Linha 53: Linha 55:
 
*Ao final da configuração dos pinos, o Pin Planner deverá mostrar a seguinte pinagem:
 
*Ao final da configuração dos pinos, o Pin Planner deverá mostrar a seguinte pinagem:
  
[[Arquivo:DE2-115-ContAssCres2.png|300px|center]]
+
[[Arquivo:DE2-115-ContAssCres3.png|300px|center]]
  
 
*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].
 
*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].
Linha 62: Linha 64:
 
*Use a porta USB-Blaster para fazer a programação na placa DE2-115;
 
*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;
 
*No Quartus vá em (Tools > Programmer) para abrir a página de programação;
**Após isso vá em (Hardware Setup) e selecione o (USB-Blaster);
+
**Selecione o Hardware (Hardware Setup > USB-Blaster);
**Com modo em JTAG, clique em Start para começar a programação;
+
**Utilize o modo JTAG e clique em Start para começar a programação;
[[Arquivo:Programador.png|center]]
+
[[Arquivo:Programador.png|700px|center]]
  
 
=Questões sobre a abordagem=
 
=Questões sobre a abordagem=
Linha 98: Linha 100:
 
  .
 
  .
  
;Questão 4: Quanto a simulação e o teste funcional e temporal no QSIM e sobre a detecção de erros (transições entre as contagens) houve uma simplificação ou não pelo uso do QUARTUS II ?   
+
;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? 
 
  .
 
  .
 
  .
 
  .
Linha 107: Linha 115:
 
  .
 
  .
 
  .
 
  .
 
+
.
;Questão 5: Quanto a programação do FPGA, quais os benefícios ou malefícios apresentados no teste?   
+
.
 +
.
 +
;Questão 6: Quanto a programação do FPGA, quais as vantagens ou desvantagens apresentadas no teste?   
 
  .
 
  .
 
  .
 
  .

Edição atual tal como às 11h57min de 26 de junho de 2014

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?
.
.
.
.
.
.
.
.