TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Field-programmable gate array

Tese: Field-programmable gate array. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  8/5/2013  •  Tese  •  1.647 Palavras (7 Páginas)  •  461 Visualizações

Página 1 de 7

Field-programmable gate array

FPGAs não devem ser confundidos com o flip-chip pin grid array, uma forma de encapsulamento de circuitos integrados.

Um FPGA da Altera com 20.000 células.

A grande maioria dos chips que encontramos em nosso dia-a-dia, circuitos que acompanham as televisões, celulares, etc., já vêm todos pré-programados, isto é, com as suas funcionalidades todas definidas no ato de fabricação. Surgiu então uma categoria nova de hardware reconfigurável, o qual têm as suas funcionalidades definidas exclusivamente pelos usuários e não pelos fabricantes. Dentre uma grande gama de hardware reconfigurável podemos destacar o Arranjo de Portas Programável em Campo FPGA (Field Programmable Gate Array).

Índice [esconder]

1 Arquitetura

2 Tecnologia do FPGA

3 Tipos

4 FPGAs x CPLDs

5 Pesquisas em FPGA

6 Fabricantes e especialistas em FPGA

[editar]Arquitetura

Um FPGA é um dispositivo semicondutor que é largamente utilizado para o processamento de informações digitais. Foi criado pela Xilinx Inc., e teve o seu lançamento no ano de 1985 como um dispositivo que poderia ser programado de acordo com as aplicações do usuário (programador). O FPGA é composto basicamente por três tipos de componentes: blocos de entrada e saída (IOB), blocos lógicos configuráveis (CLB) e chaves de interconexão (Switch Matrix). Os blocos lógicos são dispostos de forma bidimensional, as chaves de interconexão são dispostas em formas de trilhas verticais e horizontais entre as linhas e as colunas dos blocos lógicos.

CLB (Configuration Logical Blocks): Circuitos idênticos, construído pela reunião de flip-flops (entre 2 e 4) e a utilização de lógica combinacional. Utilizando os CLBs, um usuário pode construir elementos funcionais lógicos.

IOB (Input/Output Block): São circuitos responsáveis pelo interfaceamento das saídas provenientes das saídas das combinações de CLBs. São basicamente buffers, que funcionarão como um pino bidirecional entrada e saída do FPGA.

Switch Matrix (chaves de interconexões): Trilhas utilizadas para conectar os CLBS e IOBS. O terceiro grupo é composto pelas interconexões. Os recursos de interconexões possuem trilhas para conectar as entradas e saídas dos CLBs e IOBs para as redes apropriadas. Geralmente, a configuração é estabelecida por programação interna das células de memória estática, que determinam funções lógicas e conexões internas implementadas no FPGA entre os CLBs e os IOBs. O processo de escolha das interconexões é chamado de roteamento.

[editar]Tecnologia do FPGA

O FPGA é um chip que suporta a implementação de circuitos lógicos relativamente grandes. Consiste de um grande arranjo de células lógicas ou blocos lógicos configuráveis contidos em um único circuito integrado. Cada célula contém capacidade computacional para implementar funções lógicas e realizar roteamento para comunicação entre elas. O primeiro FPGA disponível comercialmente foi desenvolvido pela empresa Xilinx Inc, em 1983.

Os FPGAs não possuem planos OR ou AND, consistem de um grande arranjo de células configuráveis que podem ser utilizadas para a implementação de funções lógicas. Um FPGA basicamente é constituído por blocos lógicos, blocos de entrada e saída, e chaves de interconexão. Os blocos lógicos formam uma matriz bidimensional, e as chaves de interconexão são organizadas como canais de roteamento horizontal e vertical entre as linhas e colunas dos blocos lógicos. Os canais de roteamento possuem chaves de interligação programáveis que permitem conectar os blocos lógicos de maneira conveniente, em função das necessidades de cada projeto.

No interior de cada bloco lógico do FPGA existem vários modos possíveis para implementação de funções lógicas. O mais utilizado pelos fabricantes de FPGA como, por exemplo, a empresa Altera Corp, é o bloco de memória LUT (Look-Up Table). Esse tipo de bloco lógico contém células de armazenamento que são utilizadas para implementar pequenas funções lógicas. Cada célula é capaz de armazenar um único valor lógico: zero ou um.

Nos FPGAs disponíveis comercialmente como, por exemplo, da empresa Altera Corp., os blocos lógicos LUTs possuem geralmente quatro ou cinco entradas, o que permite endereçar 16 ou 32 células de armazenamento. Quando um circuito lógico é implementado em um FPGA, os blocos lógicos são programados para realizar as funções necessárias, e os canais de roteamento são estruturados de forma a realizar a interconexão necessária entre os blocos lógicos.

As células de armazenamento dos LUTs de um FPGA são voláteis, o que implica perda do conteúdo armazenado, no caso de falta de suprimento de energia elétrica. Dessa forma, o FPGA deve ser programado toda vez que for energizado. Geralmente utiliza-se uma pequena memória FLASH EEPROM (Electrically Erasable Programmable Read Only Memory) cuja função é carregar automaticamente as células de armazenamento, toda vez que o FPGA for energizado.

Granularidade é uma característica dos FPGAs relacionada com o grão. A fim de classificar os FPGAs quanto ao bloco lógico, foram criadas algumas categorias:

a) Grão grande: os FPGAs dessa categoria podem possuir como grão unidades lógicas e aritméticas, pequenos microprocessadores e memórias.

b) Grão médio: os FPGAs de grão médio freqüentemente contêm duas ou mais LUTs e dois ou mais flip-flops. A maioria das arquiteturas de FPGAs implementam a lógica em LUTs de quatro entradas.

c) Grão pequeno: os FPGAs de grão pequeno contêm um grande número de blocos lógicos simples. Os blocos lógicos normalmente contêm uma função lógica de duas entradas ou um multiplexador 4x1 e um flip-flop.

A arquitetura de roteamento de um FPGA é a forma pela qual os seus barramentos e as chaves de comutação são posicionados para permitir a interconexão entre as células lógicas. Essa arquitetura deve permitir que se obtenha um roteamento completo e, ao mesmo tempo, uma alta densidade de portas lógicas. Para uma melhor compreensão dessa arquitetura é necessária a definição de alguns conceitos básicos como:

Pinos: entradas e saídas dos blocos lógicos.

Conexão: ligação elétrica de um par de pinos.

Rede:

...

Baixar como (para membros premium)  txt (11.7 Kb)  
Continuar por mais 6 páginas »
Disponível apenas no TrabalhosGratuitos.com