8
Aula 4 - Introdução a FPGAs (Continuação) LABORG 24/março/2008 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans

Aula 4 - Introdução a FPGAs (Continuação) LABORG 24/março/2008 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans

Embed Size (px)

Citation preview

Page 1: Aula 4 - Introdução a FPGAs (Continuação) LABORG 24/março/2008 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans

Aula 4 - Introdução a FPGAs(Continuação)

LABORGLABORG

24/março/2008

Fernando Gehm Moraes

César Augusto Missio Marcon

Ney Laert Vilar Calazans

Page 2: Aula 4 - Introdução a FPGAs (Continuação) LABORG 24/março/2008 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans

2Fernando Moraes / César Marcon / Ney Calazans

Usando Recursos da Plataforma Nexys

• Na aula anterior, todos ou quase conseguiram prototipar um somador de 4 bits com Vai-um:

– A saída “Soma” é codificada em 5 bits, sendo estes mostrados nos diodos emissores de luz (leds) localizados acima das chaves deslizantes que funcionam como entradas

– A identificação do resultado poderia ser melhor se os números fossem representados em decimal ou em hexadecimal

– O objetivo desta aula é demonstrar o uso dos mostradores de 7 segmentos para permitir este melhoramento da ergonomia do projeto na palataforma Nexys

– Note-se que o processo não e trivial, devido (1) à forma como os mostradores de 7 segmentos conectam-se ao FPGA, e (2) devido à própria organização do hardware dos mostradores

Page 3: Aula 4 - Introdução a FPGAs (Continuação) LABORG 24/março/2008 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans

3Fernando Moraes / César Marcon / Ney Calazans

Usando Recursos da Plataforma Nexys

• Mostrando o resultado não nos leds, mas nos mostradores de sete segmentos?

A(3 downto 0);

B(3 downto 0);

Mostradores de 7 Segmentos

Page 4: Aula 4 - Introdução a FPGAs (Continuação) LABORG 24/março/2008 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans

4Fernando Moraes / César Marcon / Ney Calazans

Usando Recursos da Plataforma Nexys

• Uma sugestão de modificação do projeto para realizar isto. Usar o projeto da Aula 3 e supor que o resultado da soma deva ir para o display mais à direita da placa, e que o vai-um seja associado ao ponto decimal.

• Resumo dos passos a realizar:

1. Ler o manual de referência para entender como funcionam os mostradores (fim da página 5 e página 6). Complicado?

2. Abrir e estudar o código VHDL contido no link dspl_drv_nexys.vhd. Será dada explicação em aula sobre este VHDL. Acrescentar este arquivo ao projeto:

» No ambiente ISE, ir na janela Sources (canto superior esquerdo) clicar com botão direito do mouse no ícone com o nome do dispositivo (xc3s200-4ft256) e escolhendo a opção de menu “Add Source”.

3. Modificar o UCF para adaptá-lo ao novo formato da saída. Garanta que o clock da placa está operando em 50MHz. Testar com osciloscópio!

4. E se o clock não fosse 50MHz? Ler o manual e ver como usar clocks de 25MHz e 100MHz e testar o projeto com estes novos valores!

Page 5: Aula 4 - Introdução a FPGAs (Continuação) LABORG 24/março/2008 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans

5Fernando Moraes / César Marcon / Ney Calazans

Usando Recursos da Plataforma Nexys

• Detalhamento dos passos a realizar:

1. Funcionamento dos mostradores• 8 pinos para ativar cada display (F13 a H14)

• 4 pinos para escolher qual display acender (G14 a F12)

• Displays são multiplexados

• Pressupõe uma varredura de 1 KHzpara acender cada mostrador 250vezes por segundo, dando aa impressão de que todos estãoacesos o tempo todo

• Idéia: enquanto acende-se algummostrador, apaga-se os demais

• Problema: manter o sincronismo!

• Para acender/apagar mostrador 0:pino G14 em 0/1, respectivamente

•Para os demais mostradores, similar

Page 6: Aula 4 - Introdução a FPGAs (Continuação) LABORG 24/março/2008 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans

6Fernando Moraes / César Marcon / Ney Calazans

Usando Recursos da Plataforma Nexys

• Detalhamento dos passos a realizar:2. Abrir e estudar o código VHDL contido no link dspl_drv_nexys.vhd. Será

dada explicação em aula sobre este VHDL

clock

reset

d1 (5:0)d2 (5:0)d3 (5:0)d4 (5:0)

dec_ddp (7:0)an (3:0)

• di(5) – ativa/desativa mostrador i• di(4:1) – número hexa a mostrar em i• di(0) – ponto decimal de i

Page 7: Aula 4 - Introdução a FPGAs (Continuação) LABORG 24/março/2008 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans

7Fernando Moraes / César Marcon / Ney Calazans

Usando Recursos da Plataforma Nexys

• Detalhamento dos passos a realizar:3. Modificar o UCF para adaptá-lo ao novo formato da saída. Garanta que o

clock da placa está operando em 50MHz. Testar com osciloscópio! Sugestões:

• Ligar o resultado da soma no display 1 (sinal d1) e o vai-um no ponto decimal do mesmo

• Desligar todos os demais displays• Ligar a entrada de reset no botão BTN0 da plataforma Nexys• Ligar a entrada de clock no clock da placa, garantindo que este

opera a 50MHz (ver o pino no manual)• Ligar as saídas do driver do mostrador nos pinos adequados do

hardware do mostrador

Page 8: Aula 4 - Introdução a FPGAs (Continuação) LABORG 24/março/2008 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans

8Fernando Moraes / César Marcon / Ney Calazans

Usando Recursos da Plataforma Nexys

• Detalhamento dos passos a realizar:4. E se o clock não fosse 50MHz? Ler o manual e ver como usar clock de

25MHz ou 100MHz e testar o projeto com estes novos valores!• Funciona ou não? • Qual a diferença e qual a explicação para o comportamento

observado?