DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP 26/08/2015 Prof. Alexandre - ELP1DLP1 1
26/08/2015 Prof. Alexandre - ELP1DLP1 2
INTRODUÇÃO A LÓGICA DIGITAL Circuitos Integrados (CI): Fonte: Brown, S., Vranesic, Z., Fundamentals of Digital Logic with VHDL. McGraw-Hill, 2009. 26/08/2015 Prof. Alexandre - ELP1DLP1 3
1. FAMILIAS DE CIRCUITOS LÓGICOS DIGITAIS 1.1. Família Lógica TTL 1.2. Família Lógica MOS/CMOS 26/08/2015 Prof. Alexandre - ELP1DLP1 4
1. FAMILIAS DE CIRCUITOS LÓGICOS DIGITAIS 1.1. Família Lógica TTL Dissipação ~10mW/porta Níveis lógicos definidos por faixas: 0V a 0,8V nível lógico 0, de 2V a Vcc (entre 4,75V e 5,25V) nível lógico 1. Maior consumo em repouso. 1.2. Família Lógica MOS/CMOS Baixa dissipação ~10nW/porta Melhor imunidade à ruído Alta impedância define níveis lógicos equivalentes à fonte de alimentação. Mais susceptível à descarga eletroestática Fonte: National Instruments 26/08/2015 Prof. Alexandre - ELP1DLP1 5
INTRODUÇÃO A LÓGICA DIGITAL Lógicas AND, OR, XOR: 26/08/2015 Prof. Alexandre - ELP1DLP1 6
INTRODUÇÃO A LÓGICA DIGITAL A B Y 0 0 0 0 1 0 1 0 0 1 1 1 A Y 0 1 1 0 A B Y 0 0 1 0 1 1 1 0 1 1 1 0 26/08/2015 Prof. Alexandre - ELP1DLP1 7
INTRODUÇÃO A LÓGICA DIGITAL A B Y 0 0 0 0 1 1 1 0 1 1 1 1 A B Y 0 0 1 0 1 0 1 0 0 1 1 0 A B Y 0 0 0 0 1 1 1 0 1 1 1 0 26/08/2015 Prof. Alexandre - ELP1DLP1 8
1. FAMILIAS DE CIRCUITOS LÓGICOS DIGITAIS 1.1. Família Lógica TTL 1.2. Família Lógica MOS/CMOS 26/08/2015 Prof. Alexandre - ELP1DLP1 9
EVOLUÇÃO NA ESCALA DE INTEGRAÇÃO: SSI Small Scale Integration (<12 portas) MSI Medium Scale Integration (>12 <99) LSI Large Scale Integration (milhares) VLSI Very Large Scale Integration (dezenas de milhares) ULSI Ultra Large Scale Integration (> 100.000) GSI Giga Scale Integration (>1.000.000) VANTAGENS DA MAIOR INTEGRAÇÃO: Menor área de placa Menor consumo Menor calor dissipado Maior confiabilidade Maior imunidade a ruído (EMI) 26/08/2015 Prof. Alexandre - ELP1DLP1 10
CARACTERÍSTICAS DOS CIRCUITOS INTEGRADOS DIGITAIS Fan-out Atrasos de propagação Margem de ruído Níveis de tensão inválida Correntes absorvida e fornecida pelas I/O s Encapsulamentos (DIP, SOIC, PLCC, QFP, TQFP, LFBGA,...) Saídas Coletor-Aberto (ou Dreno-aberto) e Totem-pole Saídas Three-state Tensão de alimentação Entradas não usadas (problemas) Compatibilidade elétrica e de pino-a-pino Potência x Freqüência 26/08/2015 Prof. Alexandre - ELP1DLP1 11
REVISÃO DOS PROCEDIMENTOS DE PROJETO DE CIRCUITOS DIGITAIS (Ver Exemplo 4-7) 1. Definição da Tabela-verdade 2. Obtenção da expressão soma-de-produtos 3. Simplificação da expressão usando operações matemáticas (lógica aritmética) ou através do Mapa de Karnaugh 4. Implementação do circuito lógico combinacional 2. 1. 4. Obs: Estes exemplos apresentados não estão relacionados entre si. 3. 26/08/2015 Prof. Alexandre - ELP1DLP1 12
EVOLUÇÃO DA ELETRÔNICA DIGITAL Válvula no início de 1940 Transistor em 1947 Primeiro integrado TTL em 1964 Década de 1970: << 600 portas surge SPLD Simple PLD ( ROM, PLA, PAL, etc ) ASIC s applications specific integrated circuits Década de 1980: >> 600 portas Multiple PLD CPLD (Complex PLD) FPGA Field Programmable Gate Array 26/08/2015 Prof. Alexandre - ELP1DLP1 13
Projetista tem o desafio de encontrar o balanço entre velocidade e generalidade do hardware Chip genérico: Microcontroladores Muitas funções Sacrifício de desempenho Chip dedicado: ASICS Aplicação específica alta velocidade baixo consumo só se justifica em grande quantidade, pois alterações do projeto não são possíveis 26/08/2015 Prof. Alexandre - ELP1DLP1 14
PLA DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Em 1970, a Texas Instruments desenvolveu um circuito integrado programável por máscara baseado na memória associativa da IBM. Este componente, o TMS2000 era programado alterando-se a camada de metal durante a fabricação. O TMS2000 tinha até 17 entradas e 18 saídas com 8 flip-flops JK como memória. A Texas criou o termo Programmable Logic Array (PLA) para este dispositivo. 26/08/2015 Prof. Alexandre - ELP1DLP1 15
PLA Soma de Produtos Anti-fusíveis de conexão de entrada Anti-fusíveis de conexão de saída Resistores pull-up nas entradas das AND Resistores pull-down nas entradas das OR 26/08/2015 Prof. Alexandre - ELP1DLP1 16
PAL A expressão Programmable Array Logic (PAL) é usada para descrever uma família de dispositivos lógicos programáveis semicondutores usada para implementar funções lógicas emcircuitos elétricos, criada pela Monolithic Memories, Inc. (MMI) em meados de 1978. A arquitetura era mais simples que o FPLA Signetics porque omitia a matriz programável OR. Isto tornava os componentes mais rápidos, menores e mais baratos. Fonte: http://pt.wikipedia.org/wiki/dispositivo_lógico_programável 26/08/2015 Prof. Alexandre - ELP1DLP1 17
PAL PAL Soma de Produtos 3 Entradas X1, X2, X3 2 Saídas Z1, Z2 Apenas bloco AND configurável com 6 entradas Bloco OR fixo Construção menor e mais barata Maior velocidade do que os PLA s 26/08/2015 Prof. Alexandre - ELP1DLP1 18
CPLD Complex PLD CPLD Soma de produtos + Flip-flop CPLDs são grupos de macrocélulas: geradores de produtos (product terms) + flipflop Vários PAL s em um Chip 26/08/2015 Prof. Alexandre - ELP1DLP1 19
FPGA Field Programmable Gate Array Não contém bloco AND ou OR 3 Elementos básicos: Blocos I/O, Conexões programáveis, Blocos lógicos. Tudo configurado por software Principais fabricantes: Xilinx Actel, Altera, Plessey, Plus, AMD, QuickLogic 26/08/2015 Prof. Alexandre - ELP1DLP1 20
CPLD x FPGA CPLD Programação armazenada em FLASH Célula lógica (Macrocell) com muitas entradas (até 90) Número limitado de registradores (até 512) Não possui arranjos de memória Atrasos de roteamento determinísticos Projetos simples FPGA Programação armazenada em SRAM (Static Random Access Memory) Célula lógica (Logic Element) com poucas entradas (4 à 6) Grande número de registradores (até 200K) Blocos de memória (até 9.9Mbits) e memória distribuída (até 1.3M bits) Atrasos de roteamento variáveis Projetos complexos 26/08/2015 Prof. Alexandre - ELP1DLP1 21
FPGA Elementos básicos - Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas bidirecionais que incluem buffer, flip-flop de entrada, buffer three-state e flip-flop de saída. - Interconexões Programáveis (Programmable InterConnect): pode ser do tipo SRAM, Anti-fusível ou EPROM. São como interruptores programáveis, geram as pistas de ligação entre os blocos lógicos e blocos de entrada e saída. - Blocos Lógicos Configuráveis (Logic Block): pode ser tão simples como um transistor ou tão complexo quanto um microprossessador. Este bloco é capaz de implementar várias funções combinacionais (através de look-up-table) e seqüenciais (através de flip-flops). 26/08/2015 Prof. Alexandre - ELP1DLP1 22
26/08/2015 Prof. Alexandre - ELP1DLP1 23
FPGA Familias AS FAMÍLIAS DE FPGA SE DIFEREM EM : Formas de realizar a programação; Formas de organização dos condutores de interconexão Funcionalidades dos blocos lógicos **Porém, a diferença mais significativa é a forma de disponibilizar os blocos lógicos e as conexões. 26/08/2015 Prof. Alexandre - ELP1DLP1 24
FPGA Conexões Permanentes Baseada em antifusível -Não volátil -Pequena dimensão -Porém não reprogramável 26/08/2015 Prof. Alexandre - ELP1DLP1 25
FPGA Conexões Reprogramáveis Baseada em latch -Volátil -Relativamente grande -Reprogramável 26/08/2015 Prof. Alexandre - ELP1DLP1 26
FPGA CLB ou Bloco Lógico Bloco Lógico de uma FPGA: Lógica combinatória Flip-flops Saídas com registro ou apenas combinatórias reproduzem qualquer operação combinatória de até 4 entradas 26/08/2015 Prof. Alexandre - ELP1DLP1 27
FPGA CLB Altera Flex8000/10000 26/08/2015 Prof. Alexandre - ELP1DLP1 28
FPGA CLB Xilinx XC4000 C1 C2 C3 C4 H1 DIN S/R EC 13 "pinos" de entrada S/R Control 4 "pinos" de saída 3 geradores de funções 2 flip-flops Funções C permutáveis Aritmética com lógica de carry rápida (não visível) G4 G3 G2 G1 F4 F3 F2 F1 G Function Generator F Function Generator H Function Generator DIN F' G' H' G' H' DIN F' G' H' 1 S/R Control D SD Q EC RD D SD Q YQ Y XQ K H' F' 1 EC RD X 26/08/2015 Prof. Alexandre - ELP1DLP1 29
FPGA Input/Output Blocks Periferia de IOBs idênticos Entrada (I), saída (O), ou bidireccional (I/O); Com registo (Clock) ou apenas combinatório; Saída three-state (TS) I O TS Clock IOB Pad Ligado ao Pino 26/08/2015 Prof. Alexandre - ELP1DLP1 30
FPGA IOB Xilinx 4000 OE Slew Rate Control Passive Pull-Up, Pull-Down Vcc IOB s -Interface entre uma FPGA e o resto do sistema O Output Clock I 1 D Q Output Buffer Input Buffer Pad -O FPGA XC 4000 Xilinx tem 80 IOB s - Se localizam na periferia do chip I 2 Q D Delay Input Clock 26/08/2015 Prof. Alexandre - ELP1DLP1 31
FPGA Switch Box SB s - Switch Box Finalidade: Permite a interconexão entre os CLB s através dos canais de roteamento (linhas); 26/08/2015 Prof. Alexandre - ELP1DLP1 32
FPGA Exemplo de Função x1 x2 f1 0 0 0 0 1 0 1 0 0 1 1 1 f1 f2 f2 0 0 0 0 1 1 1 0 1 1 1 1 26/08/2015 Prof. Alexandre - ELP1DLP1 33
FPGA Vantagens Menor área de placa Menor consumo Menor calor dissipado Maior confiabilidade Maior imunidade a ruído (EMI) Flexibilidade de alteração funcional Rapidez de desenvolvimento (time to market) Redução dos custos de obtenção de protótipos Tecnologia de (re)programação SRAM (reutilização) 26/08/2015 Prof. Alexandre - ELP1DLP1 34
CPLDs e FPGAs Comerciais 26/08/2015 Prof. Alexandre - ELP1DLP1 35
FPGA Característica de Projeto 26/08/2015 Prof. Alexandre - ELP1DLP1 36
FPGA Módulo Básico MUX 4:1 Como obter um LATCH RS???? 26/08/2015 Prof. Alexandre - ELP1DLP1 37
FPGA Módulo Básico MUX 4:1 trabalhando com LATCH RS 26/08/2015 Prof. Alexandre - ELP1DLP1 38