Mudanças entre as edições de "Circuitos Lógicos Aritméticos"
Ir para navegação
Ir para pesquisar
Linha 76: | Linha 76: | ||
*Salve o arquivo como Somador4bits.bdf na mesma pasta do PROJ2. | *Salve o arquivo como Somador4bits.bdf na mesma pasta do PROJ2. | ||
− | *Mude Após isso faça a Análise e | + | *Mude o Top Level para este circuito. Após isso faça a Análise e Síntese do projeto. |
==Simulação funcional com o QSIM== | ==Simulação funcional com o QSIM== | ||
*Abra o editor de forma de onda do simulador QSIM (File > New > University Programa VWF). | *Abra o editor de forma de onda do simulador QSIM (File > New > University Programa VWF). | ||
*Defina o tempo de simulação (Edit > Set End Time ...) = 200 ns. | *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]. | ||
+ | *Gere uma forma de onda dos sinais de entrada semelhante a mostrado na figura abaixo (Use a função [Randon Value] em A e B, e salve com o nome TesteSomador4bits.vwf. | ||
+ | [[Arquivo:S4b-SIM_IN.png|800 px]] | ||
+ | |||
+ | *Indique que o QSIM será usado na simulação (Simulation > Options > (x) Quartus II Simulator) > [OK] > [OK] | ||
+ | *Faça a simulação funcional do circuito lógico usando o sinal criado (Simulation > Run Functional Simulation) | ||
+ | *O resultado da simulação deve corresponder a um somador completo. | ||
+ | [[Arquivo:S4b-SIM.png|800 px]] | ||
+ | *Analise os resultados preenchendo a tabela abaixo: | ||
+ | |||
+ | <center> | ||
+ | {| border="1" cellpadding="5" cellspacing="0" style="text-align: center;" | ||
+ | ! colspan="3" style="background: #efefef;" | Entradas | ||
+ | ! colspan="2" style="background: #ffdead;" | Saídas | ||
+ | ! style="background: #00dead;" | x | ||
+ | ! colspan="3" style="background: #efefef;" | Entradas | ||
+ | ! colspan="2" style="background: #ffdead;" | Saídas | ||
+ | |- | ||
+ | !width="40"| cin | ||
+ | !width="40"| A | ||
+ | !width="40"| B | ||
+ | !width="40"| S | ||
+ | !width="40"| cout | ||
+ | !width="5" style="background: #00dead;"| x | ||
+ | !width="40"| cin | ||
+ | !width="40"| A | ||
+ | !width="40"| B | ||
+ | !width="40"| S | ||
+ | !width="40"| cout | ||
+ | |- | ||
+ | | || || || || || x || || || || || | | ||
+ | |- | ||
+ | | || || || || || x || || || || || | | ||
+ | |- | ||
+ | | || || || || || x || || || || || | | ||
+ | |- | ||
+ | | || || || || || x || || || || || | | ||
+ | |- | ||
+ | | || || || || || x || || || || || | | ||
+ | |- | ||
+ | | || || || || || x || || || || || | | ||
+ | |- | ||
+ | | || || || || || x || || || || || | | ||
+ | |- | ||
+ | | || || || || || x || || || || || | | ||
+ | |- | ||
+ | | || || || || || x || || || || || | | ||
+ | |} | ||
+ | </center> | ||
+ | |||
+ | ==Simulação Temporal com o QSIM== | ||
+ | *Compile o circuito [Processing > Start Compilation] > após alguns minutos [OK]. Confira o [Compilation Report], verificando que o circuito correto foi compilado e anote o número de elementos lógicos e o total de pinos (14 -> 4 entrada A, 4 entrada B, 4 saida S e mais Cin e Cout). | ||
+ | *Abra o arquivo TesteSomador4bits.vwf e faça a simulação temporal do circuito lógico usando o sinal anteriormente já criado (Simulation > Run Timing Simulation) | ||
+ | *O resultado da simulação deve corresponder a um somador completo com ''gliches'' e um atraso no sinal de saída. | ||
+ | [[Arquivo:S4b-SIM-timing.png|800 px]] | ||
+ | *Identifique as diferenças entre os sinais gerados na simulação funcional e na simulação temporal. | ||
+ | *Responda as seguintes questões:* | ||
+ | ;Como este tipo de somador deveria ser utilizado? | ||
+ | ;Meça o atraso do resultado em relação a entrada? Considere a resposta após o término dos ''gliches''. | ||
+ | ;Por que esse atraso acontece? | ||
+ | ;Apresente alguma solução utilizar esse circuito mesmo com o atraso no resultado. | ||
+ | ;Que tipo de outro circuito pode ser utilizado para fazer a soma de 4 bits? | ||
+ | |||
+ | =Multiplicador de 4 bits= | ||
+ | ==Diagrama Esquemático== | ||
+ | Abra o Quartus II e insira o diagrama esquemático do módulo básico do multiplicador, utilizando o componente FullAdder criado anteriormente. | ||
+ | <center> | ||
+ | [[Arquivo:ModuloBMultiplier-bdf.png|400px]] | ||
+ | </center> | ||
+ | |||
+ | *Salve o arquivo como ModuloBMultiplicador.bdf na mesma pasta do PROJ2. | ||
+ | *Mude o Top Level para este circuito. Após isso faça a Análise e Síntese do projeto. | ||
+ | * | ||
+ | |||
+ | ==Simulação funcional com o QSIM== | ||
+ | *Abra o editor de forma de onda do simulador QSIM (File > New > University Programa VWF). | ||
+ | *Defina o tempo de simulação (Edit > Set End Time ...) = 1000 ns. | ||
*Importe todos os nós de lista do projeto (Edit > Insert > Insert Node or Bus) > [Node Finder] > [List] > [>>] > [OK] > [OK]. | *Importe todos os nós de lista do projeto (Edit > Insert > Insert Node or Bus) > [Node Finder] > [List] > [>>] > [OK] > [OK]. | ||
*Gere uma forma de onda dos sinais de entrada semelhante a mostrado na figura abaixo (Use a função [Randon Value] em A e B, e salve com o nome TesteSomador4bits.vwf. | *Gere uma forma de onda dos sinais de entrada semelhante a mostrado na figura abaixo (Use a função [Randon Value] em A e B, e salve com o nome TesteSomador4bits.vwf. |
Edição das 21h01min de 5 de junho de 2014
Objetivos
- Construir testar um circuito somador completo (FA -full adder) a partir de portas lógicas usando o diagrama esquemático do QUARTUS II.
- Fazer a simulação funcional do circuito com o QSIM.
- Criar componentes após o teste e reutiliza-los em projetos maiores.
- Construir um somador de 4 bits usando os FA como componente.
- Construir um circuito que realiza o complemento de 2.
- Construir um somador/subtrator de 4 bits usando o somador de 4 bits e complemento de 2 como componentes.
- Construir um multiplicador de 4 bits usando os FA como componente.
- Preparar o circuito para gravação e realização no kit DE2-115.
Somador Completo
Diagrama Esquemático
Abra o Quartus II e insira o diagrama esquemático do somador completo, conforme a figura abaixo.
- OBS: Use a versão 13.0 ou 13.1 do Quartus II na versão 12.x o uso do QSIM é feita de modo não integrado a IDE do QUARTUS.
Após salvar o arquivo como FullAdder.bdf em uma pasta vazia com nome PROJ2, e crie um projeto FullAdder.qpf utilizando a família family=Cyclone com o dispositivo device=EP1C3T100A8. Após isso faça a Análise e Sintese do projeto.
Simulação funcional com o QSIM
- Abra o editor de forma de onda do simulador QSIM (File > New > University Programa VWF) (v 13.0 e 13.1).
- 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 TesteFA.vwf.
- Indique que o QSIM será usado na simulação (Simulation > Options > (x) Quartus II Simulator) > [OK] > [OK] (v. 13.0)
- Faça a simulação funcional do circuito lógico usando o sinal criado (Simulation > Run Functional Simulation)
- O resultado da simulação deve corresponder a um somador completo.
- Analise o resultado preenchendo a tabela-verdade abaixo:
Entradas | Saídas | |||
---|---|---|---|---|
cin | a | b | s | cout |
0 | 0 | 0 | ||
0 | 0 | 1 | ||
0 | 1 | 0 | ||
0 | 1 | 1 | ||
1 | 0 | 0 | ||
1 | 0 | 1 | ||
1 | 1 | 0 | ||
1 | 1 | 1 |
Criar o componente FullAdder
- Selecione na IDE do Quartus II o diagrama esquemático do FullAdder e selecione [File > Create/Update > Create Symbol Files for Current File] > [Save] > [OK].
- Note que um novo simbolo estará disponível para uso no diagrama esquemático com o nome FullAdder
Somador de 4 bits
Diagrama Esquemático
Abra o Quartus II e insira o diagrama esquemático do somador completo, utilizando o componente FullAdder criado anteriormente.
- Salve o arquivo como Somador4bits.bdf na mesma pasta do PROJ2.
- Mude o Top Level para este circuito. Após isso faça a Análise e Síntese do projeto.
Simulação funcional com o QSIM
- Abra o editor de forma de onda do simulador QSIM (File > New > University Programa 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].
- Gere uma forma de onda dos sinais de entrada semelhante a mostrado na figura abaixo (Use a função [Randon Value] em A e B, e salve com o nome TesteSomador4bits.vwf.
- Indique que o QSIM será usado na simulação (Simulation > Options > (x) Quartus II Simulator) > [OK] > [OK]
- Faça a simulação funcional do circuito lógico usando o sinal criado (Simulation > Run Functional Simulation)
- O resultado da simulação deve corresponder a um somador completo.
- Analise os resultados preenchendo a tabela abaixo:
Entradas | Saídas | x | Entradas | Saídas | ||||||
---|---|---|---|---|---|---|---|---|---|---|
cin | A | B | S | cout | x | cin | A | B | S | cout |
x | ||||||||||
x | ||||||||||
x | ||||||||||
x | ||||||||||
x | ||||||||||
x | ||||||||||
x | ||||||||||
x | ||||||||||
x |
Simulação Temporal com o QSIM
- Compile o circuito [Processing > Start Compilation] > após alguns minutos [OK]. Confira o [Compilation Report], verificando que o circuito correto foi compilado e anote o número de elementos lógicos e o total de pinos (14 -> 4 entrada A, 4 entrada B, 4 saida S e mais Cin e Cout).
- Abra o arquivo TesteSomador4bits.vwf e faça a simulação temporal do circuito lógico usando o sinal anteriormente já criado (Simulation > Run Timing Simulation)
- O resultado da simulação deve corresponder a um somador completo com gliches e um atraso no sinal de saída.
- Identifique as diferenças entre os sinais gerados na simulação funcional e na simulação temporal.
- Responda as seguintes questões:*
- Como este tipo de somador deveria ser utilizado?
- Meça o atraso do resultado em relação a entrada? Considere a resposta após o término dos gliches.
- Por que esse atraso acontece?
- Apresente alguma solução utilizar esse circuito mesmo com o atraso no resultado.
- Que tipo de outro circuito pode ser utilizado para fazer a soma de 4 bits?
Multiplicador de 4 bits
Diagrama Esquemático
Abra o Quartus II e insira o diagrama esquemático do módulo básico do multiplicador, utilizando o componente FullAdder criado anteriormente.
- Salve o arquivo como ModuloBMultiplicador.bdf na mesma pasta do PROJ2.
- Mude o Top Level para este circuito. Após isso faça a Análise e Síntese do projeto.
Simulação funcional com o QSIM
- Abra o editor de forma de onda do simulador QSIM (File > New > University Programa VWF).
- Defina o tempo de simulação (Edit > Set End Time ...) = 1000 ns.
- Importe todos os nós de lista do projeto (Edit > Insert > Insert Node or Bus) > [Node Finder] > [List] > [>>] > [OK] > [OK].
- Gere uma forma de onda dos sinais de entrada semelhante a mostrado na figura abaixo (Use a função [Randon Value] em A e B, e salve com o nome TesteSomador4bits.vwf.
- Indique que o QSIM será usado na simulação (Simulation > Options > (x) Quartus II Simulator) > [OK] > [OK]
- Faça a simulação funcional do circuito lógico usando o sinal criado (Simulation > Run Functional Simulation)
- O resultado da simulação deve corresponder a um somador completo.
- Analise os resultados preenchendo a tabela abaixo:
Entradas | Saídas | x | Entradas | Saídas | ||||||
---|---|---|---|---|---|---|---|---|---|---|
cin | A | B | S | cout | x | cin | A | B | S | cout |
x | ||||||||||
x | ||||||||||
x | ||||||||||
x | ||||||||||
x | ||||||||||
x | ||||||||||
x | ||||||||||
x | ||||||||||
x |
Simulação Temporal com o QSIM
- Compile o circuito [Processing > Start Compilation] > após alguns minutos [OK]. Confira o [Compilation Report], verificando que o circuito correto foi compilado e anote o número de elementos lógicos e o total de pinos (14 -> 4 entrada A, 4 entrada B, 4 saida S e mais Cin e Cout).
- Abra o arquivo TesteSomador4bits.vwf e faça a simulação temporal do circuito lógico usando o sinal anteriormente já criado (Simulation > Run Timing Simulation)
- O resultado da simulação deve corresponder a um somador completo com gliches e um atraso no sinal de saída.
- Identifique as diferenças entre os sinais gerados na simulação funcional e na simulação temporal.
- Responda as seguintes questões:*
- Como este tipo de somador deveria ser utilizado?
- Meça o atraso do resultado em relação a entrada? Considere a resposta após o término dos gliches.
- Por que esse atraso acontece?
- Apresente alguma solução utilizar esse circuito mesmo com o atraso no resultado.
- Que tipo de outro circuito pode ser utilizado para fazer a soma de 4 bits?