Mudanças entre as edições de "Laboratório - Implementação de um MUX4:1 em protoboard"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 1: Linha 1:
 
;Objetivos:
 
;Objetivos:
* Projetar um circuito digital que realize a conversão de uma entrada BCD para um saída de um mostrador de 7 segmentos.
+
* Realizar a montagem em protoboard (breadboard, ou placa de ensaio) de um circuito MUX4:1.  
* Descrever através de uma '''tabela verdade''' o funcionamento de um circuito.
+
* Preparar a montagem utilizando um simulador (Tinkecad)
* Usar a técnica do '''mapa de Karnaugh''' para minimizar a função lógica de cada saída.
+
* Verificar se o circuito funciona no Tinkercad
* Fazer a descrição do hardware (em VHDL) do circuito obtido.
+
* Realizar a montagem no laboratório utilizando CIs reais, protoboard, chaves e leds.
* Utilizar um kit FPGA para implementar o circuito.
 
* Verificar se o circuito funciona
 
 
* Redigir um relatório completo sobre a atividade realizada
 
* Redigir um relatório completo sobre a atividade realizada
  
 
;Procedimento de laboratório:
 
;Procedimento de laboratório:
 
==Passo 1 - Organização==
 
==Passo 1 - Organização==
* Abra o software [https://www.tinkercad.com/dashboard TinkerCAD]
+
* Abra o software [https://www.tinkercad.com/dashboard TinkerCAD], e se cadastre
 
* Separe os seguintes componentes:
 
* Separe os seguintes componentes:
 
:* 1 protoboard (Breadboard)
 
:* 1 protoboard (Breadboard)
Linha 16: Linha 14:
 
:* 1 chave DIP Switch SPST x 4
 
:* 1 chave DIP Switch SPST x 4
 
:* 1 Fonte de alimentação (Power Supply), e ajuste a tensão em 5V, e limite a corrente da fonte em 200 mA
 
:* 1 Fonte de alimentação (Power Supply), e ajuste a tensão em 5V, e limite a corrente da fonte em 200 mA
:* 2 Circuitos integrados [https://www.ti.com/lit/ds/symlink/sn74als21a.pdf 74HC21] (2 portas AND de 4 entradas)
+
:* 2 Circuitos integrados [https://www.ti.com/lit/ds/symlink/sn54as11.pdf 74HC11] (3 portas AND de 3 entradas)
 +
:* 1 Circuito integrado [https://www.ti.com/lit/ds/symlink/sn74ls32.pdf 74HC32] (4 portas OR de 2 entradas)
 
:* 1 Circuito integrado [https://www.ti.com/lit/ds/symlink/sn54als04b.pdf 74HC04] (6 inversores)
 
:* 1 Circuito integrado [https://www.ti.com/lit/ds/symlink/sn54als04b.pdf 74HC04] (6 inversores)
:* 1 Circuito integrado [https://www.ti.com/lit/ds/symlink/sn74ls32.pdf 74HC32] (4 portas OR de 2 entradas)
 
 
*Consulte os datasheets nos links acima para verificar a pinagem de cada CI, e anote os pinos  que serão utilizados das portas
 
*Consulte os datasheets nos links acima para verificar a pinagem de cada CI, e anote os pinos  que serão utilizados das portas
*Realize a montagem do mux conforme o diagrama esquemático.
+
*Realize a montagem do MUX4:1 no tinkercad conforme o diagrama esquemático.
 
:* Inicie conectando os TERRA (GROUND) com fios PRETOS e as ALIMENTAÇÕES (POWER) com fios VERMELHOS
 
:* Inicie conectando os TERRA (GROUND) com fios PRETOS e as ALIMENTAÇÕES (POWER) com fios VERMELHOS
 
:* Conecte as entradas usando fios AZUIS
 
:* Conecte as entradas usando fios AZUIS
Linha 26: Linha 24:
 
:* Conecte as saídas usando fios VERDE
 
:* Conecte as saídas usando fios VERDE
  
==Passo 2 - Obtenção do circuito em VHDL==
+
==Passo 2 - Teste no simulador==
* 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''')
+
*Selecione nas chaves S1 e S0 a entrada desejada (X0 => "00", X1 => "01", ...) e verifique se a entrada correspondente a essa entrada é enviada para a saída Y.  
<syntaxhighlight lang=vhdl>
+
*Dica selecione as chaves S1 e S0, depois produza uma variação 1-0-1-0-1 em cada uma das entradas e veja qual das entradas é copiada para a saída Y.
-- 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;
 
</syntaxhighlight>
 
* 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==
+
*A medida que realiza os testes, preencha a tabela verdade abaixo:
*Veja a documentação em [[Preparando para gravar o circuito lógico no FPGA]] 
 
*Para o kit DE2-115, devemos escolher a FAMILY: '''Cyclone® IV E'''  e o DEVICE:  '''EP4CE115F29C7'''
 
*Realize a associação dos pinos do FPGA com as portas do circuito.  Consulte as [[Interfaces de entrada e saída da DE2-115]] para encontrar o número dos pinos, e complete a tabela abaixo:
 
 
<center>
 
<center>
{| class="wikitable" style="background-color:#ffffff; color:#202122;"
+
{| class="wikitable" style="text-align:center;"
|- style="font-weight:bold;"
+
|- style="font-weight:bold; background-color:#c0c0c0;"
! porta da ENTITY
+
! colspan="4" style="width: 56%;" | Entrada sinal
! nome do pino no FPGA
+
! colspan="2" style="width: 28%;" | Entrada controle
! número do pino no FPGA
+
! style="width: 16%;" | Saída
 +
|- style="font-weight:bold; background-color:#c0c0c0;"
 +
| X3
 +
| X2
 +
| X1
 +
| X0
 +
| S1
 +
| S0
 +
| Y
 
|-
 
|-
| bcd_A
+
| -
| SW[3]
+
| -
 +
| -
 +
| 0
 +
| 0
 +
| 0
 
|  
 
|  
 
|-
 
|-
| bcd_B
+
| -
| SW[2]
+
| -
 +
| -
 +
| 1
 +
| 0
 +
| 0
 
|  
 
|  
 
|-
 
|-
| 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]
 
 
|  
 
|  
|}  
+
|}
 
</center>
 
</center>
* Após feita a configuração, realiza a programação (download do bitstream), conforme descrito em[[Programando o FPGA através da USB-Blaster]]
+
==Passo 3 - Montagem no Laboratório ==
 +
* Abra o software [https://www.tinkercad.com/dashboard TinkerCAD], e use o circuito do passo 1 para fazer essa montagem.
 +
:* Regule a fonte de alimentação (Power Supply), e ajuste a tensão em 5V, e limite a corrente da fonte em 200 mA, '''e deixe ela desligada até terminar toda a montagem.'''
 +
* Separe os seguintes componentes:
 +
:* 1 protoboard (Breadboard)
 +
:* 4 resistores de 1 kΩ
 +
:* 1 chave DIP Switch SPST x 4
 +
:* 2 Circuitos integrados [https://www.ti.com/lit/ds/symlink/sn54as11.pdf 74HC11] (3 portas AND de 3 entradas)
 +
:* 1 Circuito integrado [https://www.ti.com/lit/ds/symlink/sn74ls32.pdf 74HC32] (4 portas OR de 2 entradas)
 +
:* 1 Circuito integrado [https://www.ti.com/lit/ds/symlink/sn54als04b.pdf 74HC04] (6 inversores)
 +
* Note que talvez não tenha a disposição todas os fios das cores que deseja, e que talvez os fios não estejam com os terminais descascados.  Neste caso é necessário primeiro descascar os terminais de alguns fios. Prepare um conjunto de fios suficiente para realizar a montagem.
 +
*Realize a montagem do MUX4:1 conforme o diagrama esquemático.
 +
:* Inicie conectando os TERRA (GROUND) com fios PRETOS e as ALIMENTAÇÕES (POWER) com fios VERMELHOS
 +
:* Conecte as entradas usando fios AZUIS
 +
:* Faça a interconexão dos CIs usando fios AMARELOS
 +
:* Conecte as saídas usando fios VERDE
  
 
==Passo 4 - Testes==
 
==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 S1 e S0 a entrada desejada (X0 => "00", X1 => "01", ...) e verifique se a entrada correspondente a essa entrada é enviada para a saída Y. 
* Selecione nas chaves SW3, SW2, SW1, SW0, seguidamento os valores binários correspondentes aos valores de 0 a 15
+
*Dica selecione as chaves S1 e S0, depois produza uma variação 1-0-1-0-1 em cada uma das entradas e veja qual das entradas é copiada para a saída Y.
* Verifique se o leds LEDR3, LEDR2, LEDR1, LEDR0 acendem conforme os números.
+
*A medida que realiza os testes, preencha a tabela verdade acima, acrecescente uma coluna para Yreal, e anote o outro Y como Ysimulado
* 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==
 
==Passo 5 - Documentação==
 
* Ao longo do procedimento anote os valores e procedimentos realizados para incluí-los no relatório.
 
* Ao longo do procedimento anote os valores e procedimentos realizados para incluí-los no relatório.
 +
* Faça foto da montagem e também cópias das telas do computador para incluir no relatório.
  
 
;Relatório Técnico:
 
;Relatório Técnico:
Linha 152: Linha 141:
 
:* Descrição do procedimento realizado;
 
:* Descrição do procedimento realizado;
 
:* Resultados obtidos (com imagens dos itens importantes) e análise dos resultados;  
 
:* Resultados obtidos (com imagens dos itens importantes) e análise dos resultados;  
 +
 
:* 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.
 
==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]
 
 
*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]
 

Edição das 14h58min de 1 de novembro de 2023

Objetivos
  • Realizar a montagem em protoboard (breadboard, ou placa de ensaio) de um circuito MUX4:1.
  • Preparar a montagem utilizando um simulador (Tinkecad)
  • Verificar se o circuito funciona no Tinkercad
  • Realizar a montagem no laboratório utilizando CIs reais, protoboard, chaves e leds.
  • Redigir um relatório completo sobre a atividade realizada
Procedimento de laboratório

Passo 1 - Organização

  • Abra o software TinkerCAD, e se cadastre
  • Separe os seguintes componentes:
  • 1 protoboard (Breadboard)
  • 4 resistores de 1 kΩ
  • 1 chave DIP Switch SPST x 4
  • 1 Fonte de alimentação (Power Supply), e ajuste a tensão em 5V, e limite a corrente da fonte em 200 mA
  • 2 Circuitos integrados 74HC11 (3 portas AND de 3 entradas)
  • 1 Circuito integrado 74HC32 (4 portas OR de 2 entradas)
  • 1 Circuito integrado 74HC04 (6 inversores)
  • Consulte os datasheets nos links acima para verificar a pinagem de cada CI, e anote os pinos que serão utilizados das portas
  • Realize a montagem do MUX4:1 no tinkercad conforme o diagrama esquemático.
  • Inicie conectando os TERRA (GROUND) com fios PRETOS e as ALIMENTAÇÕES (POWER) com fios VERMELHOS
  • Conecte as entradas usando fios AZUIS
  • Faça a interconexão dos CIs usando fios AMARELOS
  • Conecte as saídas usando fios VERDE

Passo 2 - Teste no simulador

  • Selecione nas chaves S1 e S0 a entrada desejada (X0 => "00", X1 => "01", ...) e verifique se a entrada correspondente a essa entrada é enviada para a saída Y.
  • Dica selecione as chaves S1 e S0, depois produza uma variação 1-0-1-0-1 em cada uma das entradas e veja qual das entradas é copiada para a saída Y.
  • A medida que realiza os testes, preencha a tabela verdade abaixo:
Entrada sinal Entrada controle Saída
X3 X2 X1 X0 S1 S0 Y
- - - 0 0 0
- - - 1 0 0
-
-
-
-
-
-

Passo 3 - Montagem no Laboratório

  • Abra o software TinkerCAD, e use o circuito do passo 1 para fazer essa montagem.
  • Regule a fonte de alimentação (Power Supply), e ajuste a tensão em 5V, e limite a corrente da fonte em 200 mA, e deixe ela desligada até terminar toda a montagem.
  • Separe os seguintes componentes:
  • 1 protoboard (Breadboard)
  • 4 resistores de 1 kΩ
  • 1 chave DIP Switch SPST x 4
  • 2 Circuitos integrados 74HC11 (3 portas AND de 3 entradas)
  • 1 Circuito integrado 74HC32 (4 portas OR de 2 entradas)
  • 1 Circuito integrado 74HC04 (6 inversores)
  • Note que talvez não tenha a disposição todas os fios das cores que deseja, e que talvez os fios não estejam com os terminais descascados. Neste caso é necessário primeiro descascar os terminais de alguns fios. Prepare um conjunto de fios suficiente para realizar a montagem.
  • Realize a montagem do MUX4:1 conforme o diagrama esquemático.
  • Inicie conectando os TERRA (GROUND) com fios PRETOS e as ALIMENTAÇÕES (POWER) com fios VERMELHOS
  • Conecte as entradas usando fios AZUIS
  • Faça a interconexão dos CIs usando fios AMARELOS
  • Conecte as saídas usando fios VERDE

Passo 4 - Testes

  • Selecione nas chaves S1 e S0 a entrada desejada (X0 => "00", X1 => "01", ...) e verifique se a entrada correspondente a essa entrada é enviada para a saída Y.
  • Dica selecione as chaves S1 e S0, depois produza uma variação 1-0-1-0-1 em cada uma das entradas e veja qual das entradas é copiada para a saída Y.
  • A medida que realiza os testes, preencha a tabela verdade acima, acrecescente uma coluna para Yreal, e anote o outro Y como Ysimulado

Passo 5 - Documentação

  • Ao longo do procedimento anote os valores e procedimentos realizados para incluí-los no relatório.
  • Faça foto da montagem e também cópias das telas do computador para incluir 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.