Mudanças entre as edições de "Registrador de Deslocamento - BDF e QSIM"
Ir para navegação
Ir para pesquisar
(18 revisões intermediárias por 5 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
=Objetivos= | =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 | + | * Inserir diagrama esquemático de um circuito lógico com o Quartus II |
− | *Gerar formas de onda para entrada de simulação | + | * Fazer a simulação funcional de um circuito com o QSIM |
− | *Fazer a simulação temporal 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 | ||
+ | * <s>Preparar o circuito lógico para gravação no kit DE0-Nano</s> | ||
=Diagrama Esquemático= | =Diagrama Esquemático= | ||
− | |||
− | [[Arquivo:RegDesloc-bdf.png| | + | * Abra o Quartus II (versão 12.1). |
+ | * <span>Crie um projeto RegDeslocamento.qpf utilizando a família family=</span>'''Cyclone IV E'''<span><span></span>com o dispositivo device=</span>'''EP4CE115F29C7'''<span>.<span></span></span> | ||
+ | * Crie o esquemático de um registrador de deslocamento com 4 DFF, conforme a figura abaixo. | ||
+ | * <meta http-equiv="content-type" content="text/html; charset=utf-8"><span>Salve o arquivo como RegDeslocamento.bdf.</span> | ||
+ | * <span><meta http-equiv="content-type" content="text/html; charset=utf-8"><span>Após isso compile o projeto.</span></span> | ||
+ | |||
+ | [[Arquivo:RegDesloc-bdf.png|900px]] | ||
− | + | * ''Dica use symbol name: '''dff''' e '''not''', para inserir os componentes.'' | |
=Simulação funcional com o QSIM= | =Simulação funcional com o QSIM= | ||
− | + | ||
− | + | * Crie as formas de onda para entrada da simulação (File > New University VWF). | |
− | *Crie as formas de onda para entrada da simulação (File > New | + | ** Defina o tempo de simulação (Edit > Set End Time ...) = 200 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 teste1.vwf. | |
− | |||
[[Arquivo:RegDeslocTeste1.png|800 px]] | [[Arquivo:RegDeslocTeste1.png|800 px]] | ||
− | *Indique como a simulação será feita ( | + | * Indique como a simulação será feita (Simulation > Run Functional Simulation). Salve o arquivo de forma de onda - teste1.vwf. |
− | *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) |
− | * | + | * Verifique se o resultado obtido corresponde a um Registrador de Deslocamento. |
+ | [[Arquivo:RegDeslocResult1.png|800 px]] | ||
+ | * Note que a entrada de SET (seria o PRESET) e RESET não estão sincronizadas com o relógio (CLK). Os sinais de saída dos DFF são todos sincronizados com a borda de subida do CLK. | ||
+ | * Meça a duração dos pulsos ALTOS após o tempo de 120 ns do sinal D, Q1, Q2, Q3 e Q4. Explique o motivo da diferença de duração.<br /> | ||
+ | * Salve o sinal de saída dando um print da tela. | ||
− | + | =Simulação temporal com o QSIM= | |
− | |||
− | * | + | * Para alterar para simulação temporal utilize, no Simulador, ''Simulation'' >> ''Run Timing Simulation''. |
− | * | + | ** Obs: O simulador somente consegue fazer simulação temporal para as famílias Ciclone III ou mais simples. Tenha certeza que você escolheu um ''device'' compatível. |
+ | * 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 dando um print na tela. | ||
+ | * Compare as saídas da simulação temporal e funcional. O que mudou? | ||
− | = | + | =[[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 DE0-Nano. | |
− | * | + | * Mude a família e dispositivo a ser usado (Assignments > Devices), para família family='''Cyclone''' com o dispositivo device='''EP1C3T100A8''' ou '''Family = Cyclone IV''' E com dispositivo '''device = EP4CE30F23C7'''. |
− | * | + | * Atribua os pinos conforme o Kit DE2-115 - [[Interfaces_de_entrada_e_saída_da_DE2-115 | Cyclone: EP1C3T100A8]] ou Mercurio IV - [[Pinagem_dos_dispositivos_de_entrada_e_saída_do_kit_MERCURIO_IV | Cyclone IV: EP4CE30F23C7]], utilizando como entradas as chaves. Como saída utilizaremos os leds. |
− | + | <center> | |
− | + | [[Arquivo:RegDeslocamento2DE0-NanoPin.png]] | |
− | * | + | </center> |
+ | * Compile o projeto. Note que agora a numeração dos pinos aparece no diagrama esquemático. |
Edição atual tal como às 10h03min de 22 de maio de 2020
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 DE0-Nano
Diagrama Esquemático
- Abra o Quartus II (versão 12.1).
- Crie um projeto RegDeslocamento.qpf utilizando a família family=Cyclone IV Ecom o dispositivo device=EP4CE115F29C7.
- Crie o esquemático de um registrador de deslocamento com 4 DFF, conforme a figura abaixo.
- <meta http-equiv="content-type" content="text/html; charset=utf-8">Salve o arquivo como RegDeslocamento.bdf.
- <meta http-equiv="content-type" content="text/html; charset=utf-8">Após isso compile o projeto.
- Dica use symbol name: dff e not, para inserir os componentes.
Simulação funcional com o QSIM
- Crie as formas de onda para entrada da simulação (File > New University VWF).
- Defina o tempo de simulação (Edit > Set End Time ...) = 200 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 teste1.vwf.
- Indique como a simulação será feita (Simulation > Run Functional Simulation). Salve o arquivo de forma de onda - teste1.vwf.
- Faça a simulação do circuito lógico usando o sinal criado (Processing > Start Simulation)
- Verifique se o resultado obtido corresponde a um Registrador de Deslocamento.
- Note que a entrada de SET (seria o PRESET) e RESET não estão sincronizadas com o relógio (CLK). Os sinais de saída dos DFF são todos sincronizados com a borda de subida do CLK.
- Meça a duração dos pulsos ALTOS após o tempo de 120 ns do sinal D, Q1, Q2, Q3 e Q4. Explique o motivo da diferença de duração.
- Salve o sinal de saída dando um print da tela.
Simulação temporal com o QSIM
- Para alterar para simulação temporal utilize, no Simulador, Simulation >> Run Timing Simulation.
- Obs: O simulador somente consegue fazer simulação temporal para as famílias Ciclone III ou mais simples. Tenha certeza que você escolheu um device compatível.
- 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 dando um print na tela.
- Compare as saídas da simulação temporal e funcional. O que mudou?
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 DE0-Nano.
- Mude a família e dispositivo a ser usado (Assignments > Devices), para família family=Cyclone com o dispositivo device=EP1C3T100A8 ou Family = Cyclone IV E com dispositivo device = EP4CE30F23C7.
- Atribua os pinos conforme o Kit DE2-115 - Cyclone: EP1C3T100A8 ou Mercurio IV - Cyclone IV: EP4CE30F23C7, utilizando como entradas as chaves. Como saída utilizaremos os leds.
- Compile o projeto. Note que agora a numeração dos pinos aparece no diagrama esquemático.