Mudanças entre as edições de "Laboratório - Projeto e implementação de um conversor BCD para SSD"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(8 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 279: Linha 279:
 
:* Conclusão.
 
:* Conclusão.
 
:* Apêndice (se desejar pode ser disponibilizados vídeos dos testes do circuito)
 
:* Apêndice (se desejar pode ser disponibilizados vídeos dos testes do circuito)
* O relatório deve também responder as questões levantadas e mostrar que os objetivos apresentados na introdução foram atendidos.
+
:*O relatório deve também responder as questões levantadas e mostrar que os objetivos apresentados na introdução foram atendidos.
 +
*Enviar pela tarefa AE1 - Atividade de Laboratório 1 do Moodel da UC o arquivo PDF com o relatório.
 +
;Arquivos do projeto:
 +
*Além do relatório é necessário que o aluno envie o arquivo QAR.
 +
 
 +
==Dicas==
 +
*Para acessar o Quartus na nuvem, use o ssh (no IFSC) ou X2GO (de casa).
 +
:*Acesso a VM Quartus e Matlab em nuvem
 +
:*PRIMEIRO ACESSO
 +
:*[https://wiki.sj.ifsc.edu.br/index.php/Acesso_ao_IFSC-CLOUD_(NUVEM)#Configura.C3.A7.C3.A3o_do_X2GO Configuração do X2GO]
 +
:*[https://wiki.sj.ifsc.edu.br/index.php/Acesso_ao_IFSC-CLOUD_(NUVEM)#Acesso_via_ssh Acesso via ssh]
 +
*[[Como elaborar e enviar o arquivo QAR]]
 +
 
 +
*Para copiar arquivos da nuvem para a maquina local use o sftp. 
 +
:*[https://wiki.sj.ifsc.edu.br/index.php/Acesso_ao_IFSC-CLOUD_(NUVEM)#LINUX Como transferir arquivos do computador local para a CLOUD-IFSC: LINUX]
 +
 
 +
*Video explicando como criar o QAR e como mover da nuvem para o computador local.
 +
<center>{{#ev:youtube|FlFs9NNxVnU}}</center>
 +
*Mesmo que haja erro na Analysis & Synthesis você pode criar o QAR.
 +
<center>{{#ev:youtube|AJyaltzjkl0}}</center>

Edição atual tal como às 17h22min de 9 de novembro de 2023

Objetivos
  • Projetar um circuito digital que realize a conversão de uma entrada BCD para um saída de um mostrador de 7 segmentos.
  • Descrever através de uma tabela verdade o funcionamento de um circuito.
  • Usar a técnica do mapa de Karnaugh para minimizar a função lógica de cada saída.
  • Fazer a descrição do hardware (em VHDL) do circuito obtido.
  • Utilizar um kit FPGA para implementar o circuito.
  • Verificar se o circuito funciona
  • Redigir um relatório completo sobre a atividade realizada
Procedimento de laboratório

Passo 1 - Preparação

  • Identifique no kit FPGA (DE2-115) as chaves, leds e mostrador que será utilizado
  • As chaves SW3, SW2, SW1, SW0 serão utilizadas como as entradas bcd_A, bcd_B, bcd_C, bcd_D.
  • Os leds LEDR3, LEDR2, LEDR1, LEDR0 serão utilizados para mostrar quando as entradas estão em alto
  • O mostrador SSD HEX0 será usado para mostrar os números de 0 a 9 na saída.
  • Escreva a tabela verdade do conversor. Lembre-se que nesse kit o mostrador é de anodo comum, e portanto o led acende em BAIXO e apaga em ALTO.
Entradas Saídas
Valor Mostrador ABCD a b c d e f g
0 Ssd0.png 0000 0 0 0 0 0 0 1
1 Ssd1.png 0001 1 0 0 1 1 1 1
2 Ssd2.png 0010 0 0
3 Ssd3.png 0011 0 0
4 Ssd4.png 0100 1 0
5 Ssd5.png 0101 0 1
6 Ssd6.png 0110 0 1
7 Ssd7.png 0111 0 0
8 Ssd8.png 1000 0 0 0 0 0 0 0
9 Ssd9.png 1001 0 0
 a = (A + C + B D + B'D')' 

Passo 2 - Obtenção do circuito em VHDL

  • Uma vez obtidas as expressões lógicas de cada saída, escreva o código VHDL que implemente essas funções, utilizando apenas portas (and, or e not)
-- File: bcd2ssd.vhd
-- Autor: Marcos Moecke
-- Data:  19 out. 2023

-- declaração da entidade.  descrição dos nomes do circuito, entradas e saidas
entity bcd2ssd is
  port (
    bcd_A, bcd_B, bcd_C, bcd_D  : in bit;   -- bits da entrada BCD
    led_A, led_B, led_C, led_D  : out bit;   -- bits da entrada BCD
    ssd_a, ssd_b, ssd_c, ssd_d, ssd_e, ssd_f, ssd_g  : out bit);   -- bits da saida SSD para o mostrador
end entity;
-- descrição do circuito a ser implementado no FPGA
architecture ifsc_v1 of bcd2ssd is

begin
  -- Conectar as entradas aos leds
  led_a <= bcd_A;
  led_b <= 

  -- Descrever as funcoes logicas minimizadas de cada saida SSD
  -- a =  A'B'C'D + B C'D' (função obtida para o display de anodo comum)
  ssd_a <= ((not bcd_A) and (not bcd_B) and (not bcd_C)  and bcd_D) or (bcd_B and (not bcd_C) and (not bcd_D));

  -- b =  B C'D + B C D' (função obtida para o display de anodo comum)
  ssd_b <=

end architecture;
  • Fazer a análise e síntese desse circuito. Corrija eventuais erros.
  • Se desejar realize a simulação com o Modelsim, variando as entradas de 0 a 15. (opcional)
  • Verifique se os valores das saídas estão corretos para 0 até 9.
  • Anote os valores das saídas para as entradas entre 10 e 15. Como os valores não foram predeterminados (foi usado o don't care), o mostrador pode acender de forma aleatória.

Passo 3 - Gravação do circuito no kit FPGA

porta da ENTITY nome do pino no FPGA número do pino no FPGA
bcd_A SW[3]
bcd_B SW[2]
bcd_C SW[1] PIN_AC28
bcd_D SW[0] PIN_AB28
led_A LEDR[3]
led_B LEDR[2]
led_C LEDR[1] PIN_F19
led_D LEDR[0] PIN_G19
ssd_a HEX0[0] PIN_G18
ssd_b HEX0[1] PIN_F22
ssd_c HEX0[2]
ssd_d HEX0[3]
ssd_e HEX0[4]
ssd_f HEX0[5]
ssd_g HEX0[6]

Passo 4 - Testes

  • Para verificar se o circuito funciona, realie seguintes testes, acionando as chaves e observando o resultado nos LEDs e no mostrador:
  • Selecione nas chaves SW3, SW2, SW1, SW0, seguidamento os valores binários correspondentes aos valores de 0 a 15
  • Verifique se o leds LEDR3, LEDR2, LEDR1, LEDR0 acendem conforme os números.
  • Verifique também se o mostrador mostra corretamente os valores de 0 a 9.
  • Anote quais leds acendem para os valores 10 a 15.

Passo 5 - Documentação

  • Ao longo do procedimento anote os valores e procedimentos realizados para incluí-los no relatório.
Relatório Técnico
  • Documentar o experimento em um relatório técnico que contenha no mínimo:
  • Identificação (título, disciplina, data, autores);
  • Introdução;
  • Descrição do procedimento realizado;
  • Resultados obtidos (com imagens dos itens importantes) e análise dos resultados;
  • Conclusão.
  • Apêndice (se desejar pode ser disponibilizados vídeos dos testes do circuito)
  • O relatório deve também responder as questões levantadas e mostrar que os objetivos apresentados na introdução foram atendidos.
  • Enviar pela tarefa AE1 - Atividade de Laboratório 1 do Moodel da UC o arquivo PDF com o relatório.
Arquivos do projeto
  • Além do relatório é necessário que o aluno envie o arquivo QAR.

Dicas

  • Para acessar o Quartus na nuvem, use o ssh (no IFSC) ou X2GO (de casa).
  • Para copiar arquivos da nuvem para a maquina local use o sftp.
  • Video explicando como criar o QAR e como mover da nuvem para o computador local.
  • Mesmo que haja erro na Analysis & Synthesis você pode criar o QAR.