Sie sind auf Seite 1von 18

UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

CMPUS CORNLIO PROCPIO


CURSO DE ENGENHARIA DE COMPUTAO

FPGA
Field Programmable Gate Array

DANIEL SALUM
GABRIEL BOVI LORANDI
UILDSON SANTOS DOS SANTOS
VANESSA DA ROCHA ALVES

CORNLIO PROCPIO
2017
SUMRIO

1 INTRODUO ......................................................................................................... 3

2 DEFINIO E ARQUITETURA DE UMA FPGA ...................................................... 3

3 SEQUNCIA DE PROJETO .................................................................................... 4

3.1 Especificao ........................................................................................................ 4

3.2 Implementao ...................................................................................................... 5

3.3 Verificao............................................................................................................. 6

4 CLASSIFICAO DE FPGAS.................................................................................. 7

4.1 Blocos Lgicos ...................................................................................................... 7

4.2 Recursos de Encaminhamento ............................................................................. 8

4.3 Estruturas Heterogneas....................................................................................... 9

5 SISTEMAS RECONFIGURVEIS .......................................................................... 10

5.1 Modos de Reconfigurao................................................................................... 11

5.2 Mecanismo de Interao entre o Hardware Reconfigurvel e o Processador


Hospedeiro ................................................................................................................ 13

5.3 Capacidade Lgica .............................................................................................. 14

5.4 Modelo de Programao ..................................................................................... 14

5.5 Modelo de Execuo ........................................................................................... 15

6 APLICAES DA COMPUTAO RECONFIGURVEL ...................................... 15

6.1 Acelerao de Tarefas Computacionalmente Intensivas .................................... 15

6.2 Emulao de Hardware ....................................................................................... 16

6.3 Hardware evolutivo .............................................................................................. 16

CONSIDERAES FINAIS ...................................................................................... 17

REFERNCIAS ......................................................................................................... 18
1 INTRODUO

As FPGAs (Field Programmable Gate Array) fazem parte de componentes de


muitos produtos comerciais, e foram introduzidas h bastante tempo no mercado.
Segundo Skliarova, as FPGAs so os dispositivos lgicos programveis de maior
capacidade disponvel hoje em dia. O nmero de portas de sistema em FPGAs
comerciais tem crescido rapidamente desde a sua introduo nos meados dos anos
80, e atinge atualmente 10M em dispositivos da Xilinx, por exemplo.

2 DEFINIO E ARQUITETURA DE UMA FPGA

A arquitetura tpica de uma FPGA est representada a seguir:

Figura 1 - Arquitetura tpica de FPGA

Uma FPGA inclui um array de blocos lgicos interligados por recursos de


encaminhamento e cercado por um conjunto de blocos de entrada/sada, sendo todos
estes componentes programveis pelo utilizador. Skliarova explica que os blocos
lgicos contm elementos combinatrios e sequenciais, possibilitando a
implementao de funes lgicas bem como de circuitos sequenciais. Os recursos
de encaminhamento incluem segmentos de pistas de ligao pr-fabricadas e
interruptores programveis. Um circuito lgico implementado em FPGA ao distribuir
a lgica entre os blocos individuais e interlig-los posteriormente com os interruptores
programveis. Nota-se que os atrasos resultantes so fortemente influenciados pela
distribuio da lgica e pela estrutura de encaminhamento. Portanto, o desempenho
de circuitos mapeados em FPGA depende bastante da eficcia das ferramentas CAD
(Computer Aided Design) utilizadas para a implementao.
Uma das maiores vantagens das FPGAs a sua arquitetura flexvel que serve
muito bem para uma ampla gama de aplicaes. Estas aplicaes incluem
implementao de controladores de dispositivos, circuitos de codificao, lgica
arbitrria, prototipagem e emulao de sistemas, etc. As FPGAs recentes passaram
a incorporar vrias estruturas heterogneas tais como blocos de memria, o que
possibilita a implementao de sistemas completos num nico encapsulamento.

3 SEQUNCIA DE PROJETO

O desenvolvimento de um circuito FPGA inclui trs fases principais:


especificao, implementao e verificao.

Figura 2 - Sequncia de passos necessrios para projetar e implementar um circuito em FPGA

3.1 Especificao

Conforme explica Skliarova, a especificao do circuito a ser implementado


numa FPGA, pode ser feita com a ajuda de linguagens de descrio de hardware
(VHDL, Verilog, ABEL, etc.) ou atravs de criao de um diagrama esquemtico com
uma ferramenta grfica de projeto assistido por computador. Os blocos bsicos
utilizados no diagrama esquemtico so descritos numa HDL (Hardware Description
Language), extrados das bibliotecas especficas para cada famlia de FPGA ou
criados pelos geradores de componentes parametrizveis (tais como LogiBLOX e
CORE Generator da Xilinx). A utilizao de componentes IP (Intellectual Property)
aumenta significativamente a produtividade. Existem tambm ferramentas grficas
que permitem descrever o funcionamento em forma de diagramas de transio de
estados.
Recentemente, tornou-se possvel especificar a funcionalidade de circuitos
numa linguagem de alto nvel. Certos circuitos de alto nvel criados com a ajuda de
ferramentas automticas ocupam normalmente uma maior rea e so mais lentos que
os projetados mo, mas as ferramentas automticas facilitam e aceleram
significativamente o desenvolvimento de sistemas digitais. Alm disso, as linguagens
de alto nvel geram descries mais portveis possibilitando a implementao mais
simples em vrias arquiteturas de FPGAs.

3.2 Implementao

Skliarova diz que o processo de implementao incorpora trs etapas: Primeiro,


efetua-se o mapeamento das estruturas do projeto nos blocos lgicos existentes em
FPGA. A seguir, os blocos resultantes devem ser colocados no hardware
reconfigurvel. Cada um destes blocos fica atribudo a um local especfico da FPGA,
procurando os algoritmos de colocao que este fique junto daqueles blocos lgicos
com os quais comunica.
Uma das tcnicas que utilizada para aliviar os custos de colocao (com o
aumento de capacidade de FPGAs esta operao passa a consumir muito tempo) o
floorplanning. O algoritmo de floorplanning primeiro organiza em grupos aqueles
blocos lgicos que requerem uma comunicao muito intensiva. Os grupos so
colocados em FPGA e, a seguir, efetua-se a colocao detalhada de blocos lgicos
individuais dentro dos limites atribudos ao grupo. Assim, a colocao completa se
reduz a um conjunto de problemas locais de dimenses menores facilitando deste
modo a resoluo da tarefa.
Finalmente, realiza-se o encaminhamento do circuito que interliga os vrios
componentes reconfigurveis. Os recursos de encaminhamento disponveis so
sempre limitados, portanto o objetivo minimizar o nmero de segmentos de pistas
de ligao utilizados. Uma colocao eficiente essencial para que esta fase seja
bem-sucedida porque, caso os componentes interligados fiquem colocados longe uns
dos outros, as ligaes respectivas vo precisar de muitos recursos de
encaminhamento.
Se um sistema utilizar mais que uma FPGA, a sequncia de implementao
torna-se ainda mais difcil. Neste caso, o projeto deve ser distribudo entre vrias
FPGAs. Isto conseguido ao colocar pores menos interligadas do circuito em
FPGAs separadas. Depois, o encaminhamento global determina as ligaes entre as
FPGAs que seguido pelo encaminhamento detalhado que atribui segmentos de
pistas de ligao a cada sinal. A comunicao entre FPGAs distintas deve ser
minimizada para reduzir o nmero de ligaes com atrasos grandes.

3.3 Verificao

A ltima fase do desenvolvimento de um circuito FPGA a verificao.


Skliarova, aponta trs tipos bsicos de verificao do projecto para FPGAs: Primeiro,
realiza-se a simulao funcional que ocorre durante a fase de especificao. O
objetivo da simulao funcional verificar a funcionalidade lgica do circuito.
Depois das fases de mapeamento, colocao e encaminhamento, efetua-se a
simulao temporal que j pode ter em conta todos os atrasos lgicos e os de
encaminhamento. Para que isto seja possvel, preciso efetuar a re-anotao da
informao fsica ao projeto lgico.
Finalmente, depois de configurar a FPGA, possvel verificar a implementao
fsica do circuito. Para isso, recorre-se normalmente ao uso de um analisador lgico,
encaminhando os sinais que se pretende verificar para os pinos externos da FPGA.
Uma metodologia diferente que surgiu recentemente, consiste em incorporar
no projeto um ncleo do analisador lgico interno e utilizar os blocos de memria
embutidos para guardar valores dos sinais necessrios que so posteriormente
transferidos para um computador para os analisar. Este mtodo possui algumas
vantagens relativamente ao anterior porque a comunicao com o computador se d
via interface JTAG (Joint Test Action Group) no ocupando deste modo os pinos
adicionais da FPGA.
4 CLASSIFICAO DE FPGAS

Vrias arquiteturas de FPGAs so classificadas de acordo com a granulosidade


(tamanho e complexidade) dos seus blocos lgicos e com a estrutura de ligaes
programveis, e essa classificao exposta por Skliarova.

4.1 Blocos Lgicos

Os blocos lgicos da FPGA devem ser capazes de implementar vrias funes


lgicas e podem ter complexidade diversa. Normalmente, as arquiteturas de FPGAs
so baseadas nos seguintes elementos: pares de transstores, portas lgicas simples,
multiplexadores e LUTs (Look-Up Tables). Portanto, os blocos lgicos, compostos por
estes elementos, diferem bastante em termos do tamanho e das capacidades de
implementao de funes lgicas. Estas diferenas so normalmente classificadas
por granulosidade.
A granulosidade de um bloco lgico pode ser definida de maneiras diversas,
tais como nmero de funes booleanas que este pode implementar, nmero de
portas lgicas NAND equivalentes, nmero total de transstores, ou nmero de
entradas/sadas. De acordo com estas caractersticas, as arquiteturas de blocos
lgicos so divididas em duas categorias: as de granulosidade fina e as de
granulosidade grossa.
Os blocos lgicos de granulosidade fina podem implementar funes
elementares servindo deste modo muito bem s manipulaes ao nvel de bits
individuais e atingindo um grande nvel de utilizao de recursos lgicos disponveis.
Uma desvantagem de blocos lgicos finos que estes requerem muitos segmentos
de pistas de ligao e interruptores programveis. As FPGAs de granulosidade fina
possuem muitos pontos de configurao e precisam, portanto, de mais bits para serem
reconfiguradas.
Os blocos lgicos de granulosidade grossa tm normalmente muitas entradas
e servem bem implementao de funes complexas. Pelo fato que tais blocos
lgicos so otimizados para funes lgicas mais complexas, estas operaes so
executadas mais rapidamente e consomem menos rea do que um conjunto de blocos
lgicos elementares interligados de maneira adequada. Contudo, se for necessrio
realizar operaes lgicas elementares, a arquitetura de granulosidade grossa vai
sofrer de uma baixa utilizao dos recursos disponveis.
A maioria das FPGAs disponveis no mercado utilizam blocos lgicos de
granulosidade mdia a fim de minimizar as desvantagens relacionadas aos dois casos
extremos descritos acima.

4.2 Recursos de Encaminhamento

Os recursos de encaminhamento ocupam uma rea da FPGA que muito


maior que a usada pelos recursos lgicos. A arquitetura de encaminhamento de
FPGAs define como os interruptores programveis e os segmentos de pistas de
ligao de comprimentos variveis so utilizados a fim de interligar os blocos lgicos.
O nmero e a distribuio de segmentos de pistas incorporados afeta a densidade e
o desempenho atingveis na FPGA. Caso este nmero seja inadequado s uma frao
dos blocos lgicos poder ser utilizada. Contudo, se o nmero de segmentos for
excessivo, isto pode aumentar o tamanho da FPGA e resultar em eficincia reduzida
de utilizao do silcio.
A estrutura de encaminhamento da FPGA deve ser capaz de acomodar todas
as ligaes de uma aplicao tpica e assegurar a velocidade de funcionamento
adequada. Um fator importante no desempenho de FPGAs o atraso de propagao
atravs dos recursos de encaminhamento atribudos, dado que algumas ligaes
requerem caminhos mais compridos que as outras. Para alm disso, qualquer
interruptor programvel (antifusvel, SRAM ou transstor EPROM) possui tambm uma
resistncia e capacitncia que provocam atrasos adicionais.
Existem dois mtodos principais de atribuir os recursos de encaminhamento:
segmentado e hierrquico. No encaminhamento segmentado as pistas de ligao
curtas servem para as comunicaes locais. Estas podem ser interligadas com a ajuda
de interruptores a fim de estabelecer ligaes longas. Para alm disso, existem
normalmente pistas de ligao mais compridas que servem para encaminhar sinais a
distncias longas sem ter de passar por interruptores.
Na estrutura de encaminhamento hierrquico os blocos lgicos so
organizados em grupos. Primeiro, efetua-se a interligao de blocos pertencentes a
um grupo com a ajuda de pistas curtas. A seguir, utilizam-se pistas compridas para
interligar vrios grupos de blocos lgicos. Esta estratgia pode ser repetida vrias
vezes atravs da organizao de uma srie de grupos em conjuntos maiores e a sua
interligao posterior.

4.3 Estruturas Heterogneas

A fim de assegurar melhor desempenho e flexibilidade na computao, as


FPGAs recentes passaram a incluir estruturas heterogneas, alm dos componentes
tpicos que fazem parte de qualquer FPGA, utilizam-se blocos especficos. Por
exemplo, bastante difcil implementar em FPGA a operao de multiplicao de uma
maneira eficiente. Portanto, foram criadas unidades de multiplicao optimizadas e
embutidas na estrutura de algumas FPGAs. A maioria das arquiteturas atuais incluem
blocos de memria dedicados que servem para guardar dados que so utilizados
frequentemente. As FPGAs recentes incluem tambm transmissores/receptores de
alto dbito (mltiplos Gbits) e ncleos de processadores, o que aumenta a gama de
aplicaes possveis nas reas de telecomunicaes e de processamento de sinal e
imagem. Dado que as FPGAs so uma tecnologia relativamente recente, as suas
arquiteturas esto sujeitas a uma evoluo constante.
Algumas das caractersticas das FPGAs disponveis comercialmente esto
citadas na tabela 1.

Tabela 1 - Caractersticas principais de FPGAs disponveis comercialmente


5 SISTEMAS RECONFIGURVEIS

Embora o conceito de computao reconfigurvel j exista h bastante tempo,


apenas recentemente surgiram tecnologias que possibilitaram a sua implementao
e aplicao na prtica. De acordo com Skliarova, o interesse comeou no incio dos
anos 90 quando a densidade das FPGAs ultrapassou as 10K portas lgicas. Desde
a, a computao reconfigurvel, devido possibilidade de acelerar vrias aplicaes,
tornou-se objeto de investigao intensiva. A sua caracterstica mais importante a
capacidade de realizar computaes em hardware com o objetivo de incrementar o
desempenho, ficando ao mesmo tempo com a flexibilidade do software.
A fim de atingir desempenho elevado e suportar uma ampla gama de
aplicaes, os sistemas reconfigurveis so normalmente compostos pela lgica
reconfigurvel e um processador de uso geral. Para executar a aplicao de uma
maneira mais eficiente, aquelas partes que no so facilmente mapeadas na lgica
reconfigurvel, so executadas num processador hospedeiro, enquanto as partes que
requerem computaes muito intensivas e podem beneficiar da sua implementao
em hardware, so realizadas em FPGAs. Assim, um sistema reconfigurvel tpico
consiste em lgica reconfigurvel (denominada por componente varivel) e num
processador hospedeiro (referenciado como componente fixo) conforme representado
na figura abaixo.

Figura 3: Estrutura de um sistema reconfigurvel tpico

As propriedades mais importantes que caracterizam os sistemas


reconfigurveis so descritas a seguir, divididas em modos de reconfigurao,
mecanismo de interao entre o hardware reconfigurvel e o processador hospedeiro,
capacidade lgica, modelo de programao, e modelo de execuo.
5.1 Modos de Reconfigurao

O tempo de uma operao realizada num sistema reconfigurvel a soma do


tempo de configurao e do tempo de execuo. A configurao feita normalmente
pelo processador hospedeiro que envia os dados de configurao que definem o
funcionamento atual do hardware. A configurao pode ser carregada s no incio de
execuo ou periodicamente a fim de variar o funcionamento do sistema. O modelo
de execuo tambm varia de sistema para sistema: em alguns sistemas o
processador hospedeiro fica suspenso enquanto o hardware reconfigurvel est ativo;
em outros permitida a execuo simultnea.
No domnio da computao reconfigurvel pode-se distinguir entre dois modos
de configurao: esttico e dinmico. A reconfigurao esttica pressupe o
funcionamento permanente da FPGA depois desta ser configurada. O modo esttico
no concede grande flexibilidade, mas permite atingir um bom desempenho via
utilizao do hardware otimizado para uma dada aplicao.
s vezes preciso ativar configuraes diferentes de acordo com a
necessidade corrente de uma aplicao. Isto possibilita mais seces da aplicao a
serem mapeadas em hardware do que o que pode caber numa FPGA. Deste modo,
a maior parte da aplicao pode potencialmente ser acelerada num sistema
reconfigurvel resultando num desempenho mais elevado. Este conceito
frequentemente referido por reconfigurao dinmica a que est associada a noo
de hardware virtual. Neste caso, os recursos disponveis na FPGA so bastante
menores que o conjunto de recursos necessrios para todas as configuraes. Mas
em vez de reduzir o nmero de configuraes mapeadas, estas so transferidas para
a FPGA de acordo com a necessidade atual. Uma das vantagens dos sistemas
reconfigurveis dinamicamente comparando-os com os sistemas programveis s no
incio da aplicao, a potencialidade de efetuar optimizaes do hardware com base
na informao determinada durante a execuo.
Figura 4 Reconfigurao esttica

A reconfigurao dinmica pode, por sua vez, ser dividida em reconfigurao


global e reconfigurao parcial. A reconfigurao global reserva todos os recursos de
hardware para cada fase de execuo. Depois de uma fase ser concluda, todos os
recursos da FPGA so reconfigurados para a fase seguinte.

Figura 5 Reconfigurao dinmica global

A reconfigurao parcial recorre modificao seletiva dos recursos de


hardware ao longo de execuo de uma aplicao. Esta flexibilidade permite que o
hardware seja mais personalizado s necessidades correntes da aplicao. A
reconfigurao parcial exige que s os recursos selecionados sejam reprogramados,
o que resulta num overhead de configurao menor do que no caso anterior.

Figura 6 Reconfigurao dinmica parcial

5.2 Mecanismo de Interao entre o Hardware Reconfigurvel e o Processador


Hospedeiro

O mecanismo de interao define o nvel de proximidade dos componentes


fixo e varivel de um sistema reconfigurvel. No caso mais simples, o hardware
reconfigurvel pode representar uma unidade de processamento externa que
comunica com o processador hospedeiro raramente ou at funciona de uma maneira
independente. Se a unidade reconfigurvel for utilizada como um acelerador, ento o
processador hospedeiro inicializa o hardware e envia-lhe todos os dados necessrios.
O acelerador efetua todas as computaes independentemente do processador
principal e no final retorna os resultados, podendo ambos os componentes executar
em simultneo.
A fim de explorar todo o potencial da lgica reconfigurvel necessrio
assegurar a largura de banda adequada na comunicao com a memria.
O nvel de proximidade dos componentes principais de um sistema
reconfigurvel influencia a largura de banda suportada na comunicao e afeta o
modelo de programao do sistema. Assim, sistemas reconfigurveis fortemente
interligados servem bem para a acelerao em geral (execuo de ciclos internos,
etc.). Sistemas com fraca interligao so adequados para processamento idntico
de grandes volumes de dados. Portanto, aceleradores e coprocessadores so muito
importantes para algumas classes de aplicaes.

5.3 Capacidade Lgica

O nmero de FPGAs envolvidas num sistema reconfigurvel pode variar de 1


a algumas centenas. A capacidade lgica determina a complexidade das aplicaes
que podem ser mapeadas em hardware.
A utilizao de sistemas compostos por mltiplas FPGAs requer a definio de
uma boa topologia de encaminhamento e a existncia de ferramentas de projeto
assistido por computador capazes de dividir circuitos em pores interligadas de uma
maneira eficiente, que permitam atingir um nvel adequado de utilizao dos recursos
lgicos.

5.4 Modelo de Programao

Existem vrias maneiras de mapear uma aplicao num sistema reconfigurvel.


No caso ideal, um compilador devia compilar automaticamente um programa escrito
numa linguagem de programao de alto nvel (assim como C++) numa configurao
a ser carregada na FPGA. de notar, contudo, que linguagens de programao
convencionais no podem ser utilizadas diretamente para estes fins por no
suportarem noes como processamento paralelo e ser bastante difcil identificar o
paralelismo automaticamente. Contudo, h sistemas reconfigurveis que so
programados deste modo. A vantagem principal desta tcnica que o utilizador no
precisa de ter conhecimentos sobre a arquitetura do sistema bem como sobre o
hardware em geral, e a utilizao da lgica reconfigurvel fica transparente.
Uma abordagem diferente consiste no desenvolvimento de hardware
reconfigurvel de acordo com as necessidades de uma dada aplicao. Esta tcnica
requer que o utilizador tenha experincia em projeto de circuitos de hardware. Embora
o tempo total de implementao de uma aplicao seja neste caso maior, os
resultados podem ser melhores dado que o projetista tem mais flexibilidade e mais
opes a explorar.

5.5 Modelo de Execuo

Uma aplicao pode ser inteiramente implementada em hardware


reconfigurvel (cabendo ao processador hospedeiro apenas tarefas de inicializao
da FPGA) ou pode ser partilhada entre o hardware e o software. Existem vrios
mtodos de partilhar a aplicao. Uns implementam em FPGA instrues especficas
estendendo deste modo o conjunto bsico de instrues do processador hospedeiro.
Outros mtodos efetuam a partio de acordo com a complexidade da funo a
executar. Por exemplo, partes computacionalmente intensivas do programa so
atribudas FPGA enquanto as partes que exibem pouco paralelismo so
processadas pelo processador de uso geral. Sistemas deste tipo baseiam-se na regra
90/10, que diz que 90% do tempo de execuo dum programa despendido por 10%
do seu cdigo. A fim de atingir resultados significativos tenta-se acelerar esta pequena
poro do cdigo com a ajuda de FPGA. Os 90% restantes do cdigo possuem pouco
paralelismo e so melhor executados num processador de uso geral. Sendo assim, o
processador responsvel pelas tarefas sequenciais enquanto FPGA so atribudas
tarefas computacionalmente intensivas.

6 APLICAES DA COMPUTAO RECONFIGURVEL

Segundo Skliarova, para algumas classes de tarefas, os sistemas


reconfigurveis foram capazes de atingir um desempenho muito bom em comparao
com os computadores de uso geral. As aplicaes potenciais podem ser divididas em
trs categorias, de acordo com o objetivo principal que se pretende atingir, e so
descritas a seguir.

6.1 Acelerao de Tarefas Computacionalmente Intensivas

Todas as implementaes pertencentes a esta categoria tem como objetivo


principal acelerar tarefas computacionalmente intensivas. Uma caracterstica comum
que estas aplicaes servem bem para implementaes paralelas aproveitando das
capacidades bsicas da computao reconfigurvel.
O processamento de sinal e imagem um domnio de aplicaes bastante
popular na rea de computao reconfigurvel. Este domnio caracteriza-se pelo
elevado grau de paralelismo inerente, grande quantidade dos dados a processar e
adequado para pipelining. Estes factores permitem atingir um bom desempenho num
sistema reconfigurvel comparando com implementaes num computador de uso
geral.

6.2 Emulao de Hardware

difcil saber se algum circuito projetado correto e estimar o seu desempenho


antes da sua implementao fsica. Tradicionalmente utilizam-se duas abordagens
para a verificao de projetos complexos: prototipagem e simulao em software. A
construo de um prottipo uma tarefa dispendiosa e morosa. As tcnicas de
simulao so muito flexveis, mas muito lentas.
As FPGAs servem muito bem para emular dispositivos de hardware, pois so
plataformas extremamente flexveis que em geral no exigem conhecimento prvio
sobre as caractersticas das aplicaes que podem ser mapeadas. A emulao
muito mais rpida que a simulao possibilitando deste modo a verificao de um
projeto com grandes quantidades de dados reais. Alm disso, a emulao reflete as
caractersticas da implementao final mais fielmente do que a simulao, e portanto,
resulta em avaliao do desempenho e verificao do projeto mais corretas.

6.3 Hardware evolutivo

Uma rea de investigao bastante recente o hardware evolutivo. Este termo


descreve abordagens diferentes utilizadas para desenvolver circuitos eletrnicos com
a ajuda de tcnicas evolutivas, o que permite uma explorao mais alargada do
espao de projeto. Normalmente estas abordagens dividem-se em dois grupos de
acordo com a rea de aplicao. O primeiro grupo abrange a evoluo direta em
componentes existentes (geralmente, em FPGAs), enquanto o segundo grupo inclui
as tentativas de simular a funcionalidade desejada a fim de a implementar
posteriormente em componentes reais.
As potencialidades das tcnicas de hardware evolutivo so bastante extensas
pois teoricamente possibilitam a construo autnoma dos circuitos com as
caractersticas necessrias cuja estrutura previamente desconhecida. Entretanto,
ainda no foi construdo nenhum sistema suficientemente complexo, capaz de efetuar
auto-otimizao rpida e eficiente.

CONSIDERAES FINAIS

A lgica programvel um dos segmentos de desenvolvimento mais intensivo


de todo o mercado de semicondutores. A execuo de operaes pode ser acelerada
significativamente ao atribuir pores computacionalmente intensivas de uma
aplicao ao hardware reconfigurvel. Isto deve-se ao fato de sistemas
reconfigurveis combinarem vantagens das implementaes baseadas em ASIC e
das baseadas em software.
Os circuitos resultantes so flexveis, podendo ser modificados em qualquer
momento, mesmo durante a execuo da aplicao. Para atingir melhores resultados,
os sistemas reconfigurveis so normalmente compostos pela lgica reconfigurvel
interligada com um processador de uso geral. O processador executa operaes que
no podem ser realizadas eficientemente em lgica reconfigurvel, enquanto as
partes computacionalmente intensivas da aplicao so mapeadas em hardware. Em
sistemas reconfigurveis o nvel de interligao dos componentes principais pode
variar desde unidades funcionais configurveis integradas no processador at FPGAs
autnomas.
A implementao de uma aplicao num sistema reconfigurvel no uma
tarefa simples. Ela envolve a programao a nvel de software e o projeto da parte de
hardware. A fim de atingir bons resultados no mapeamento de uma aplicao na
FPGA necessrio explorar o paralelismo e operaes especficas e otimizadas.
Embora j tenham sido propostas muitas arquiteturas eficientes que revelaram
vantagens significativas da computao reconfigurvel, ainda h muitas questes por
responder. Os sistemas reconfigurveis introduziram uma nova dimenso a nvel de
programao, portanto, so necessrias tecnologias e ferramentas inovadoras que
sejam capazes de cobrir todos os aspectos da programao e do uso eficiente de
sistemas reconfigurveis.
REFERNCIAS

SKLIAROVA, Iouliia; FERRARI, Antnio B. Introduo computao


reconfigurvel. Revista do DETUA, vol. 4, n 1, setembro 2003. http://revistas.ua.pt/
index.php/revdeti/article/view/1647/1527. Acesso em 28/05/2017.

GOMES, Vitor C. F; CHARO, Andrea S.; VELHO, Haroldo F. C. Field


Programmable Gate Array - FPGA - Minicurso terico-prtico em Computao
Hbrida. Instituto de Estudos Avanados/ Universidade Federal de Santa Maria/
Instituto Nacional de Pesquisas Espaciais. ltima atualizao: 9 de junho de 2014.
http://www.vconrado.com/ch2014/Material/Apostilas/02%20-%20fpga.pdf. Acesso em
03/06/2017.

OLIVEIRA, Autores Caio Augusto; AGUIAR, Jssica Azevedo; FONTANINI, Mateus


Galvo Said. Reviso Prof. Marcelo Wendling. Dispositivos Lgicos Programveis.
Colgio Tcnico Industrial de Guaratinguet Professor Carlos Augusto Patrcio
Amorim. Unesp Campus de Guaratinguet. http://www.feg.unesp.br/Home/
PaginasPessoais/ProfMarceloWendling/logica-programavel.pdf. Acesso em
05/06/2017.

Das könnte Ihnen auch gefallen