Introdução a Sistemas Digitais - Instituto de Informática - UFRGS - Instituto de...
Transcript of Introdução a Sistemas Digitais - Instituto de Informática - UFRGS - Instituto de...
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt1
Introdução a Sistemas DigitaisIntrodução a Sistemas Digitais
Uso das placas de prototipação
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 2
Placa de PrototipaçãoPlaca de Prototipação
Manual no site: http://www.digilentinc.com/Products/Detail.cfm?Prod=S3BOARD&Nav1=Products&Nav2=Programmable
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 3
ComponenteComponente FPGAFPGA
• 200,000-gate Xilinx Spartan-3 XC3S200 FPGA in a 256-ball thin Ball Grid Array package (XC3S200FT256)
• 4,320 logic cell equivalents• Twelve 18K-bit block RAMs (216K bits)• Twelve 18x18 hardware multipliers• Four Digital Clock Managers (DCMs)• Up to 173 user-defined I/O signals
Usar no projeto ISE
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 4
Placa de PrototipaçãoPlaca de Prototipação
Pressing a push button generates a logic High on the associated FPGA pin.
To light an individual LED, drive the associated FPGA control signal High, which is the opposite polarity fromlighting one of the 7-segment LEDs.
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 5
Placa de PrototipaçãoPlaca de Prototipação
When in the UP or ON position, a switch connects the FPGA pin to VCCO, a logic High.
When DOWN or in the OFF position, the switch connects the FPGA pin to ground, a logic Low.
The switches typically exhibit about 2 ms of mechanical bounce and there is no active debouncing circuitry, although such circuitry could easily be added to the FPGA designprogrammed on the board.
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 6
Debouncing Circuitry
IN
= ‘1’
IN = ‘1’ (OK)
Registrador deslocamento (buffer) com comparador paralelo
Filtrar o ruído mecânico
IN
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 7
Placa de PrototipaçãoPlaca de Prototipação
•The AN3 anode control signal is Low, enabling the control inputs for the left-most character. •The segment control inputs, A through G and DP, drive the individual segments that comprise the character. • A Low value lights the individual segment, a High turns off the segment. • A Low on the A input signal, lights segment ‘a’ of the display. • The anode controls for the remaining characters, AN[2:0] are all High, and these characters ignore the values presented on A through G and DP.
Ou seja, um display de 7 segmentos é ligado por vez!
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 8
Placa de PrototipaçãoPlaca de Prototipação
• Mas então, como podemos ver os 4 displays ligados? • É porque acendemos cada display por vez em uma certa frequencia que
para o nosso olho, parece que todos estão ligados ao mesmo tempo.
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 9
Placa de PrototipaçãoPlaca de Prototipação
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 10
Placa de PrototipaçãoPlaca de Prototipação
• Programação
DoneLED
Jumpers
JTAG
Paralel JTAG
Cabo da alimentação
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 11
Placa de PrototipaçãoPlaca de Prototipação
• Oscilador presente na placa (CLK)
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 12
EscolhendoEscolhendo osos pinospinos no ISEno ISE
UCF file será criado
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 13
XilinxXilinx PACE (PACE (pinospinos))
Colocar os pinos correspondentes
UCF file será criado
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 14
ISE ISE –– programaçãoprogramação do FPGA do FPGA
Escolher o .bit file correto!!!
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 15
Projeto: Jogo da LotoProjeto: Jogo da Loto
Sistema digital
Jogador1 Jogador
2
Jogador3
Jogador4
Sorteio
FPGA
clk
reset
Pino T9
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 16
Projeto: Jogo da LotoProjeto: Jogo da Loto
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 17
Projeto: Jogo da LotoProjeto: Jogo da Loto
• Cada jogador pressiona o botão correspondente para sortear um número.
• Após todos os jogadores terem pressionado uma vez o seu botãocorrespondente, o jogo indica quem sorteou o maior numero (o vencedor).
• Cada jogador so pode ter um número sorteado por rodada, ou seja, mesmo que um dos jogadores aperte o botão mais de uma vez porrodada, não será sorteado outro número.
• Cada vez que o botão é apertado, no display de 7 segmentosaparece o número sorteado.
• No final, o display mostra o vencedor
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 18
Desafio 1Desafio 1Geração de numeros aleatorios ou pseudo aleatorios
Uso de LFSR: Linear Feedback Shift Register (LFSR)
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 19
LFSRLFSR
semente (seed)
polinômio
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 20
Desafio 2Desafio 2
• Temos um clock de 50 MHz na placa, ou seja, de 20ns logo para termos valores de:
• 1 s => temos que contar ate 50 milhões!!!! O que representa um contador de 26 bits. – Quando contador = “10111110101111000010000000”
Temporização: frequencia de atualização dos displays de 7 segmentos
26 bits
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 21
O refresh do display é dado…O refresh do display é dado…
pelo bit 6 do cont
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 22
UsoUso de flagde flag
• O uso do flag impossibilitaque um novo número sejasorteado pelo mesmojogador em uma mesmarodada.
• Para iniciar uma nova jogada é preciso RESET.
-
Aula
Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 23
ExercícioExercício
1. Tente modificar o VHDL para que o jogador 2 possa sempre jogarduas vezes por rodada, tal que aumente suas chances de tirar um maior numero.
2. Tente modificar o VHDL para que os numeros sorteados sejamapenas de 0 a 15.