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"
(31 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 | + | 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: | + | [[Imagem:assin_up4.png|900px]] |
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: | + | [[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: | + | [[Arquivo:saidaf2.png|1200 px]] |
=Simulação temporal com o QSIM= | =Simulação temporal com o QSIM= | ||
Linha 33: | Linha 36: | ||
*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. | ||
− | = | + | =Inserindo um decodificador de 7 segmentos= |
− | Para | + | Para melhor visualizar o resultado da contagem, será usado um decodificador BCD para 7 segmentos comercial. Utilize 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: |
− | |||
− | |||
− | [[Arquivo: | + | [[Arquivo:Segmentos_7447.png|600 px|center]] |
− | |||
− | |||
− | = | + | =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. | ||
− | + | *Utilize o display HEX0 do kit para mostrar a contagem: | |
− | |||
− | |||
+ | [[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? | |
− | + | . | |
− | + | . | |
− | + | . | |
− | + | . | |
− | + | . | |
− | . | + | . |
− | + | . | |
− | + | . | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | . | ||
− | |||
− | |||
− | |||
− | |||
− | . | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | . | ||
− | |||
− | |||
− | |||
− | . | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | . | ||
− | |||
− | |||
− | |||
− | |||
− | . | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | ;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? | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . |
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.
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.
- 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.
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:
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.
- 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:
- 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:
- 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;
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?
. . . . . . . .