top of page
fpga.jpg

FPGA

  1. Introdução

A crescente evolução do mercado de circuitos eletrônicos é visível. Um exemplo
para esta afirmação é o mercado mundial, influenciado drasticamente pela produção de
componentes eletrônicos nos países chamados de tigres asiáticos e no vale do silício.
Pode-se citar alguns pontos na história da eletrônica que foram marcantes para sua
evolução: a invenção da válvula, a criação dos transistores, a evolução para circuitos
integrados e a construção de microprocessadores. Porém, muitos autores citam que a
verdadeira virada no mercado eletrônico do século XX foi a criação dos circuitos de
aplicação específica e o aperfeiçoamento do hardware reconfigurável dos Dispositivos
Lógicos Reprogramáveis (Programmable Logic Device - PLD).

Para muitos projetos de hardware, o custo da prototipação impedia a construção
de sistemas confiáveis, fazendo com que máquinas fossem desenvolvidas e distribuídas
com alguns defeitos, sendo estes descobertos de forma drástica por usuários, resultando
em um aumento no custo de utilização. A promessa da computação reconfigurável é um
“hardware virtual”, podendo emular vários sistemas complexos de forma transparente
ao usuário.

O potencial de crescimento de atividades relacionadas ao PLD num futuro
próximo é muito grande. A automatização dos processos industriais é cada vez mais
intensa, e ao longo dos próximos anos, simplificará e acelerará ainda mais todo o ciclo de
desenvolvimento de projetos, em velocidade impressionante.

 

  1. Lógica Programável

Os circuitos integrados digitais implementados em pastilha de silício podem ser
classificados como circuitos digitais padrão ou circuitos digitais de aplicações específicas

ASICs (Aplication Specific Integrated Circuits). Os circuitos padrões são constituídos por portas lógicas (AND,OR,NOT e Flip-Flops) e necessitam de vários componentes externos para a realização de uma função específica. Os circuitos integrados ASICs são aqueles que precisam de um processo de fabricação especial, que requer máscaras específicas para cada projeto.

 

Outra característica dos circuitos integrados ASICs é o tempo de desenvolvimento longo e os
custos extremamente altos
. Geralmente não necessitam de muitos componentes
externos para a realização de uma função específica, pois sua alta densidade os torna
aptos para a implementação de vários tipos de aplicação. Em ambos os casos, os
circuitos integrados digitais possuem suas funções internas predefinidas,
implementadas na sua construção no processo de fabricação.

O desenvolvimento de projeto de circuitos digitais tem evoluído rapidamente nas
últimas décadas. A utilização da ferramenta de software denominada EDA (Eletronic
Design Automation) e o aperfeiçoamento dos PLDs (Programmable Logic Devices) têm
simplificado e acelerado todo o ciclo de projeto.

Os PLD são circuitos integrados que podem ser configurados pelo próprio

usuário. Não apresentam uma função lógica definida, até que sejam configurados.
Possuem, como principal característica, a capacidade de programação das funções
lógicas pelo usuário, eliminando-a do processo de fabricação do circuito integrado, o que
facilita, assim, as prováveis mudanças de projeto. Em comparação com outras
tecnologias de circuitos integrados digitais, os dispositivos de lógica programável
apresentam um ciclo de projeto menor e custos reduzidos.

Os controladores lógicos programáveis disponíveis no mercado brasileiro
utilizam na sua arquitetura microcontroladores e circuitos integrados de aplicações
específicas ASICs.

Esses microcontroladores, para executar seus programas de controle, necesitam
realizar ciclos de busca e execução de instrução. O ciclo de busca da instrução não está
diretamente relacionado com o processo no qual o controlador lógico programável está
inserido, mas é a condição determinante para o microcontrolador executar o programa
que está carregado na memória. Essa necessidade de busca da instrução demanda tempo do microcomputador, que poderia estar sendo utilizado na execução de tarefas pertinentes ao processo.

Os microcontroladores são componentes extremamente flexíveis devido a sua
programabilidade. Essa programação permite sua aplicação em diversos tipos de
controles industriais.

A execução de um algoritmo de controle depende de seu software, armazenado
em memória, que será executado numa arquitetura baseada em microprocessador, com
ciclo de buscas e execução das instruções. Numa arquitetura baseada em dispositivo lógico programável, por exemplo, FPGA (Field Programmable Gate Array), um algoritmo de controle é implementado por
hardware, sem a necessidade de ciclos de busca e execução de instruções.

O problema básico a ser resolvido é a implementação de uma arquitetura eficiente, baseada em lógica programável estruturada, para execução desse algoritmo de controle, em vez de compilá-lo para sua execução em microprocessador.

A tarefa que faz a tradução de um algoritmo para uma arquitetura de
hardware eficiente é denominada síntese. A síntese cria uma arquitetura com células
lógicas que executam as operações do algoritmo, sem a necessidade de se gerar e
decodificar instruções. Uma das grandes vantagens da utilização de dispositivos lógicos programáveis
nessa nova arquitetura proposta é a possibilidade de se definir vários blocos de
hardware, que operam em paralelo, aumentando muito a capacidade computacional do
sistema.

Os dispositivos lógicos programáveis (PLDs) foram os dispositivos eletrônicos
que possibilitaram a implementação de Lógica Programável Estruturada.

Os PLDs podem ser classificados em função de portas lógicas que comportam, como descrito a seguir:

(1) SPLDs (Simple Programmable Logic Devices): São dispositivos simples e de baixa
capacidade, que tipicamente contêm menos de 600 portas lógicas, fabricados com
tecnologia CMOS.

(2) HCPLDs (High Complex Programmable Logic Devices): São dispositivos de alta capacidade, que tipicamente contêm mais de 600 portas lógicas; os mais modernos podem atingir cerca de 250.000 portas e englobam os dispositivos CPLDs (Complex Programmable Logic Devices) e FPGAs (Field Programmable Gate Arrays), todos
fabricados com tecnologia CMOS.

SPLDs

 

Os PLAs (Programmables Logic Arrays) foram os primeiros Dispositivos Lógicos Programáveis Simples (SPLDS) criados especificamente para a implementação de circuitos lógicos. Introduzidos pela empresa Philips no início de 1970, esses dispositivos consistem em dois níveis de portas lógicas: um plano de portas AND seguido por um plano de portas OR, ambos programáveis, como mostra a figura 1.

Um PLA é estruturado de forma que cada saída do plano AND pode corresponder
a qualquer produto das entradas. Da mesma forma, cada saída do plano OR pode ser
configurada para produzir a soma lógica de quaisquer saídas do plano AND.

 

Em virtude da estrutura montada, os PLA são adequados para as implementações
de funções lógicas na forma de produtos de soma, e eles se apresentam muito versáteis,
pois tanto os termos AND como os termos OR podem possuir muitas entradas.

Entretanto, essa tecnologia também apresenta problemas como alto custo de
fabricação e baixo desempenho em termos de velocidade. Essas desvantagens existem
devido aos dois níveis de lógica configurável. Os planos lógicos programáveis são difíceis
de serem fabricados e introduzem atrasos significativos de propagação dos sinais
elétricos.

_ A tecnologia PAL ( Programmable Array Logic ) foi então desenvolvida para super deficiências apresentadas pela tecnologia PLA. Os PALs apresentam um único plano AND configurável, figura 2, custo menor e melhor desempenho.

 

HCPLDs

Quanto maior o número de portas de um PLD, maior será a sua complexidade. Os Dispositivos Lógicos de Alta Complexidade (HCPLD) dividem-se basicamente em dois grupos: CPLD e FPGA. A diferença básica entre os dois dispositivos está na estrutura interna de suas células lógicas e na metodologia da interligação dessas células. De forma geral, internamente, os HCPLDs podem ser vistos como dispositivos que integram na sua
estrutura centenas de macrocélulas programáveis, que são interligadas por conexões também programáveis.

Os Dispositivos Lógicos Programáveis Complexos (CPLDs) foram introduzidos no mercado internacional pela empresa Altera Corp. em 1983, inicialmente como Dispositivos Lógicos Programáveis Apagáveis (EPLDs) e, posteriormente, como CPLDs. Os CPLDs são dispositivos programáveis e reprogramáveis pelo usuário, com alto desempenho, baixo custo por função e alta capacidade de integração. Um CPLD pode ser aplicado, por exemplo, como uma máquina de estado ou decodificador de sinais, substituindo centenas de circuitos discretos que implementariam a mesma função. Os CPLDs implementam capacidade lógica de até 50 dispositivos PLDs típicos. Suas principais vantagens em relação aos circuitos discretos ASICs tradicionais são:

(a) Programabilidade e Reprogramabilidade: Permite que funções lógicas possam
ser alteradas, simplificando o desenvolvimento de protótipos.

(b) Tecnologia CMOS: Menor Consumo de energia elétrica.

(c) Integração em larga escala: Redução de tamanho da placa de circuito impresso,
pois possibilita a eliminação de diversos componentes discretos.

(d) Simplificação e redução do tempo de desenvolvimento: Simplifica e reduz o
tempo de desenvolvimento da placa de circuito impresso, pois permite que o

projetista defina os sinais elétricos conforme desejado: entradas ou saídas podem
ocupar o mesmo terminal do dispositivo.

(e) Teste e depuração: As linguagens utilizadas na programação do dispositivo
permitem a simulação, teste e depuração rápida do protótipo.

(c) FMK 2023 - 2024.  Updated Sep 2024.

bottom of page