Vous êtes sur la page 1sur 10

UNIVERSIDADE FEDERAL DO PAMPA

CENTRO DE TECNOLOGIA DE ALEGRETE


CURSO: Engenharia de Telecomunicaes
DISCIPLINA: Prototipao de Sistemas Digitais

4 OPERAES BSICAS DO FPGA

INTEGRANTES: Arielly Rodrigues


Filipe Guterres Ferreira

PROFESSOR: Crstian Muller

ALEGRETE, 12 de Julho de 2016

Sumrio
1.

RESUMO.............................................................................................................................3

2.

INTRODUO...................................................................................................................4

3.

DESENVOLVIMENTO.......................................................................................................5
3.1

CDIGO DO PROJETO..............................................................................................5

4.

CONSIDERAES FINAIS.............................................................................................10

5.

REFERNCIAS BIBLIOGRFICAS...............................................................................10

1. RESUMO
Este Trabalho tem como objetivo implementar um bloco que realize as 4 operaes
bsicas do FPGA, utilizando o software QUARTUS para a programao. Inicialmente
definiu-se 2 entradas de 4 bits, sendo estas correspondentes a um caractere hexadecimal,
o qual deve-se ser exibido no display de 7 segmentos do FPGA. Posteriormente
determinou-se a sada com 3 caracteres hexadecimais, sendo que o ltimo caractere
corresponde parte fracionria a qual gerada apenas na diviso. Os dois primeiros
caracteres representaram a soma (5 bits), multiplicao ( 8 bits) e a subtrao que
resulta em um nmero negativo. No caso da subtrao utiliza-se o caractere da esquerda
para representar o nmero negativo, o qual apresentara um trao.

2. INTRODUO
Antigamente os circuitos digitais utilizados em projetos apresentavam um tamanho
considervel em comparao com os utilizados hoje em dia. Com o passar do tempo os
mesmos foram substitudos por componentes mais novos e enxutos, facilitando o uso
dos equipamentos, tanto na portabilidade como no custo-benefcio. Sendo que os
dispositivos programveis so bem-vistos no atendimento a muitos desses requisitos.
O FPGA (Field Programable Gate Array) um bom exemplo, pois alm de se
adequar aos preos do segmento de mercado, o mesmo pode ser programado inmeras
vezes pelo usurio e ainda possui muitos recursos, entre estes a interface homemmquina, que traduz a acessibilidade e facilidade de uso objetivada por todos. [1]
O software QUARTUS responsvel pela programao que ser executada no
FPGA, o qual configura o dispositivo lgico programvel. A linguagem de programao
utilizada o VHDL, que compem o cdigo fonte do projeto implementado.
Com os avanos da tecnologia as famlias de FPGAs aumentaram, possibilitando os
recursos de hardware para a aplicao de processamento de alto desempenho,
possibilitando a implementao de processadores aritmticos mais adequados a
aplicaes de computao cientfica. [2]
O FPGA composto basicamente por trs tipos de componentes: blocos de entrada e
sada (IOB), blocos lgicos configurveis (CLB) e chaves de interconexo (Switch
Matrix). Os blocos de entrada e sada (I/O) formam uma borda ao redor do dispositivo.
[3]

3. DESENVOLVIMENTO
Para realizar as 4 operaes bsicas do FPGA, implementou-se um cdigo com
linguagem VHDL, o qual descrito neste tpico.
3.1 CDIGO DO PROJETO
A figura 1 apresenta o cdigo de inicializao do projeto, sendo definidas as
portas de entrada e sada do mesmo. O comando (X downto Y) implementa o nmero de
bits que usado na informao, o qual corresponde ao tamanho de X at Y.
As portas (C_o, A_o, B_o, S2_o, S1_o, S_o),so utilizadas para receber a
converso do sinal (A_i, B_i, C_i) de binrio para decimal.

Figura 1. Cdigo inicial

A figura 2 contm as operaes da ULA (unidade lgica de aritmtica), sendo


responsvel por criar os sinais. A operao unsigned permite realizar as operaes
aritmticas que so tpicas de dados inteiros, como por exemplo, o sinal result que tem
um vetor de tamanho 8.
Aps a definir os sinais de soma, subtrao, multiplicao e diviso que sero
realizadas, separou-se ambos em dgitos 1 e 2, os quais sero apresentados no FPGA.

Figura 2. Operao da ULA

Aps a definio dos sinais e das operaes da ULA (unidade lgica aritmtica),
deve-se mostrar para o display de sete segmentos os devidos sinais e o controle de
operao que ser utilizado no cdigo. A figura 3, apresenta o incio da lgica
implementada para resolver as quatro operaes bsicas.
Esta parte do cdigo atribui os possveis valores de C_i, para a soma, subtrao,
multiplicao e diviso. Sendo que A_o recebe o valor de A_i e B_o recebe o valor de
B_i.

Figura 3. Incio da lgica.

A figura 4 apresenta a parte do cdigo que seleciona e executa cada operao da


ULA. O comando designado resize tem como funo realizar as operaes aritmticas
(soma, multiplicao, diviso e subtrao) e as operaes lgicas.

Quando C_i corresponde a letra A realizado a soma entre os elementos A_s e


B_s, seno for a letra A pula pra prxima linha e realiza a operao de subtrao
quando C_i corresponder a letra B e assim sucessivamente.

Figura 4. Seleciona e executa as cada operao

Como mencionado anteriormente o resultado da soma, subtrao, diviso e


multiplicao sero divididos em dois dgitos, como demonstrado nas figuras 5, 6, 7 e 8.
No caso da figura 5 que realiza a operao soma, o comando to_unsigned responsvel
por especificar o tamanho do vetor resultado ( dgito 1 e 2) no caso o resultado do
tamanho ser 8.

Figura 5. Operao soma

Figura 6. Operao subtrao

Figura 7. Operao Multiplicao

Figura 8. Operao Diviso

Aps a separao dos dgitos das 4 operao, deve-se definir as sadas do FPGA,
no caso considera-se inicialmente que as sadas S0_o, S1_o e S2_o estejam zerradas.

Figura 9. Definio das sadas

Quando selecionado o letra A (1000), a sada do FGPA ir receber o resultado


da soma do S1_o para o dgito 1 e o S2_o o dgito 2, conforme apresentado na figura
10. Ao selecionar determinada letra a mesma realiza uma operao especfica.

Figura 10. Sada do FPGA

Aps a finalizao do cdigo, compilou-se o mesmo e executou-se as operaes


de soma, multiplicao, diviso e subtrao, conforme demostrado na figura 11.
Ao selecionar a letra A correspondente a 1000, soma-se dois valores, no caso
2 + 4 resultando em 6 como demonstrado na figura 10. Para a operao subtrao
seleciona-se a letra B, e subtra-se 9-4 resultando em 5. Para cada operao desejada
seleciona-se uma letra e os nmeros que voc deseja realizar as operaes.

Figura 11. Resultados das 4 operaes

Terminado os testes do cdigo utilizando o software MODELSIM, gravou-se o


cdigo no FPGA e simulou-se as 4 operaes bsicas na prtica. O cdigo
implementado apresentou os mesmos resultados da simulao atravs do software.

4. CONSIDERAES FINAIS
O cdigo em VHDL implementado no FPGA apresentou resultados satisfatrios aps
sua execuo. O mesmo tem como vantagem selecionar a operao (valor)
manualmente que voc deseja realizar. Como tambm apresenta processamento rpido,
consegue realizar circuitos mais complexos, alm de ser reprogramvel.
Para a implementao das 4 operaes no FPGA, alguns comandos utilizados foram
primordiais, como o caso do resize, to-unsigned e o std-logic-vector.

5. REFERNCIAS BIBLIOGRFICAS
[1] FREIRE T. S. S. Interfaceamento de entrada e sada em aplicaes com uso do
FPGA. 2010, f. TCC(Graduao)- Curso de Engenharia Eltrica, Universidade Federal
do Cear , Cear, 2010.
[2] BARROS A. C. Implementao em FPGA de um mdulo multiplicador e
acumulador aritmtico de alto desempenho para nmeros em ponto flutuante de
preciso dupla, padro IEEE 754. Dissertao de Mestrado, Universidade Federal de
Pernambuco, Recife, 2008.
[3] BONE A. C. C. GALVO M. S.. Apostila FPGA com placa de exsto EP2C8Q208
C8. Universidade Federal do Esprito Santo, So Mateus, 2013.

Vous aimerez peut-être aussi