Conjunto de portões programáveis em campo

Uma matriz de portões programáveis em campo (muitas vezes abreviada para FPGA) é um componente eletrônico usado para construir circuitos digitais reconfiguráveis. Isso significa que uma FPGA é diferente de uma porta lógica, porque uma porta lógica tem uma função fixa. Em contraste, uma FPGA tem uma função indefinida no momento da fabricação. Antes que a FPGA possa ser usada em um circuito, ela deve ser programada, ou seja, reconfigurada.

As FPGAs são circuitos integrados na categoria de dispositivos lógicos programáveis ou PLDs. Os FPGAs são os de maior desempenho, mais flexíveis e também os mais caros dos tipos de PLD. Uma desvantagem dos FPGAs em comparação com outros PLDs é que eles não se lembram de seu projeto quando a energia é removida. Portanto, uma FPGA precisa de um chip de memória de configuração separado que contenha o projeto da FPGA. Quando a energia é devolvida à FPGA, uma parte fixa da FPGA lê a configuração a partir do chip de memória de configuração. Depois que a FPGA for configurada, ela será capaz de fazer a função que lhe foi dada pelo projeto.

Uma FPGA é diferente de um microprocessador ou microcontrolador. Uma FPGA em sua forma básica não é capaz de executar um software. Somente quando a FPGA recebe uma configuração que contém uma arquitetura de processador é que ela tem a capacidade de executar software.

Os fabricantes de FPGA fornecem software de engenharia para Windows e às vezes também Linux, para desenvolver projetos para FPGAs. O projeto é comumente escrito em arquivos de computador legíveis por humanos chamados de linguagem de descrição de hardware (HDL). As mais populares são VHDL e Verilog. As linguagens de descrição de hardware são fortemente comparáveis às linguagens de programação. Mas a intenção das HDLs é projetar circuitos lógicos digitais enquanto as linguagens de programação projetam software.

O software de engenharia FPGA tem que traduzir o código HDL abstrato para os elementos lógicos disponíveis na FPGA selecionada. Isso é chamado de síntese lógica. Em seguida, é feito um processo de lugar e rota para posicionar os elementos lógicos na FPGA. O resultado é um arquivo de bits que pode ser programado na FPGA ou na memória de configuração. Isto geralmente é feito com um programador USB conectado à porta JTAG da FPGA.

Como a FPGA é um circuito integrado, um fabricante de FPGA pode decidir adicionar outros componentes de circuito integrado comumente usados. Estas peças fixas são chamadas núcleos. Estes são, por exemplo, controladores Ethernet ou mesmo uma arquitetura de processador completa. Para diferentes segmentos de mercado como defesa, médico, comunicações e robótica, o fabricante FPGA tenta adicionar o conjunto mais valioso destes núcleos adicionais.

Zoom


Estrutura interna

As FPGAs são geralmente construídas sobre elementos lógicos programáveis e interconexões programáveis. Um componente dos elementos lógicos é uma tabela de pesquisa programável (LUT). Uma LUT pode ser programada para emitir qualquer valor dado valores de entrada. Desta forma, um LUT pode ser programado para ser qualquer tipo de lógica com o mesmo número de entradas e saídas. Por exemplo, uma LUT de 2 entradas e 1 saídas pode ser programada para emular a lógica de uma LUT de 2 entradas AND, OR, NAND, NOR, XOR, etc. A saída deste LUT pode ser salva usando um registro ou conectada à entrada de outros LUTs. Usando um mux programável, a FPGA pode ser programada para escolher a saída registrada ou não-registrada. Esta combinação de um LUT, um registro e um mux é a estrutura geral de um elemento lógico.

Para conectar esses elementos lógicos, são utilizados transistores de passagem. O transistor pode ser programado para conectar um sinal ou não, dando assim à FPGA a capacidade de conectar elementos lógicos muito especificamente juntos. Por exemplo, se a saída de um elemento lógico alimentar a entrada de outro, o transistor de passagem pode ser programado para conectar estes dois fios juntos e corresponder à lógica especificada. Entre os elementos lógicos e os transistores de passagem, um compilador pode pegar uma descrição de hardware de um HDL, criar a lógica para os elementos lógicos e conectá-los juntos usando os transistores de passagem.

Perguntas e Respostas

P: O que é uma matriz de portas programáveis de campo (FPGA)?


R: Uma matriz de portas programáveis de campo (FPGA) é um componente eletrônico usado para construir circuitos digitais reconfiguráveis. Ela tem uma função indefinida no momento da fabricação e deve ser programada, ou reconfigurada, antes de poder ser usada em um circuito.

P: Como é que uma FPGA difere de uma porta lógica?


R: Uma FPGA difere de uma porta lógica porque uma porta lógica tem uma função fixa enquanto uma FPGA tem uma função indefinida no momento da fabricação.

P: Que tipo de circuito integrado é uma FPGA?


R: Uma FPGA é um circuito integrado na categoria de dispositivos lógicos programáveis ou PLDs.

P: Quais são alguns inconvenientes do uso de FPGAs em comparação com outros PLDs?


R: Uma desvantagem do uso de FPGAs em comparação com outros PLDs é que eles não se lembram de seu projeto quando a energia é removida, então eles precisam de um chip de memória de configuração separado que contenha o projeto. Eles também são mais caros do que outros tipos de PLDs.

P: Como é que se programa uma FPGA?


R: Para programar uma FPGA, os engenheiros usam software de engenharia para Windows ou Linux para desenvolver projetos escritos em linguagem de descrição de hardware, como VHDL e Verilog. O software então traduz esse código para os elementos lógicos disponíveis nos FGPAs selecionados e os posiciona com processos de lugar e rota que criam um arquivo de bits que pode ser programado tanto na memória de configuração quanto diretamente na própria FGPA com um programador USB conectado a sua porta JTAG.

P: Os microprocessadores e microcontroladores são similares aos da FGPA?


R: Não, microprocessadores e microcontroladores são diferentes dos da FGPA porque em sua forma básica não pode executar software; somente quando lhe é dada uma configuração contendo arquitetura de processador é que ele tem essa capacidade.

AlegsaOnline.com - 2020 / 2023 - License CC3