Mudanças entre as edições de "Experimento 5 para Circuitos Lógicos"

De MediaWiki do Campus São José
Ir para: navegação, pesquisa
Linha 5: Linha 5:
 
* Aplicar o Mapa de Karnaugh para a criação de um decodificador de 7 segmentos;
 
* Aplicar o Mapa de Karnaugh para a criação de um decodificador de 7 segmentos;
 
* Gerar formas de onda para entrada de simulação;
 
* Gerar formas de onda para entrada de simulação;
* Fazer a simulação funcional do circuito com o QSIM;
+
* Fazer a simulação funcional do circuito;
 
*;Materiais necessários:
 
*;Materiais necessários:
 
*# [http://www.ti.com/lit/ds/symlink/sn54als08.pdf 74X08 AND](disponível na biblioteca da ALTERA)
 
*# [http://www.ti.com/lit/ds/symlink/sn54als08.pdf 74X08 AND](disponível na biblioteca da ALTERA)
Linha 262: Linha 262:
 
[[Arquivo: resultMK.png]]
 
[[Arquivo: resultMK.png]]
 
* Repita a operação para os demais segmentos.
 
* Repita a operação para os demais segmentos.
 
  
  
Linha 277: Linha 276:
 
# Compile o projeto.
 
# Compile o projeto.
  
<span style="color: rgb(255, 0, 0);" data-mce-style="color: #ff0000;">Os passos abaixo não serão executados em virtude de não estarmos com a placa em mãos.</span>''' Inicie a etapa de simulação funcional.'''
+
<span style="color: rgb(255, 0, 0);" data-mce-style="color: #ff0000;">'''Os passos abaixo não serão executados em virtude de não estarmos com a placa em mãos'''.</span>''' Inicie a etapa de simulação funcional.'''
 
# Associe os pinos (Assignments >> Assignment Editor) segundo a pinagem do [[Pinagem_dos_dispositivos_de_entrada_e_saída_do_kit_MERCURIO_IV | kit MERCURIO IV - EP4CE30F23C7]].
 
# Associe os pinos (Assignments >> Assignment Editor) segundo a pinagem do [[Pinagem_dos_dispositivos_de_entrada_e_saída_do_kit_MERCURIO_IV | kit MERCURIO IV - EP4CE30F23C7]].
 
# Utilize quatro chaves (sw) como entrada BCD.
 
# Utilize quatro chaves (sw) como entrada BCD.
Linha 289: Linha 288:
  
 
* Após a implementação de todos os segmentos, realize teste funcional e verifique se o resultado obtido corresponde a respostas do circuito implementado.
 
* Após a implementação de todos os segmentos, realize teste funcional e verifique se o resultado obtido corresponde a respostas do circuito implementado.
# Abra o editor de forma de onda do simulador QSIM (File > New > University Programa VWF) (v 13.0 e 13.1).
+
# Abra o editor de forma de onda do simulador (File > New > University Programa VWF) (v 13.0 e 13.1).
 
# 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].
 
# Desenhe a forma de onda dos sinais de entrada, simulando todas as combinações de uma tabela verdade de quatro entradas, ou seja, dos valores 0000 a 1111.
 
# Desenhe a forma de onda dos sinais de entrada, simulando todas as combinações de uma tabela verdade de quatro entradas, ou seja, dos valores 0000 a 1111.
# Indique que o QSIM será usado na simulação (Simulation > Options > (x) Quartus II Simulator) > [OK] > [OK] (v. 13.0)
+
# Indique que o VERILOG será usado na simulação (Simulation Settings > Options > (x) Verilog) > [Salve] (v. 19.1)
 
# Faça a simulação funcional do circuito lógico usando o sinal criado (Simulation > Run Functional Simulation)
 
# 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 ao funcionamento do conversor BCD - SSD.
 
# O resultado da simulação deve corresponder ao funcionamento do conversor BCD - SSD.
 
# Agrupe os sinais de entrada como RADIX "decimal não sinalizado". Para isso selecione os sinais [Edit > Grouping] [Group name = IN] > [Radix = Unsigned Decimal] > [OK].
 
# Agrupe os sinais de entrada como RADIX "decimal não sinalizado". Para isso selecione os sinais [Edit > Grouping] [Group name = IN] > [Radix = Unsigned Decimal] > [OK].
 
# Tente visualizar o acendimento dos LEDs e a formação da representação dos respectivos números na saída.
 
# Tente visualizar o acendimento dos LEDs e a formação da representação dos respectivos números na saída.

Edição das 11h01min de 21 de dezembro de 2020

Consersor BCD para display de sete segmentos

Objetivos
  • Aplicar o Mapa de Karnaugh para a criação de um decodificador de 7 segmentos;
  • Gerar formas de onda para entrada de simulação;
  • Fazer a simulação funcional do circuito;
    Materiais necessários
    1. 74X08 AND(disponível na biblioteca da ALTERA)
    2. 74X32 OR(disponível na biblioteca da ALTERA)
    3. 74X04 NOT(disponível na biblioteca da ALTERA)
    4. Computador com software Quartus II da Altera.

Tabela Verdade do decodificador SSD (Sete Segmentos - 0 a 9)

  • Preencha a tabela verdade para todos os segmentos, para isso, analise as entradas e quais segmentos deverão estar acesos ou apagados a partir de uma configuração de catodo comum;
  • Siga o exemplo do segmento G:

Display1 7seg.png

Entradas Saídas Decimal
A B C D a b c d e f g Display
0 0 0 0 1 1 1 1 1 1 0 0
0 0 0 1 0 1 1 0 0 0 0 1
0 0 1 0 1 1 0 1 1 0 1 2
0 0 1 1 1 3
0 1 0 0 1 4
0 1 0 1 1 5
0 1 1 0 1 6
0 1 1 1 0 7
1 0 0 0 1 8
1 0 0 1 1 9
1 0 1 0 X X
1 0 1 1 X X
1 1 0 0 X X
1 1 0 1 X X
1 1 1 0 X X
1 1 1 1 X X

Mapa de Karnaugh

  • Utilize o software LogiSim para obter todos os mapas de Karnaugh e as expressões simplificadas para os sete segmentos.
  • Ou, implemente a minimização do Mapa de Karnaugh utilizando o seguinte software.
    • Primeiro, deve-se preencher a tabela verdade de acordo com o segmento g:

Seg-g.png

  • O software preenche o Mapa de Karnaugh com a melhor minimização possível:

MapaSeg-g.png

  • Obtêm-se a expressão resultante do Mapa:

ResultMK.png

  • Repita a operação para os demais segmentos.


Inserindo a minimização do Mapa de Karnaugh no Quartus

  1. Baixe o .qar do projeto e salve /home/aluno.
  2. Execute o Quartus.
  3. Restaure o projeto: Project >> Restore Archived Project... > (Archive Name: /home/aluno/7-seg.qar ; Destination folder: /home/aluno/BCD_Hexa) >> OK >> Yes.
  4. Será criada uma pasta BCD_Hexa. Esse será nosso diretório de trabalho.
  5. Compile o projeto.
  6. Note que apenas o segmento g está implementado. Confira se ele está de acordo com seu projeto, ajuste se necessário.
  7. Monte os demais segmentos, seguindo este exemplo e baseado em seu projeto já realizado.
  8. Associe o dispositivo a ser utilizado: Assignments >> Device >> Family: Cyclone IV E e Available Devices: EP4CE30F23C7 >> OK
  9. Compile o projeto.

Os passos abaixo não serão executados em virtude de não estarmos com a placa em mãos. Inicie a etapa de simulação funcional.

  1. Associe os pinos (Assignments >> Assignment Editor) segundo a pinagem do kit MERCURIO IV - EP4CE30F23C7.
  2. Utilize quatro chaves (sw) como entrada BCD.
  3. Utilize um dos dois displays SSD como saída.
  4. Compile o projeto.
  5. Conecte a placa via USB.
  6. Faça a carga do código: Tools >> Programer >> Start.
  7. Verifique o funcionamento do conversor: altere o código BCD com as chaves de entrada (0000 à 1111) e verifique a saída no display SSD.

Fazer a simulação funcional do circuito com o QSIM

  • Após a implementação de todos os segmentos, realize teste funcional e verifique se o resultado obtido corresponde a respostas do circuito implementado.
  1. Abra o editor de forma de onda do simulador (File > New > University Programa VWF) (v 13.0 e 13.1).
  2. Importe todos os nós de lista do projeto (Edit > Insert > Insert Node or Bus) > [Node Finder] > [List] > [>>] > [OK] > [OK].
  3. Desenhe a forma de onda dos sinais de entrada, simulando todas as combinações de uma tabela verdade de quatro entradas, ou seja, dos valores 0000 a 1111.
  4. Indique que o VERILOG será usado na simulação (Simulation Settings > Options > (x) Verilog) > [Salve] (v. 19.1)
  5. Faça a simulação funcional do circuito lógico usando o sinal criado (Simulation > Run Functional Simulation)
  6. O resultado da simulação deve corresponder ao funcionamento do conversor BCD - SSD.
  7. Agrupe os sinais de entrada como RADIX "decimal não sinalizado". Para isso selecione os sinais [Edit > Grouping] [Group name = IN] > [Radix = Unsigned Decimal] > [OK].
  8. Tente visualizar o acendimento dos LEDs e a formação da representação dos respectivos números na saída.