• Aucun résultat trouvé

Provide optimal treatment for those with cancer

A programação dos FPLDs pelos utilizadores é possível graças à utilização de vários componentes, cujo comportamento pode ser modificado após a fabricação do dispositivo. Exemplos destes componentes são o interruptor programável, o multiplexador e a tabela de verdade. As tecnologias de programação são o conjunto das técnicas físicas empregues na sua construção, sendo as mais comuns baseadas em fusíveis, antifusíveis, células e transístores EPROM (Erasable Programmable Read Only

Memory) e EEPROM (Electrically Erasable Programmable Read Only Memory) e células

SRAM (Static Random Access Memory). As próximas secções descrevem sucintamente cada uma destas tecnologias de programação.

2.2.1 Fusíveis

O primeiro interruptor programável desenvolvido foi o fusível usado nas PLAs. Apesar dos dispositivos de pequena capacidade ainda continuarem a usá-los, as novas tecnologias estão a substituí-los rapidamente. Os dispositivos baseados em fusíveis possuem um funcionamento semelhante aos fusíveis de protecção contra sobre-intensidades de corrente, nos quais através da aplicação duma corrente excessiva é provocada uma alteração acentuada das suas características eléctricas. As duas

variantes principais desta tecnologia baseiam-se em fusíveis laterais e verticais. Um fusível lateral consiste num fio construído com uma liga de tungsténio e titânio em série com um transístor bipolar (Bipolar Junction Transistor – BJT). A programação é efectuada através da aplicação de uma corrente suficientemente elevada para fundir o fio. Este tipo de ligação é inicialmente um curto-circuito, tornando-se num circuito aberto após a sua programação. Por outro lado, o díodo da junção base-emissor dum BJT constitui um fusível vertical. Este tipo de ligação começa por ser um circuito aberto porque o BJT comporta-se como dois díodos ligados em anti-série, impedindo o fluxo de corrente. No entanto, através da aplicação duma sequência de impulsos de corrente suficientemente elevados através do emissor do BJT, ocorre o efeito de avalanche o que provoca a fusão e desaparecimento da junção de emissor e a criação de um curto-circuito.

2.2.2 Antifusíveis

Em dispositivos de elevada densidade a tecnologia CMOS domina a indústria dos circuitos integrados tornando-se necessárias outras abordagens para a implementação de interruptores programáveis. Assim, como alternativa aos fusíveis, alguns FPLDs (predominantemente CPLDs e FPGAs) empregam a tecnologia antifusível na construção dos interruptores programáveis. Os antifusíveis são fabricados utilizando uma tecnologia CMOS modificada e comportam-se inicialmente como circuitos abertos que se transformam numa ligação de baixa resistência depois de programados. A sua estrutura é composta por um canal de silício amorfo entre duas camadas de metalização (Figura 2.4). Inicialmente (antes da programação) o silício

amorfo é um isolador com uma resistência superior a 1GΩ. O utilizador pode

programar a ligação antifusível através da aplicação de sinais de corrente relativamente elevada (cerca de 20 mA) às entradas do dispositivo. Esta corrente cria uma ligação através da transformação de silício amorfo isolador em polissilício condutor.

As duas vantagens principais desta tecnologia de programação são as dimensões reduzidas de um antifusível e a sua pequena resistência eléctrica depois de programado.

Óxido Dieléctrico Polisilício

difusão n+ Substracto de silício Antifusível

linhas condutoras

Os dispositivos baseados nas tecnologias fusível e antifusível são programáveis apenas uma vez, normalmente conhecidos por OTP - one-time programmable, já que o processo de programação é irreversível, possibilitando apenas a modificação das ligações ainda não programadas. Por outro lado, são também não voláteis, ou seja, retêm a sua programação mesmo na ausência de tensão de alimentação.

2.2.3 Transístores de Porta Flutuante - EPROM e EEPROM

Outra tecnologia utilizada para construir interruptores programáveis baseia-se em transístores de porta flutuante, semelhantes aos usados em memórias EPROM e EEPROM. Esta tecnologia é mais utilizada nos CPLDs. Para permitir a implementação de funções wired-AND, os transístores são colocados entre as linhas de entrada e de saída duma matriz do CPLD, tal como ilustrado na Figura 2.5. Se uma entrada fizer parte do produto calculado numa dada linha de saída, pode controlar o seu valor através da activação do respectivo transístor. Os transístores relativos às restantes entradas são bloqueados por programação para que não afectem o valor da saída. No caso de transístores EEPROM, o esquema é semelhante ao da Figura 2.5.

Os dispositivos baseados nestas tecnologias são reprogramáveis e não voláteis. A diferença entre as duas tecnologias é que enquanto a programação dos dispositivos baseados em EEPROM pode ser feita no circuito, a dos dispositivos EPROM deve ser realizada em equipamento de programação específico.

Apesar das tecnologias de programação EPROM e EEPROM combinarem a não volatilidade com a reprogramabilidade, não são normalmente utilizadas na construção de FPGAs porque requerem um processo de fabricação mais complexo e as células ocupam mais espaço, sendo este um factor muito importante em dispositivos de elevada capacidade como as FPGAs. As FPGAs disponíveis comercialmente utilizam na sua generalidade como tecnologia de programação células SRAM ou antifusíveis. Linha de entrada Linha de produto Porta de selecção Porta flutuante

2.2.4 Células de Memória Estática - SRAM

A tecnologia de programação SRAM utiliza células de memória para configurar os blocos lógicos e os elementos responsáveis pelo controlo dos recursos de interligação do FPLD. A configuração de um dispositivo baseado em SRAM é realizada tipicamente através de um ou vários dos elementos seguintes:

• Interruptor programável – um transístor controlado por uma célula SRAM ligada à sua porta actua como um interruptor que pode ser usado para estabelecer as ligações entre duas linhas condutoras (Figura 2.6 (a));

• Multiplexador programável – num multiplexador de 2K entradas controlado

por K linhas de selecção, o estado das células SRAM determina qual das entradas é ligada à saída (Figura 2.6 (b)).

• Tabela de verdade – uma matriz de 2K células SRAM endereçadas por K

entradas implementa uma função lógica de K variáveis (Figura 2.6 (c)). Uma vez que a configuração do dispositivo é baseada em células de memória SRAM, a sua programação pode ser realizada um número ilimitado de vezes. A reprogramabilidade permite ao fabricante do dispositivo testar todos os seus elementos e interligações através da realização de vários ciclos de programação em equipamento de teste apropriado. Como resultado, os utilizadores adquirem dispositivos completamente testados e em que a taxa de sucesso de programação é normalmente de 100%, tudo isto sem a necessidade de vectores de teste específicos da aplicação ou de técnicas de projecto que facilitem o teste do circuito. Ao nível do sistema, a reprogramabilidade pode ser utilizada para implementar no mesmo dispositivo reprogramável diferentes circuitos que não sejam necessários simultaneamente. De acordo com a operação do sistema, os diferentes circuitos vão sendo carregados a partir de um dispositivo de configuração externo. A reprogramabilidade permite também a realização de protótipos de forma interactiva, reutilizando o mesmo dispositivo nas várias iterações de projecto.

Célula SRAM Porta de Passagem MUX 4:1 (a) (b) Células SRAM (c) Células SRAM Tabela de Verdade

Figura 2.6 – Elementos programáveis controlados por células SRAM - (a) interruptor; (b) multiplexador; (c) tabela de verdade.

A maior desvantagem da tecnologia de programação SRAM é a elevada área que ocupa. Cada interruptor programável necessita de pelo menos cinco transístores para implementar a célula de memória SRAM e um para o interruptor propriamente dito. Na Figura 2.7 está ilustrada uma célula de memória típica constituída por cinco transístores. De notar que normalmente não existe uma área separada da pastilha do circuito integrado para as células de memória de configuração, estando estas

distribuídas juntamente com os elementos lógicos controlados. Uma vez que a memória de configuração não é em geral modificada frequentemente durante o funcionamento do circuito, a sua construção contempla a estabilidade e a densidade em vez da velocidade de operação. A tecnologia de programação SRAM possui duas grandes vantagens, a reprogramação rápida e o facto de poderem ser construídos com processos standard de fabricação de circuitos integrados.

Sendo a SRAM volátil, o dispositivo deve ser configurado cada vez que o sistema for ligado. Isto requer uma memória externa permanente para armazenar a informação de programação, normalmente do tipo PROM, EPROM ou EEPROM. Por este motivo, os dispositivos baseados em SRAM possuem lógica adicional para detectar o arranque do circuito e para se inicializarem automaticamente. A programação do dispositivo demora normalmente alguns milissegundos.

VCC VCC

Linha

Coluna

Entrada Saída

Figura 2.7 – Célula de memória SRAM com cinco transístores.

A Tabela 2.1 resume as características mais importantes do ponto de vista de utilização das tecnologias de programação empregues na construção dos FPLDs.

Tipo do interruptor Tecnologia Reprogramável Volátil

Fusível Bipolar Não Não

Antifusível CMOS+ Não Não

EPROM UVCMOS Sim (em equipamento específico) Não

EEPROM EECMOS Sim (no circuito) Não

SRAM CMOS Sim (no circuito) Sim

Tabela 2.1 - Resumo das tecnologias de programação mais utilizadas em dispositivos lógicos programáveis.