APLICAÇÕES DE FPGA’s 

         FPGAs podem ser utilizados na implementação de uma grande quantidade de funções lógicas, havendo uma certa limitação para o número de variáveis de entrada , como é o caso dos outros dispositivos existentes no mercado.
         As implementações consistem desde simples circuitos, como somadores, subtratores e acumuladores, até circuitos mais complexos, como filtros e DSPs.
        
Dentre as aplicações mais simples, podemos também citar codificadores (como exemplo o codificador entre bcd e binário), decodificadores e somadores com carry look-ahead.
         Existem várias maneiras de se implementar somadores binários, subtratores e acumuladores em FPGA. Vários métodos oferecem diferentes características entre velocidade e tamanho.
         Uma técnica mais compacta, mas lenta, é a técnica bit-serial, que opera em um ou dois bits por ciclo de clock, gerando soma e carry. A soma é alimentada para um registrador de saída e o carry é armazenado e usado no próximo bit.
         O mais compacto circuito combinacional somador ou subtrator  (paralelo), consiste de cascatas de CLBs. Cada CLB implementa um somador completo, recebendo um bit de cada operando e um carry de entrada. o CLB gera a soma e um carry de saída. Uma função de 16 bits é complementada com 16 CLBs de atraso, e requer 16 CLBs.
        
Para FPGAs que possuem geradores de funções com 5 entradas a adição pode ser feita de dois em dois bits. Cada conjunto de 3 CLBs pode operar dois bits de entrada de cada um dos operandos e um carry de entrada, gerando um carry de saída e os dois bits de saída da soma. Uma função de 16 bits requer 24 CLBs mas o operação é feita em 8 atrasos de CLB.
         Para uma operação mais rápida pode ser implementado o carry look-ahead que usa propagador de carry e gerador de carry para reduzir o tempo de atraso. Usando esta técnica, uma adição de 16 bits pode ser feita em 5 atrasos de CLB, usando 30 CLBs.
         A forma mais rápida de implementar uma soma foi inventada por J. Sklansky e chamada de Algorítimo de Soma Condicional, e implementa uma soma de 16 bits com apenas 3 atrasos de CLB, usando 41 CLBs. 

1. EXEMPLO: SOMADOR BIT-SERIAL

         A arquitetura do CLB é ideal para implementação do circuito aritmético bit-serial. Os dois operandos são serialmente registrados nos shift registers e enviados em LSB (bit menos siginificativo) para a unidade aritmética serial. A soma é também gerada serialmente e convertida para dados paralelos num terceiro registrador.
        
A unidade aritmética possui um somador/subtrator completo de 1-bit e um carry/borrow flip-flop, e pode ser implementada num único CLB. Antes de iniciar a operação, o carry/borrow flip-flop precisa ser apagado. Subsequentemente, somas ou diferenças são passadas para o registrador de saída, enquanto carries e borrows são armazenados para inclusão no próximo bit da operação serial.

 

 

 

[Índice]