Logica_Programavel

28
13/09/2009 1 Dispositivos Lógicos Programáveis Prof. Johelden Campos Bezerra Considerações Gerais Objetivo do estudo: Entender a lógica dos dispositivos programáveis; Conhecer a estrutura dos dispositivos lógicos e programáveis.

description

Conceitos de lógica programável

Transcript of Logica_Programavel

  • 13/09/2009

    1

    Dispositivos Lgicos ProgramveisProf. Johelden Campos Bezerra

    Consideraes Gerais

    Objetivo do estudo: Entender a lgica dos dispositivos programveis; Conhecer a estrutura dos dispositivos lgicos e programveis.

  • 13/09/2009

    2

    Circuitos Lgicos

    Qualquer circuito lgico pode ser implementado com portas lgicas (AND, OR, NOT).

    Classificao dos Cir. Lgicos: Combinacionais: As sadas dependem somente dos nveis lgicas das entradas;

    Sequenciais: As sadas dependem dos nveis lgicas das entradas e do que aconteceu com a entrada no tempo passado;

    Circuitos Integrados (CI) Dois tipos de de CIs

    CIs discretos

    TTL e CMOS;

    Possuem lgica interna fixa, predefinida de fbrica.

    EX: Portas AND (7408), Multiplex, Contadores, etc.

    CIs Programveis

    ASICs (Application Specific Integrated Circuits

    circuitos integrados de aplicaes especficas)

    PLD (Dispositivo Lgico Programvel).

  • 13/09/2009

    3

    PLDs (Programmable Logic Devices -Dispositivo Lgico Programvel)

    Incio dos anos 70.

    Classificados em:

    SPLDs (simples PLDs)

    HCPLDs (PLDs de alta complexidade)

    SPLDs (simples PLDs)

    Funes simples, baixa capacidade e poucos pinos de

    interconexo, exemplos:

    PAL (Programmable Array Logic Matrizes Lgicas

    Programveis): Tecnologia bipolar. Tem cerca de 100 a 1000 portas lgicas e 28

    pinos de interconexo. S permite uma gravao. Consumo alto de

    energia.

    PLDs (Programmable Logic Devices -Dispositivo Lgico Programvel)

    HCPLDs (PLDs de alta complexidade) CPLD: Funes complexas, mdia densidade e muitos pinos de interconexo. Tecnologia CMOS. Disponvel com EPROM, EEPROM, FLASH, SRAM e Anti-fuse(contrrio do fusvel).

    FPGA: Funes complexas, alta densidade e muitos pinos de interconexo. Tecnologia CMOS. Disponvel com EPROM, EEPROM, FLASH, SRAM e Anti-fuse(contrrio do fusvel).

  • 13/09/2009

    4

    13/09/2009

    7

    Tipos de PLDs

    PLA (Programmable Logic Array); PAL (Programmable Array Logic); CPLD (Complex Programmable Logic Device); FPGA (Field Programmable Gate Array).

    Tipos de PLDs

  • 13/09/2009

    5

    13/09/2009

    10

    Quais as vantagens da lgica (re)configurvel?

    1. Facilidade para desenvolver prottipos;2. Melhoria da eficincia de projeto;3. Facilidade para introduzir mudanas em um projeto

    de hardware;4. Reduo do risco financeiro no desenvolvimento de

    novos projetos;5. Rpida produo;

  • 13/09/2009

    6

    13/09/2009

    11

    6. Reduz a quantidade de componentes lgicos e deinterconexes em uma placa de sistema digital, poispermite substitu-los por um nico CI;

    7. Menor rea utilizada na placa; 8. Menor consumo de potncia;9. Maior confiabilidade.

    Quais as vantagens da lgica (re)configurvel?

    13/09/2009

    12

    Memria PROM (Programmable ROM)

    A memria ROM programvel (PROM) uma memriaapenas de leitura que pode ser gravada uma vez pelousurio, atravs da queima dos fusveis internos.

    O primeiro chip no-voltil programvel pelo usurio.

    Linhas de endereo servem como entradas, e linhas dedados como sadas.

    Uma PROM pode implementar qualquer circuitocombinacional.

  • 13/09/2009

    7

    13/09/2009

    13

    PLDs Programmable Logic Devices

    Um dispositivo lgico programvel (PLD) um CI quepossui uma estrutura interna com um grande nmero deportas lgicas, e mesmo flip-flops e registradores,interligados com conexes que podem ser modificadas.

    Um PLD precisa oferecer uma forma de se alterar as suasinterconexes internas, para formar diferentesconfiguraes lgicas.

    Um PLD pode ser configurado pelo usurio comoqualquer circuito combinacional ou sequencial.

    13/09/2009

    14

    Tipos de chaves programveis

    Tipo de chave Reprogramvel? Voltil? Tecnologia

    Fusvel No No Bipolar

    Anti-fusvel No No CMOS

    EPROM / EEPROM Sim No CMOSSRAM Sim Sim CMOS

    Alguns PLDs permitem que suas conexes internas sejamalteradas vrias vezes, outros o permitem somente umanica vez.

    Isso depende da tecnologia de suas chaves internas.

  • 13/09/2009

    8

    13/09/2009

    15

    Fusvel Alta corrente eltrica na programao, para "abrir" osfusveis;

    Pouco utilizado atualmente e um processo irreversvel

    Tipos de chaves programveis

    Anti-fusvel Derretimento de um material separando doiscondutores.

    Processo irreversvel.

    Tipos de chaves programveis

  • 13/09/2009

    9

    EPROM / EEPROM As conexes dependem de informao binriaarmazenada.

    Uma clula de memria existe em cada ponto deconexo para armazenar um '0' para (por exemplo)manter uma conexo, ou um '1' para desabilit-la.

    A configurao das conexes no-voltil.

    Tipos de chaves programveis

    13/09/2009

    18

    Chaves Controladas por SRAM

    Se bit = 1, transistor ON: chave fechada.

    Se bit = 0, transistor OFF: chave aberta

    Rpida reprogramaono incio de cadaoperao.

  • 13/09/2009

    10

    13/09/2009

    19

    O projetista no precisa escolher diretamente aforma de interconexo dos componentes.

    A configurao da funo lgica feita por meiode uma descrio do hardware em uma HDL(Linguagem de Descrio de Hardware).

    PLDs Programmable Logic Devices

    PLD

  • 13/09/2009

    11

    13/09/2009

    22

    Um PLA (arranjo lgico programvel) um PLDcombinacional com uma estrutura lgica internaconsistindo de portas AND-OR criando somas deprodutos.

    O plano AND gera termos produtos das variveis deentrada e o plano OR gera quaisquer somas dessesprodutos.

    Tanto o plano AND quanto o plano OR soprogramveis, garantindo uma grande flexibilidade.

    PLA - Programmable Logic Array

  • 13/09/2009

    12

    PLA

    PLA Forma Simplificada

  • 13/09/2009

    13

    13/09/2009

    25

    25

    Exemplo: PLA 4x3, 6 termos produto

    13/09/2009

    26

    26

    PLA: Representao Compacta

  • 13/09/2009

    14

    13/09/2009

    27

    Automao de projeto em PLA

    Simplificao das expresses de funesbooleanas complexas por meio de ferramentascomputacionais;

    Seleo do menor nmero de termos produtoque cubra todas as funes;

    Programao do PLA.

    Exemplo do Resultados de uma programao em PLA

  • 13/09/2009

    15

    13/09/2009

    29

    Muitas aplicaes no requerem a versatilidadedo PLA.

    Um PAL tem conexes programveis somentepara as entradas das portas AND. Ele consiste deum plano AND programvel e um plano OR fixo.

    Quaisquer entradas podem ser multiplicadas noplano AND, mas o plano OR gera uma soma deprodutos fixa.

    PAL - Programmable Array Logic

    13/09/2009

    30

    O PAL mais fcil de fabricar, mais rpido, e demaior densidade lgica.

    Conexes fixas acarretam um retardo menor queconexes programveis.

    PAL PAL -- ProgrammableProgrammable ArrayArray LogicLogic

  • 13/09/2009

    16

    PAL - Programmable Array Logic

    13/09/2009

    32

    O PAL tem somente as aportas AND programveis,ou seja, enquanto as portasOR so pr-conectadas emfbrica, todas as portas ANDpodem ser programadas.

    Arranjos AND programveis

    Arranjos OR fixos

    X ligaes fixas- ligaes programveis

    PAL - Programmable Array Logic

  • 13/09/2009

    17

    Flip-flops conectados s sadas de alguns modelos permitemimplementar circuitos sequenciais.

    PAL - Programmable Array Logic

    13/09/2009

    34

    PAL - Programmable Array Logic

  • 13/09/2009

    18

    13/09/2009

    36

    CPLD Complex PLD

    - Maiores e mais complexos logicamente, so baseadosem macroclulas.

    - Macroclulas so blocos de circuito com funoreconfigurvel, repetidos dentro de um CPLD. Soestruturas mais genricas e versteis que astradicionais rvores AND-OR dos PLD's;

    - O CPLD um CI contendo vrios arranjosbidimensionais de macroclulas, interligadas por meiode barramentos de conexes programveis.

    - CPLDs comerciais: 2 at 100 blocos de PLAs.- CPLD Incio dos anos 80 (ALTERA)

  • 13/09/2009

    19

    CPLD Complex PLD

    Exemplo de CPLD:

    CPLD Complex PLD

    Exemplo de CPLD:- Estrutura que contm 4 blocos PAL interconectados

  • 13/09/2009

    20

    13/09/2009

    39

    CPLD CPLD ComplexComplex PLDPLD

    Os multiplexadores socontrolados por conexesprogramveis.

    A macroclula podeser combinacional ousequencial.

    CPLD ALTERA

    MAX II Development Board

  • 13/09/2009

    21

    Programando um CPLD

    FPGA - Field Programmable Gate Array

    Uma maneira de medir a densidade de cada PLD saberquantas portas NAND seriam necessrias para construircada um, assim tem-se: PAL com 8 macroclulas 160 NANDs CPLDs com 500 macroclulas 10.000 NANDs

    Para os modernos padro 10.000 portas NANDno muito!

    O FPGA um PLD que atende at os projetos decircuitos lgicos relativamente grandes.

    FPGA- Incio dos anos 80 (Xilinx)

  • 13/09/2009

    22

    13/09/2009

    43

    FPGA - Field Programmable Gate Array

    um PLD com uma arquitetura baseada em umarranjo de blocos lgicos configurveis (CLB's -Configurable Logic Blocks) contendo portaslgicas e flip-flops para implementar funeslgicas.

    Os CLB's so independentes e dissociados;

    OsOs CLB'sCLB's soso equivalentesequivalentes ss macroclulasmacroclulas dosdosCPLD'sCPLD's..

    13/09/2009

    44

    FPGA - Field Programmable Gate Arrays

    Benefcios: alta capacidade lgica (VLSI), baixocusto inicial, baixo risco;

    timas ferramentas de CAD disponveis; Principais fabricantes: Xilinx, Altera, Actel,QuickLogic;

    Envolvidos na prototipao de dispositivos queviro a ser ASIC's.

  • 13/09/2009

    23

    13/09/2009

    45

    O FPGA tambm contm blocos de entrada esada (IOB Input/Output Blocks), que soresponsveis pelo interfaceamento entre as sadasprovenientes das combinaes de CLB's.

    Arquitetura mais flexvel e mais densa.

    FPGA - Field Programmable Gate Array

    13/09/2009

    46

    Matriz de conexes permitem ligar os blocos lgicos de maneira conveniente. Uso de 100% das macroclulas difcil de ser atingido.

    FPGA - Field Programmable Gate Array

  • 13/09/2009

    24

    13/09/2009

    47

    FPGA- Field Programmable Gate Array*Estrutura Geral - Interna

    13/09/2009

    48

    FPGA Estrutura dos CLB's (Blocos de Lgica Programveis) A estrutura interna tpica de um CLB consiste em flip-flops, uma estrutura de funo combinatria paraimplementar as funes lgicas, vrios multiplexadorespara flexibilidade e at pequenos microprocessadores.

    FPGA x CPLD: Blocos lgicos do FPGA contm poucas portas lgicas e um flip

    flop; Blocos lgicos do CPLD contm mltiplas macro-clulas.

    Os CLB mais utilizados usam LUT (lookup table).

  • 13/09/2009

    25

    As LUTs sovolteis, por issoos circuitos FPGAsusam memriasFLASH paracarregamento dasclulas LUTs.

    O tamanho comercial do LUT contm 4 ou 5 entradas.

  • 13/09/2009

    26

    Estrutura comercial do BLP com LUT

  • 13/09/2009

    27

    FPGA ALTERA: Cyclone II

    13/09/2009

    54

    Contm tabelas de consulta em RAM (look-uptables): 2^k x 1bit que realizam funes lgicasde k entradas; (tipicamente k = 4 ou 5)

    Melhor para aplicaes baseadas emregistradores, e aplicaes sequnciais compipeline;

    Melhor escolha para grande projetos lgicos.

    FPGA- Field Programmable Gate Array

  • 13/09/2009

    28

    13/09/2009

    55

    Aplicaes de FPGA's

    Circuitos digitais em geral;

    Grandes sistemas, atravs da interconexo de vrios FPGA's;

    Computao Virtual: as partes crticas dosalgoritmos so implementadas em hardware(FPGA's).

    DVD players; circuitos de controle deprocessos industriais; Roteadores de Inetrnet,switches

    13/09/2009

    56

    CAD para FPGA's

    Necessita de ferramentas adicionais: Um mapeador para adaptar o circuito lgico aosblocos lgicos do FPGA;

    Uma ferramenta de posicionamento para escolheros blocos especficos do FPGA;

    Um roteador para alocar segmentos de trilhas nainterconexo dos blocos lgicos.