MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO (FPGA) MÓDULO VLSI QUE PODE SER PROGRAMADO PARA IMPLEMENTAR UM SISTEMA DIGITAL QUE CONSISTE DE DEZENAS DE MILHARES DE PORTAS. PERMITEM A IMPLEMENTAÇÃO DE REDES DE MÚLTIPLOS NÍVEIS E SISTEMAS COMPLEXOS EM UM ÚNICO CHIP MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO (FPGA) UM MÓDULO FPGA CONSISTE EM UMA MATRIZ DE TRÊS TIPOS DE ELEMENTOS PROGRAMÁVEIS: •PONTOS DE INTERCONECÇÃO (CHAVES) •BLOCOS DE ENTRADA E SAÍDA •BLOCOS LÓGICOS SEQUENCIAIS) (COMBINACIONAIS E/OU A CONECÇÃO ENTRE ESSES TRÊS ELEMENTOS É FEITA ATRAVÉS DE FIOS AGRUPADOS EM CANAIS HORIZONTAIS E VERTICAIS MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – ORGANIZAÇÃO DO CHIP Bloco Lógico programável Matriz de Chaveamento Blocos de entrada/saída Blocos de entrada/saída Blocos de entrada/saída Chaves Blocos de entrada/saída Canal de fiação MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – PROGRAMAÇÃO 1. ANTIFUSÍVEIS (ANTIFUSE) •Usados por Actel, QuickLogic e Atmel • Dispositivos de dois terminais que, quando nãoprogramados atuam como uma alta impedância, ou seja, um circuito aberto. • Para programação, aplica-se uma tensão entre 11 e 20V, fazendo com que o antifuse vire um curto-circuito. MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – PROGRAMAÇÃO 1. ANTIFUSÍVEIS (ANTIFUSE) • VANTAGENS: • Tamanho reduzido. • Baixa capacitância quando não programado. • Baixa resistência quando programado. • DESVANTAGENS • Não permite reprogramação. MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – PROGRAMAÇÃO 1. ANTIFUSÍVEIS (ANTIFUSE DA ACTEL) Consiste de três camadas: Em cima, polissilício(condutora), em baixo sílicio altamente dopado(n+), no meio uma camada dielétrica. Com o rompimento do dielétrico um pequeno canal se forma entre as duas camadas de silício, permitindo a passagem de corrente elétrica. MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – PROGRAMAÇÃO 1. ANTIFUSÍVEIS (ANTIFUSE DA QUICKLOGIC) A camada central é constituída de silício amorfo( não condutor). Através do processo de programação o silício amorfo se torna polisilício(condutor), permitindo a passagem de corrente. MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – PROGRAMAÇÃO 2. EPROMs e EEPROMs • Comutadores são transistores MOSFET de gate flutuante, os mesmos usados nas memórias EPROM e EEPROM. • Não exigem memória permanente externa para preservar a programação. •Exigem um processo de fabricação mais complexo e o uso de células maiores. MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – PROGRAMAÇÃO 3. SRAM • Implementado com células de memórias de • memórias estáticas (sram) • Informação de programação perdida depois que o chip é desenergizado MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – SRAM FPGAs ELEMENTOS TÍPICOS DE UM CHIP SRAM FPGA • CHAVE PROGRAMÁVEL UMA CÉLULA SRAM ANEXADA À PORTA DE UM TRANSISTOR CMOS AGE COMO UMA CHAVE, QUE É USADA PARA FORNECER CONEXÕES ENTRE ENTRADAS E SAÍDAS DE BLOCOS LÓGICOS Células SRAM Transistor 1 Chave fechada Células SRAM Transistor 0 Chave aberta MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – ORGANIZAÇÃO DA MEMÓRIA SRAM Matriz de células de armazenamento A0 A1 . . . . . AM-1 Decodificador de Linha Endereço de linha (M bits) 0 Linha de bit 1 Linha de palavra K Célula 2M -1 0 Endereço de coluna (N bits) 1 L 2N -1 Decodificador de coluna e sensor de nível Dados de entrada e saída MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – SRAM FPGAs •MULTIPLEXADOR PROGRAMÁVEL MULTIPLEXADOR DE 2k entradas controlado por k CÉLULAS SRAM a b c d 0 1 MUX 2 3 1 1 Células SRAM Y=d MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – SRAM FPGAs •TABELA DE PESQUISA (LUT – LOOK UP TABLE) UMA MATRIZ DE 2k ´CÉLULAS SRAM (UMA TABELA DE PESQUISA DE k ENTRADAS) IMPLEMENTAUMA FUNÇÃO DE CHAVEAMENTO DE k VARIÁVEIS MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – SRAM FPGAs •FLIP – FLOP GARANTE A OPERAÇÃO COMO UM SISTEMA SEQUENCIAL MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – SRAM FPGAs •BLOCOS LÓGICOS PROGRAMÁVEIS (CLB) UM CLB CONTÉM UMA TABELA DE PESQUISA ( LUT ), DIVERSOS MULTIPLEXADORES CONTROLADOS POR SRAM E UM ELEMENTO DE ARMAZENAMENTO QUE PODE COMPORTAR-SE OU COMO UM FLIP- FLOP D SENSÍVEL À BORDA OU COMO UM LATCH D SENSÍVEL AO NÍVEL MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – SRAM FPGAs X A B C D Tabela de G Y pesquisa (LUT) Set F D S Q CLK >K Reset K R MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – SRAM FPGAs INTERCONEXÃO PROGRAMÁVEL SEGMENTOS METÁLICOS E PONTOS DE CHAVEAMENTO PROGRAMÁVEIS QUE SÃO USADOS PARA FORNECER O ROTEAMENTO DESEJADO ENTRE CLBs, BEM COMO BLOCOS DE ENTRADA E SAÍDA TIPOS DE RECURSOS DE INTERCONEXÃO 1. INTERCONEXÃO DIRETA 2. INTERCONEXÕES DE USO GERAL 3. LINHAS HORIZONTAIS E VERTICAIS LONGAS MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – SRAM FPGAs 1. INTERCONEXÃO DIRETA – OCORRE ENTRE CLBs HORIZONTALMENTE E VERTICALMENTE ADJACENTES. FORNECEM CAMINHOS DE SINAIS RÁPIDOS ENTRE MÓDULOS ADJACENTES 2. INTERCONEXÕES DE USO GERAL – SEGMENTOS DE FIAÇÃO VERTICAIS E HORIZONTAIS ENTRE MATRIZES DE CHAVES. Os SEGMENTOS SÃO CONECTADOS CONFIGURANDO-SE AS MATRIZES DE CHAVEAMENTO EM UM PADRÃO DESEJADO. 3. LINHAS HORIZONTAIS E VERTICAIS LONGAS – SE ESTENDEM POR TODA A MATRIZ CLB, CONSTITUINDO UM MEIO PARA TRANSMITIR SINAIS A UM GRANDE NÚMERO DE DESTINOS CUJOS RETARDOS SEJAM CRÍTICOS ( POR EXEMPLO, SINAL DE RELÓGIO) MATRIZES DE PORTAS PROGRAMÁVEIS NO CAMPO(FPGA) – SRAM FPGAs Interconexão para uso geral Linha longa vertical Conexão direta Matriz de Chaves Interconexão para uso geral