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
 
(46 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  
*Fazer a simulação funcional de um circuito com o QSIM
+
* Fazer a simulação funcional de um circuito com o QSIM
*Gerar formas de onda para entrada de simulação
+
* Gerar formas de onda para entrada de simulação
*Fazer a simulação temporal de um circuito com o QSIM
+
* Fazer a simulação temporal de um circuito com o QSIM
*Preparar o circuito lógico para gravação no kit DE2-115
+
* Preparar o circuito lógico para gravação no kit DE2-115
 +
* Verificar os resultados obtidos.
  
 
=Diagrama Esquemático=
 
=Diagrama Esquemático=
Abra o Quartus II (versão 12.1) e insera o diagrama esquemático de um contador assíncrono crescente com 4 DFF, 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.
  
[[Arquivo:RegDesloc-bdf.png|800px]]
+
[[Imagem:assin_up4.png|900px]]
  
  
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='''xxxxxxx'''.  Após isso compile o projeto.
+
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=
 
=Simulação funcional com o QSIM=
Linha 22: 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:RegDeslocTeste1.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:RegDeslocResult1.png|800 px]]
+
[[Arquivo:saidaf2.png|1200 px]]
  
 
=Simulação temporal com o QSIM=
 
=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.  
 
*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.
 
*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.
*Meça os atrasos dos sinais Q1, Q2, Q3 e Q4 em relação ao sinal RESET.
 
*Meça os atrasos dos sinais Q1, Q2, Q3 e Q4 em relação ao sinal CLK.
 
  
=Preparando para gravar o circuito lógico no FPGA=
+
=Inserindo um decodificador de 7 segmentos=
Para gravar o circuito lógico no FPGA, é necessário escolher um FPGA para a aplicaçãoNeste caso utilizaremos o kit DE0-Nano.  
+
Para melhor visualizar o resultado da contagem, será usado um decodificador BCD para 7 segmentos comercialUtilize o CI [http://www.ti.com/lit/ds/symlink/sn7447a.pdf SN7447]. Ligue o CI conforme indicado no diagrama esquemático. O resultado no display será uma contagem conforme a figura a seguir:
*Mude a família e dispositivo a ser usado (Assignments > Devices), [Family = Cyclone IV E] e selecione EP4CE22F17C6
 
*Atribua os pinos conforme a [[pinagem do kit DE0-Nano]], utilizando como entradas a chave KEY[0] como CLK, DIPswitch[0] como D, DIPswitch[1] como RESET e DIPswitch[2] como SET. Como saída utilizaremos os leds verdes e Q1 a Q4 como LED[0] a LED[3].
 
  
[[Arquivo:RegDeslocamento2DE0-NanoPin.png]]
+
[[Arquivo:Segmentos_7447.png|600 px|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].
 
*Compile o projeto. Note que agora a numeração dos pinos aparece no diagrama esquemático.
 
  
=Questões sobre a abordagem=
+
=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. [[Arquivo:KitDE2-115.png|200px|right|Clique para Ampliar]]
 +
*Mude a família e dispositivo a ser usado (Assignments > Devices), [Family = Cyclone IV E] e selecione  EP4CE115F29C7.
  
==Questão 1 - dfsjkhfkjsdhfjksh==
+
*Utilize o display HEX0 do kit para mostrar a contagem:
<code>
 
.
 
  
 +
[[Arquivo:Display7segDE2-115.png|center]]
  
 +
*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 [ftp://ftp.altera.com/up/pub/Altera_Material/12.1/Boards/DE2-115/DE2_115.qsf pinagem do kit DE2-115].
 +
*Ao final da configuração dos pinos, o Pin Planner deverá mostrar a seguinte pinagem:
  
 +
[[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].
  
 +
*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;
 +
[[Arquivo:Programador.png|700px|center]]
  
 +
=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? 
.
+
.
</syntaxhighlight>
+
.
 
+
.
==Questão 1 - dfsjkhfkjsdhfjksh==
+
.
<code>
+
.
.
+
.
 
+
.
 
+
.
 
 
 
 
 
 
 
 
 
 
  
  
 +
;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 ? 
</syntaxhighlight>
+
.
 +
.
 +
.
 +
.
 +
.
 +
.
 +
.
 +
.
 +
;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? 
 +
.
 +
.
 +
.
 +
.
 +
.
 +
.
 +
.
 +
.

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