Baixe o app para aproveitar ainda mais
Prévia do material em texto
Gabriel P. Silva1 DispositivosDispositivos Lógicos Lógicos ProgramáveisProgramáveis Circuitos LógicosCircuitos Lógicos DCC-IM/UFRJ Prof. Gabriel P. Silva ©2009 Gabriel P. Silva2 Família de Sistemas Digitais Gabriel P. Silva3 Comparação: Velocidade e Consumo Lógica Discreta CPLD FPGA ASIC Estruturado ASIC Célula-Padrão VLSI Personalizado Alta Velocidade Baixo Consumo Gabriel P. Silva4 Dispositivos Lógicos Programáveis (PLD) • Tipos: – PLA – PAL – CPLD – FPGA – ASICs – Gate Array • Aplicações de CPLDs, FPGAs e Gate Arrays Gabriel P. Silva5 Dispositivos Lógicos Programáveis (PLD) • O que é um PLD ? – R: Sigla de “Programmable Logic Device” – R: É um circuito integrado que pode conter grande quantidade de circuitos lógicos, com uma estrutura que não é fixa. – R: É um tipo de integrado que contém circuitos lógicos e chaves programáveis cujas funções são definidas pelo usuário. Gabriel P. Silva6 Dispositivos Lógicos Programáveis (PLD) Gabriel P. Silva7 Dispositivos Lógicos Programáveis (PLD) Gabriel P. Silva8 PLA • “Programmable Logic Array” • O primeiro dispositivo programável. • Composto por uma matriz programável de “ANDs” e outra de “Ors”. • Normalmente são dispositivos de capacidade muito reduzida, com apenas algumas dezenas de portas. • Utiliza lógica de fusíveis para a sua programação. • Uma vez programados não podem ser reprogramados. Gabriel P. Silva9 PLA Gabriel P. Silva10 PLA Gabriel P. Silva11 PLA • Diagrama esquemático da PLA Conexão Realizada Gabriel P. Silva12 PLA • Como são usados as PLAs ? – R: São incluídos como parte de chips maiores, como na unidade de controle de um microprocessador, para decodificar as instruções. Nesse caso a configuração é fixa • Podem ser encontradas com integrados disponíveis no mercado, quando, tipicamente, possuem: – 16 entradas, – 32 termos de produto e – 8 saídas Gabriel P. Silva13 PAL • “Programmable Array Logic” • Dispositivo programável com o “array” de OR fixo. Gabriel P. Silva14 Gabriel P. Silva15 Gabriel P. Silva16 PAL • Qual a diferença em relação a um PLA ? – R: A PAL possui plano AND programável, mas o plano OR é fixo – R: A PLA possui ambos os planos programáveis • Significa dizer que a PAL é: – + simples de fabricar – + barata – + desempenho Gabriel P. Silva17 PAL16H8 Gabriel P. Silva18 PAL Gabriel P. Silva19 PAL Comercial Gabriel P. Silva20 Exemplo de Aplicação Gabriel P. Silva21 Exemplo de Aplicação Gabriel P. Silva22 Progamação de PALs e PLAs Gabriel P. Silva23 Progamação de PALs e PLAs Gabriel P. Silva24 Encapsulamentos • Dual in Line Package (DIP) Gabriel P. Silva25 Encapsulamentos • Plastic-Leaded Chip Carrier (PLCC) Gabriel P. Silva26 Fabricantes • Altera • Xilinx • Atmel • Cypress • Lattice • Data-io • ... Gabriel P. Silva27 CPLD • O que são CPLDs? – R: Sigla para – Complex Programmable Logic Device – R: É um circuito que pode conter múltiplos BLOCOS de circuitos, com recursos de CONEXÃO (wiring) interna para conectar esses blocos – R: Quando no projeto muitas entradas e saídas são necessárias, as PALs e PLAs não as possuem em número suficiente, usa-se então um CPLD. Gabriel P. Silva28 CPLD • Os elementos programáveis são células do tipo EEPROM (Eletrical Erasable PROM) , ou seja, são reprogramáveis mediante apagamento prévio do conteúdo anterior. • A informação de programação é armazenada em caráter não volátil, isto é, enquanto não houver uma operação explícita de apagamento elas são mantidas indefinidamente. Gabriel P. Silva29 CPLD Gabriel P. Silva30 CPLD Gabriel P. Silva31 Encapsulamentos para CPLD Gabriel P. Silva32 Programação de CPLD Gabriel P. Silva33 Exemplo de CPLD Gabriel P. Silva34 Exemplo de CPLD Gabriel P. Silva35 Exemplo de CPLD Gabriel P. Silva36 Exemplo de CPLD Gabriel P. Silva37 Exemplo de CPLD Gabriel P. Silva38 Gabriel P. Silva39 FPGA • O que é um FPGA ? – R: Sigla para – Field-Programmable Gate Array – R: É um circuito integrado que possui capacidade lógica superior a dos CPLDs – R: É um chip que não possui planos AND e OR, mas BLOCOS LÓGICOS CONFIGURÀVEIS. Gabriel P. Silva40 FPGA • São dispositivos programáveis que possuem uma arquitetura baseada em blocos lógicos configuráveis, chamados de CLB (Configuration Logical Blocks). • Os CLBs são formados por portas lógicas e flip- flops que implementam funções lógicas. • A FPGA também é formada por estruturas chamadas de blocos de entrada e saída (IOB – In/Out Blocks), os quais são responsáveis pela interface das saídas provenientes das combinações de CLBs. Gabriel P. Silva41 FPGA Gabriel P. Silva42 FPGA Blocos Lógicos Configuráveis Blocos de Entrada e Saída Linhas de Roteamento Matriz de Roteamento Blocos Lógicos Configuráveis Blocos de Entrada e Saída Linhas de Roteamento Matriz de Roteamento Blocos Lógicos Configuráveis Blocos de Entrada e Saída Linhas de Roteamento Matriz de Roteamento Gabriel P. Silva43 FPGA Gabriel P. Silva44 FPGA • Uma FPGA usa Blocos Lógicos reconfiguráveis • Os bits de configuração são selecionados de acordo com a função lógica desejada. • A configuração é uma tabela da verdade (lookup table) da funcionalidade Out In1 In2 config config Out 000 NOT(In1) 001 NOT(In2) 010 OR 011 NOR 100 AND 101 NAND 110 XOR 111 XNOR Gabriel P. Silva45 FPGA • A FPGA pode implementar lógica puramente combinacional ou sequencial, ou seja, que faz uso de flip-flops. Gabriel P. Silva46 FPGA • LUTs = Look Up Tables - As LUTs podem ser programadas para qualquer tipo de porta necessária ao projeto - Há um número finito de LUTs em uma FPGA. Out In1 In2 config Out In1 In2 config Out In1 In2 config Out In1 In2 config Out In1 In2 config Out In1 In2 config Out In1 In2 config Out In1 In2 config Out In1 In2 config Gabriel P. Silva47 FPGA • As interconexões entre as LUts são programáveis. LUT LUT LUT LUT LUT LUT LUT LUT LUT X X X X X X X X X X X X X X X XX Gabriel P. Silva48 FPGA LUT LUT LUT LUT LUT LUT LUT LUT LUT X X X X X X X X X X X X X X X XX Gabriel P. Silva49 FPGA LUT LUT LUT INV OR LUT INV AND LUT X X X X X X X X X X X X X X X XX A B C Out Gabriel P. Silva50 FPGA • Os fabricantes de FPGAs rapidamente percebeam que o uso de flip-flops poderia ser muito útil. • Eles conectaram um flip-flop do tipo D a uma LUT de quatro entradas para formar um “Bloco Lógico Configurável” (CLB) CLB CLB CLB CLB X X X X X Gabriel P. Silva51 FPGA – Bloco Lógico Configurável Gabriel P. Silva52 FPGA – Bloco Lógico Configurável Gabriel P. Silva53 FPGA • A configuração da LUT e da interconexão é volátil, isto é, se perde quando a alimentação é removida. • Existe uma memória não-volátil associada à FPGA de onde a sua configuração é carregada quando o sistema é ligado. • Já que a programação é feita pelo usuário depois da fabricação ela é chamada de programável no campo – field programmable. Gabriel P. Silva54 FPGA • Outros aspectos: – Ferramentas CAD translacionam uma função lógica para o interior de um único bloco lógico – Células de LUTs são voláteis, então são necessárias PROMS ao lado de FPGAs (conteúdo atualizado ao serem alimentadas) – São voláteis pois as células de armazenamento são implementadas com memórias SRAMs (memórias RAM estáticas) – FPGAs são indicados para circuitos com mais de 1 milhão de transistores Gabriel P. Silva55 Encapsulamentos de FPGA Gabriel P. Silva56 ASICs e Gate Arrays Gabriel P. Silva57 Encapsulamentos ASICs Gabriel P. Silva58 Conclusões Slide 1 Slide 2 Consideration: Speed and Power Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 FPGA- Field Programmable Gate Array Slide 40 Slide 41 FPGA- Field Programmable Gate Array Slide 43 FPGA's Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53 Slide 54 Slide 55 Slide 56 Slide 57 Slide 58
Compartilhar