Top Banner
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
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.

Apr 17, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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?