FPGA (Field Programmable Gate Array, em português "Arranjo de Portas Programáveis em Campo") é um circuito integrado projetado para ser configurado por um consumidor ou projetista após a fabricação – de onde advém "programável em campo"
3 tipos de arquiteturas:
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.
Fonte: https://pt.wikipedia.org/wiki/Field-programmable_gate_array
go ahead!!