Experimento 15 para Circuitos Lógicos

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Multiplicador (Discreto)

Objetivos
  • Compreender o funcionamento Multiplicador discreto;
  • Construção de um projeto hierárquico;
  • Obter o sinal de saída simulado usando o QSIM - diagrama funcional;
  • Verificar os resultados obtidos;
Materiais necessários
  1. 74X86 XOR (disponível na biblioteca da ALTERA)
  2. 74X00 NAND(disponível na biblioteca da ALTERA)
  3. 74X32 OR(disponível na biblioteca da ALTERA)
  4. Computador com software Quartus II da Altera.

Diagrama Esquemático

  • Abra o Quartus II (versão 13.0.1 SE) e insira o diagrama esquemático do somador completo, conforme a figura abaixo.

FA-bdf.png

  • Salve o arquivo como FullAdder.bdf em uma pasta vazia com nome Exp16, e crie um projeto Multiplicador.qpf utilizando a família family=Cyclone com o dispositivo device=EP1C3T100A8. Após isso faça a Análise e Síntese do projeto.
  • Crie um simbolo para este circuito, selecionando na IDE do Quartus II o diagrama esquemático e [File > Create/Update > Create Symbol Files for Current File] > [Save] > [OK].
FA-bsf.png
  • Insira o diagrama esquemático do módulo básico do multiplicador, utilizando o componente FullAdder anteriormente criado.

ModuloBMultiplier-bdf.png

ModuloBMultiplier-bsf.png
  • 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.
  • Crie um simbolo para este módulo, selecionando na IDE do Quartus II o diagrama esquemático do ModuloBMultiplicador > [File > Create/Update > Create Symbol Files for Current File] > [Save] > [OK].

Abra um novo diagrama esquematico no Quartus II e insira o circuito digital abaixo utilizando os componentes FullAdder e ModuloBMultiplicador criados anteriormente.

Multiplier4bits-bdf.png

  • Salve o arquivo como Multiplicador4bits.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 TesteMultiplicador4bits.vwf.
  • Note que os bits das entradas e saídas estão agrupados em ordem reversa e definidos como RADIX = "Decimal sem sinal"

M4b-SIM IN.png

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

M4b-SIM.png

Análise dos resultados

  • Analise os resultados preenchendo a tabela abaixo, e conferindo em uma calculadora:
Entradas Saídas x Entradas Saídas
A B P x A B P
x
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 (16 -> 4 entradas A, 4 entradas B, 8 saídas P).
  • Abra o arquivo TesteMultiplicador4bits.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 multiplicador de 4 bits com gliches e um atraso no sinal de saída.

M4b-SIM-timing.png

Análise dos resultados

  • 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 multiplicar deveria ser utilizado?
Meça o atraso do resultado em relação a entrada? Considere a resposta após o término dos gliches.
Determine o atraso para 4 valores diferentes de multiplicação. Existem diferença nos atrasos dessas operações?
Por que esse atraso acontece?
Quantas multiplicações por segundo o circuito pode realizar?
Compare o tempo do atraso do somador de 4 bits com o multiplicador de 4 bits.
De que outra forma a mesma multiplicação poderia ser feita?