43
unesp UNIVERSIDADE ESTADUAL PAULISTA Campus de Guaratinguetá Colégio Técnico Industrial de Guaratinguetá “Professor Carlos Augusto Patrício Amorim” Dispositivos Lógicos Programáveis Autores Caio Augusto de Oliveira Jéssica Azevedo de Aguiar Mateus Galvão Said Fontanini Revisão Prof. Marcelo Wendling

logica-programavel

Embed Size (px)

DESCRIPTION

Lógica program´vel

Citation preview

  • unesp UNIVERSIDADE ESTADUAL PAULISTA

    Campus de Guaratinguet

    Colgio Tcnico Industrial de Guaratinguet Professor Carlos Augusto Patrcio Amorim

    Dispositivos Lgicos

    Programveis

    Autores

    Caio Augusto de Oliveira

    Jssica Azevedo de Aguiar

    Mateus Galvo Said Fontanini

    Reviso

    Prof. Marcelo Wendling

  • 2

    Dispositivos de Lgica Programvel

    Sumrio

    1. Introduo ...................................................................................................................................... 4

    2. Lgica Programvel .................................................................................................................... 5

    2.1. Tecnologia FPGA ............................................................................................................................... 10

    2.2. Blocos Lgicos de FPGA ................................................................................................................. 11

    2.3. Granularidade .................................................................................................................................... 12

    2.4. Arquitetura geral de roteamento ............................................................................................... 12

    2.5. Tcnicas de Configurao ............................................................................................................. 13

    2.6. Famlia de FPGAs disponveis no mercado ............................................................................ 15

    3. Desenvolvimento de projetos utilizando FPGA .............................................................. 17

    3.1. Especificao e entrada de projetos.......................................................................................... 17

    3.2. Sntese Lgica e mapeamento da tecnologia ......................................................................... 18

    3.3. Posicionamento e Roteamento ................................................................................................... 19

    3.4. Verificao e Teste ........................................................................................................................... 19

    3.5. Programao do FPGA .................................................................................................................... 20

    4. Ambiente de Software EDA .................................................................................................... 21

    4.1. Software QuartusII ........................................................................................................................ 22

    4.2. Criando Projeto com QuartusII ................................................................................................ 22

    4.3. Desenvolvendo um projeto usando diagrama esquemtico ........................................... 23

    4.4. Simulao de Projetos .................................................................................................................... 27

    4.5. Definio dos pinos de I/O ........................................................................................................... 33

    4.6. Gravao no FPGA ............................................................................................................................ 34

    5. Dicas .............................................................................................................................................. 35

    5.1. Biblioteca Primitiva ......................................................................................................................... 35

    Flip Flop e Latches ........................................................................................................................... 36

    Buffers .................................................................................................................................................. 37

    Terminais E/S ................................................................................................................................... 38

    5.2. Biblioteca de Megafunes ........................................................................................................... 38

    Componentes Aritmticos ............................................................................................................ 38

    Portas ................................................................................................................................................... 39

  • 3

    Dispositivos de Lgica Programvel

    Componentes de E/S ...................................................................................................................... 40

    Compilador de Armazenamento ................................................................................................ 41

    5.3. Famlia 74XX ...................................................................................................................................... 41

    5.4. Criando smbolos .............................................................................................................................. 42

    6. Bibliografia ................................................................................................................................. 43

  • 4

    Dispositivos de Lgica Programvel

    1. Introduo

    A crescente evoluo do mercado de circuitos eletrnicos visvel. Um exemplo

    para esta afirmao o mercado mundial, influenciado drasticamente pela produo de

    componentes eletrnicos nos pases chamados de tigres asiticos e no vale do silcio.

    Pode-se citar alguns pontos na histria da eletrnica que foram marcantes para sua

    evoluo: a inveno da vlvula, a criao dos transistores, a evoluo para circuitos

    integrados e a construo de microprocessadores. Porm, muitos autores citam que a

    verdadeira virada no mercado eletrnico do sculo XX foi a criao dos circuitos de

    aplicao especfica e o aperfeioamento do hardware reconfigurvel dos Dispositivos

    Lgicos Reprogramveis (Programmable Logic Device - PLD).

    Para muitos projetos de hardware, o custo da prototipao impedia a construo

    de sistemas confiveis, fazendo com que mquinas fossem desenvolvidas e distribudas

    com alguns defeitos, sendo estes descobertos de forma drstica por usurios, resultando

    em um aumento no custo de utilizao. A promessa da computao reconfigurvel um

    hardware virtual, podendo emular vrios sistemas complexos de forma transparente

    ao usurio.

    O potencial de crescimento de atividades relacionadas ao PLD num futuro

    prximo muito grande. A automatizao dos processos industriais cada vez mais

    intensa, e ao longo dos prximos anos, simplificar e acelerar ainda mais todo o ciclo de

    desenvolvimento de projetos, em velocidade impressionante.

  • 5

    Dispositivos de Lgica Programvel

    2. Lgica Programvel

    Os circuitos integrados digitais implementados em pastilha de silcio podem ser

    classificados como circuitos digitais padro ou circuitos digitais de aplicaes especficas

    ASICs (Aplication Specific Integrated Circuits).

    Os circuitos padres so constitudos por portas lgicas (AND,OR,NOT e Flip

    Flops) e necessitam de vrios componentes externos para a realizao de uma funo

    especfica. Os circuitos integrados ASICs so aqueles que precisam de um processo de

    fabricao especial, que requer mscaras especficas para cada projeto. Outra

    caracterstica dos circuitos integrados ASICs o tempo de desenvolvimento longo e os

    custos extremamente altos. Geralmente no necessitam de muitos componentes

    externos para a realizao de uma funo especfica, pois sua alta densidade os torna

    aptos para a implementao de vrios tipos de aplicao. Em ambos os casos, os

    circuitos integrados digitais possuem suas funes internas predefinidas,

    implementadas na sua construo no processo de fabricao.

    O desenvolvimento de projeto de circuitos digitais tem evoludo rapidamente nas

    ltimas dcadas. A utilizao da ferramenta de software denominada EDA (Eletronic

    Design Automation) e o aperfeioamento dos PLDs (Programmable Logic Devices) tm

    simplificado e acelerado todo o ciclo de projeto.

    Os PLD so circuitos integrados que podem ser configurados pelo prprio

    usurio. No apresentam uma funo lgica definida, at que sejam configurados.

    Possuem, como principal caracterstica, a capacidade de programao das funes

    lgicas pelo usurio, eliminando-a do processo de fabricao do circuito integrado, o que

    facilita, assim, as provveis mudanas de projeto. Em comparao com outras

    tecnologias de circuitos integrados digitais, os dispositivos de lgica programvel

    apresentam um ciclo de projeto menor e custos reduzidos.

    Os controladores lgicos programveis disponveis no mercado brasileiro

    utilizam na sua arquitetura microcontroladores e circuitos integrados de aplicaes

    especficas ASICs.

    Esses microcontroladores, para executar seus programas de controle, necesitam

    realizar ciclos de busca e execuo de instruo. O ciclo de busca da instruo no est

    diretamente relacionado com o processo no qual o controlador lgico programvel est

  • 6

    Dispositivos de Lgica Programvel

    inserido, mas a condio determinante para o microcontrolador executar o programa

    que est carregado na memria.

    Essa necessidade de busca da instruo demanda tempo do microcomputador,

    que poderia estar sendo utilizado na execuo de tarefas pertinentes ao processo.

    Os microcontroladores so componentes extremamente flexveis devido a sua

    programabilidade. Essa programao permite sua aplicao em diversos tipos de

    controles industriais.

    A execuo de um algoritmo de controle depende de seu software, armazenado

    em memria, que ser executado numa arquitetura baseada em microprocessador, com

    ciclo de buscas e execuo das instrues.

    Numa arquitetura baseada em dispositivo lgico programvel, por exemplo,

    FPGA (Field Programmable Gate Array),um algoritmo de controle implementado por

    hardware, sem a necessidade de ciclos de busca e execuo de instrues.

    O problema bsico a ser resolvido a implementao de uma arquitetura

    eficiente, baseada em lgica programvel estruturada, para execuo desse algoritmo de

    controle, em vez de compil-lo para sua execuo em microprocessador.

    A tarefa que faz a traduo de um algoritmo para uma arquitetura de

    hardware eficiente denominada sntese. A sntese cria uma arquitetura com clulas

    lgicas que executam as operaes do algoritmo, sem a necessidade de se gerar e

    decodificar instrues.

    Uma das grandes vantagens da utilizao de dispositivos lgicos programveis

    nessa nova arquitetura proposta a possibilidade de se definir vrios blocos de

    hardware, que operam em paralelo, aumentando muito a capacidade computacional do

    sistema.

    Os dispositivos lgicos programveis (PLDs) foram os dispositivos eletrnicos

    que possibilitaram a implementao de Lgica Programvel Estruturada. Os PLDs

    podem ser classificados em funo de portas lgicas que comportam, como descrito a

    seguir:

    (1) SPLDs (Simple Programmable Logic Devices): So dispositivos simples e de baixa

    capacidade, que tipicamente contm menos de 600 portas lgicas, fabricados com

    tecnologia CMOS.

  • 7

    Dispositivos de Lgica Programvel

    (2) HCPLDs (High Complex Programmable Logic Devices): So dispositivos de alta

    capacidade, que tipicamente contm mais de 600 portas lgicas; os mais modernos

    podem atingir cerca de 250.000 portas e englobam os dispositivos CPLDs (Complex

    Programmable Logic Devices) e FPGAs (Field Programmable Gate Arrays), todos

    fabricados com tecnologia CMOS.

    SPLDs

    Os PLAs (Programmables Logic Arrays) foram os primeiros Dispositivos Lgicos

    Programveis Simples (SPLDS) criados especificamente para a implementao de

    circuitos lgicos. Introduzidos pela empresa Philips no incio de 1970, esses dispositivos

    consistem em dois nveis de portas lgicas: um plano de portas AND seguido por um

    plano de portas OR, ambos programveis, como mostra a figura 1.

    Um PLA estruturado de forma que cada sada do plano AND pode corresponder

    a qualquer produto das entradas. Da mesma forma, cada sada do plano OR pode ser

    configurada para produzir a soma lgica de quaisquer sadas do plano AND.

    Figura 1 Estrutura simplificado de um PLA.

  • 8

    Dispositivos de Lgica Programvel

    Em virtude da estrutura montada, os PLA so adequados para as implementaes

    de funes lgicas na forma de produtos de soma, e eles se apresentam muito versteis,

    pois tanto os termos AND como os termos OR podem possuir muitas entradas.

    Entretanto, essa tecnologia tambm apresenta problemas como alto custo de

    fabricao e baixo desempenho em termos de velocidade. Essas desvantagens existem

    devido aos dois nveis de lgica configurvel. Os planos lgicos programveis so difceis

    de serem fabricados e introduzem atrasos significativos de propagao dos sinais

    eltricos.

    A tecnologia PAL ( Programmable Array Logic ) foi ento desenvolvida para

    super deficincias apresentadas pela tecnologia PLA. Os PALs apresentam um nico

    plano AND configurvel, figura 2, custo menor e melhor desempenho.

    Figura 2 Estrutura simplificado de um PAL.

  • 9

    Dispositivos de Lgica Programvel

    HCPLDs

    Quanto maior o nmero de portas de um PLD, maior ser a sua complexidade. Os

    Dispositivos Lgicos de Alta Complexidade (HCPLD) dividem-se basicamente em dois

    grupos: CPLD e FPGA.

    A diferena bsica entre os dois dispositivos est na estrutura interna de suas

    clulas lgicas e na metodologia da interligao dessas clulas. De forma geral,

    internamente, os HCPLDs podem ser vistos como dispositivos que integram na sua

    estrutura centenas de macroclulas programveis, que so interligadas por conexes

    tambm programveis.

    Os Dispositivos Lgicos Programveis Complexos (CPLDs) foram introduzidos no

    mercado internacional pela empresa Altera Corp. em 1983, inicialmente como

    Dispositivos Lgicos Programveis Apagveis (EPLDs) e, posteriormente, como CPLDs.

    Os CPLDs so dispositivos programveis e reprogramveis pelo usurio, com alto

    desempenho, baixo custo por funo e alta capacidade de integrao. Um CPLD pode ser

    aplicado, por exemplo, como uma mquina de estado ou decodificador de sinais,

    substituindo centenas de circuitos discretos que implementariam a mesma funo.

    Os CPLDs implementam capacidade lgica de at 50 dispositivos PLDs tpicos.

    Suas principais vantagens em relao aos circuitos discretos ASICs tradicionais so:

    (a) Programabilidade e Reprogramabilidade: Permite que funes lgicas possam

    ser alteradas, simplificando o desenvolvimento de prottipos.

    (b) Tecnologia CMOS: Menor Consumo de energia eltrica.

    (c) Integrao em larga escala: Reduo de tamanho da placa de circuito impresso,

    pois possibilita a eliminao de diversos componentes discretos.

    (d) Simplificao e reduo do tempo de desenvolvimento: Simplifica e reduz o

    tempo de desenvolvimento da placa de circuito impresso, pois permite que o

  • 10

    Dispositivos de Lgica Programvel

    projetista defina os sinais eltricos conforme desejado: entradas ou sadas podem

    ocupar o mesmo terminal do dispositivo.

    (e) Teste e depurao: As linguagens utilizadas na programao do dispositivo

    permitem a simulao, teste e depurao rpida do prottipo.

    2.1. Tecnologia FPGA

    Os dipositivos ASICs, SPLDs e CPLDs, descritos nas sees anteriores, permitem a

    implementao de uma grande variedade de circuitos lgicos. Contudo, com exceo dos

    CPLDs, aqueles componentes possuem baixa capacidade lgica e so viveis apenas para

    aplicaes relativamente pequenas.

    At mesmo para os CPLDs, apenas circuitos moderadamente grandes podem ser

    acomodados em um nico circuito integrado. Para se implementar circuitos lgicos

    maiores, conveniente utilizar-se de outro tipo de dispositivo HCPLD que possua

    capacidade lgica maior.

    O FPGA um HCPLD que suporta a implementao de circuitos lgicos

    relativamente grandes. Consiste em um grande arranjo de clulas lgicas ou blocos

    lgicos configurveis contidos em um nico circuito integrado. Cada clula contm

    capacidade computacional para implementar funes lgicas e realizar roteamento para

    comunicao entre elas. O primeiro FPGA disponvel comercialmente foi desenvolvido

    pela empresa Xilinx Inc., em 1983.

    Os FPGAs no possuem planos OR ou AND, consistem em um grande arranjo de

    clulas configurveis que podem ser utilizadas para a implementao de funes lgicas.

    Basicamente constituda por blocos lgicos, blocos de entrada e sada, e chaves de

    interconexo. Os blocos lgicos formam uma matriz bidimensional, e as chaves de

    interconexo so organizadas como canais de roteamento horizontal e vertical entre as

    linhas e colunas de blocos lgicos. Esses canais de roteamento possuem chaves de

    interligao programveis que permitem conectar os blocos lgicos de maneira

    conveniente, em funo das necessidades de cada projeto. A figura 3 mostra a estrutura

    bsica de um FPGA.

  • 11

    Dispositivos de Lgica Programvel

    Figura 3 Estrutura simplificada de um FPGA.

    2.2. Blocos Lgicos de FPGA

    No interior de cada bloco lgico de FPGA existem vrios modos possveis para

    implementao de funes lgicas. O mais utilizado pelos fabricantes de FPGA como, por

    exemplo, a empresa Altera Corp., o bloco de memria LUT ( Look Up Table).

    Esse tipo de bloco lgico contm clulas de armazenamento que so utilizadas

    para implementar pequenas funes lgicas. Cada clula capaz de armazenar um nico

    valor lgico, zero (0) ou um (1).

    Nos FPGAs disponveis comercialmente como, por exemplo, da empresa Altera

    Corp., os blocos lgicos LUTs possuem geralmente quatro ou cinco entradas, o que

    permite enderear 16 ou 32 clulas de armazenamento.

    Quando um circuito lgico sintetizado em um FPGA, os blocos lgicos so

    programados para realizar as funes necessrias, e os canais de roteamento so

    estruturados de forma a realizar a interconexo necessria entre os blocos lgicos.

    As clulas de armazenamento dos LUTs de um FPGA so volteis, o que implica

    perda do contedo armazenado, no caso de falta de suprimento de energia eltrica.

    Dessa forma, o FPGA dever se programado toda vez que for energizado. Geralmente

    utiliza-se uma pequena memria FLASH ou EEPROM (Electrically Erasable

  • 12

    Dispositivos de Lgica Programvel

    Programmable Read Only Memory), cuja funo carregar automaticamente as clulas

    de armazenamento, toda vez que o FPGA for energizado.

    2.3. Granularidade

    Granularidade uma caracterstica dos FPGAs relacionada com o gro. O gro a

    menor unidade configurvel que compe um FPGA. A fim de classificar os FPGAs quanto

    ao bloco lgico, foram criadas algumas categorias.

    (a) Gro Grande: Os FPGAs dessa categoria podem possuir como gro unidades lgicas

    aritmticas, pequenos microprocessadores e memrias.

    (b) Gro Mdio: Os FPGAs de gro mdio frequentemente contm dois ou mais LUTs e

    dois ou mais flip-flops. A maioria das arquiteturas de FPGAs implementam a lgica

    em LUTs de quatro entradas.

    (c) Gro Pequeno: Os FPGAs de gro pequeno contm um grande nmero de blocos

    lgicos simples. Os blocos lgicos normalmente contm uma funo lgica de duas

    entradas ou multiplexadores 4x1 e um flip-flop.

    2.4. Arquitetura geral de roteamento

    A arquitetura de roteamento de um FPGA a forma pela qual os seus

    barramentos e as chaves de comutao so posicionadas para permitir a interconexo

    entre as clulas lgicas.

    Essa arquitetura deve permitir que se obtenha um roteamento completo e, ao

    mesmo tempo, alta densidade de portas lgicas. Para melhorar a compreenso dessa

    arquitetura necessria a definio de alguns conceitos bsicos, sendo que parte deles

    exemplificada na figura 4.

  • 13

    Dispositivos de Lgica Programvel

    Figura 4 Arquitetura bsica de roteamento de um FPGA.

    (a) Pinos: Entrada e Sada de blocos lgicos.

    (b) Conexo: Ligao eltrica de um par de pinos

    (c) Rede: Conjunto de pinos que esto conectados.

    (d) Bloco de Comutao: Utilizado para conectar os segmentos da trilha.

    (e) Segmentos da Trilha: Segmento no interrompido por chaves programveis.

    (f) Canal de Roteamento: Grupo de 2 ou mais 3 trilhas paralelas.

    (g) Bloco de Conexo: Permite a conectividade das entradas e sadas de um bloco lgico

    com os segmentos de trilhas nos canais.

    2.5. Tcnicas de Configurao

    As chaves programveis de roteamento apresentam algumas propriedades, tais

    como tamanho, resistncia, capacitncia e tecnologia de fabricao, que afetam

    principalmente a velocidade e o tempo de propagao dos sinais e definem

    caractersticas como volatilidade e capacidade de reprogramao.

    Na escolha de um dispositivo reconfigurvel, esses fatores devem ser avaliados.

    Basicamente existem trs tipos de tecnologia de programao das chaves de

    roteamento.

  • 14

    Dispositivos de Lgica Programvel

    (a) SRAM (Static Random Access Memory): Nessa tecnologia, a chave de roteamento ou

    comutador um transistor de passagem ou um multiplexador controlado por uma

    memria esttica de acesso randmico SRAM. A figura 5 ilustra essa tecnologia de

    programao, na qual uma clula SRAM utilizada para controlar a porta (gate) do

    transistor de passagem. Devido a volatilidade dessas memrias, os FPGAs que se

    utilizam dessa tecnologia precisam de uma memria externa tipo FLASH ou

    EEPROM. Essa tecnologia ocupa muito espao no circuito integrado, porm

    rapidamente reprogramvel.

    Figura 5 Utilizao da tecnologia SRAM para controle de transistor de passagem.

    (b) Antifuse: Essa tecnologia baseia-se num dispositivo de dois terminais, que no estado

    no programado apresenta uma alta impedncia (circuito aberto). Aplicando-se a

    uma tenso, por exemplo, entre 11 e 20 Vdc, o dispositivo forma um caminho de baixa

    impedncia entre seus terminais.

    (c) Gate Flutuante: A tecnologia Gate flutuante baseia-se em transistores MOS (Metal

    Oxide Semicondutor), especialmente construdos com dois Gates flutuantes

    semelhantes ao usados nas memrias EPROM (Erasable Programmable Read Only

    Memory) e EEPROM (Electrical EPROM). A maior vantagem dessa tecnologia sua

    capacidade de programao e a reteno dos dados. Alm disso, da mesma forma que

  • 15

    Dispositivos de Lgica Programvel

    uma memria EEPROM, os dados podem ser programados com o circuito integrado

    instalado na placa, caracterstica denominada ISP (In System Programmability).

    2.6. Famlia de FPGAs disponveis no mercado

    A famlia de FPGAs, fabricada pela empresa Altera Corp., consiste em uma

    hierarquia de trs nveis muito similar encontrada nos CPLDs. Contudo, o nvel mais

    baixo da hierarquia consiste em um conjunto de clulas lgicas como nos SPLDs (Single

    Programmable Logic Devices).

    A famlia de FPGAs da empresa Altera baseada em tecnologia SRAM e possui

    uma LUT de quatro entradas como seu elemento lgico bsico LE (Logic Element). Sua

    capacidade lgica est na faixa de 576 a 68.416 elementos lgicos (LEs). A arquitetura

    interna bsica da famlia Altera, figura 6, contm trs tipos de clulas lgica: Elemento

    lgico(LE), bloco de matriz lgica (LAB) e bloco de memria embutido (EAB).

    Figura 6 Arquitetura interna bsica dos FPGA Altera.

    Os blocos de memria embutidos EABs (Embedded Array Block), constituem-se

    no elemento principal da arquitetura bsica. Cada bloco EAB pode conter, por exemplo,

    2.048 bits programveis que podem ser configurados como RAM, FIFO (First-In First-

    Out), etc. Pode ser configurado para atuar como um bloco de memria RAM com

  • 16

    Dispositivos de Lgica Programvel

    tamanhos variveis entre: 256x8, 512x4, 1k x2 ou 2kx1. Alm disso, um bloco EAB pode

    ser configurado para implementar um circuito lgico complexo, como um multiplexador,

    microcontrolador, mquina de estado ou uma funo DSP (Digital Signal Processing).

    Na arquitetura interna bsica apresentada, o bloco lgico chamado Elemento

    Lgico LE, pode conter uma LUT de quatro entradas, um flip-flop e circuitos de carry de

    finalidade especial para circuitos aritmticos. O LE tambm inclui circuito em cascata

    que permitem a implementao eficiente de funes AND de vrias entradas. Os LE so

    agrupados em dez, formando um conjunto chamado Bloco de Matriz Lgica, LAB (Logic

    Array Block).

    Cada LAB contm interconexo local, e cada trilha local pode conectar qualquer

    LE a outro LE na mesma LAB. A interconexo local tambm pode ser ligada

    interconexo global, chamada FastTrack. Cada trilha FastTrack entende-se pela altura ou

    largura completa do dispositivo. Isso facilita a configurao automtica feita pelo

    software EDA.

    Todas as FastTrack horizontais so idnticas, portanto os atrasos de

    interconexes so mais previsveis que em outros FPGAs que empregram segmentos

    menores, pois h menos chaves comutadoras programveis em caminhos longos.

    Os pinos de entrada e sada (E/S) so alimentados individualmente por um

    elemento chamado IOE (Input Output Element) localizado no final de uma linha ou

    coluna de interconexo global. Os elementos IOE contm buffers bidirecionados e flip-

    flops que podem ser configurados como registradores de entrada ou sada.

  • 17

    Dispositivos de Lgica Programvel

    3. Desenvolvimento de projetos utilizando FPGA

    O processo de projeto com FPGA envolve vrias etapas que geralmente so

    automatizadas. Atualmente, a utilizao de ferramentas de software EDA tem

    simplificado e acelerado todo o ciclo de projeto. Um sistema tpico de desenvolvimento

    de projetos, com ferramentas de softwares EDA, consiste em vrios programas

    interconectados. Esse processo envolve as seguintes etapas:

    (1) Especificao e entrada do projeto

    (2) Sntese e mapeamento da tecnologia

    (3) Posicionamento e roteamento

    (4) Verificao e teste

    (5) Programao do FPGA

    3.1. Especificao e entrada de projetos

    A entrada de projetos pode ser realizada de duas formas: um diagrama lgico,

    desenvolvido a partir de um editor grfico, no qual possvel utilizar portas lgicas e

    macroinstrues, ou por meio de um editor de texto que utilize uma linguagem de

    descrio de hardware HDL (Hardware Description Language).

    A especificao do projeto apresentada em termos abstratos ou em mtodos

    formais, seguida pela anlise da viabilidade da implementao por meio de simulao de

    alto nvel. Nessa fase importante que a linguagem utilizada seja o mais prximo

    possvel da linguagem humana.

    As ferramentas de captura de diagramas lgicos ou editores grficos permitem

    que o projetista especifique o circuito como um diagrama lgico em 2D (duas

    dimenses), conectando componentes lgicos com recursos de roteamento. O software

    utilizado para a edio de projetos utilizando FPGAs da Altera Corp. e o QuartusII.

    Os componentes lgicos esto contidos em uma biblioteca de macroinstrues

    fornecidas pelo software ou que podem ser definidas pelo prprio usurio. Geralmente,

    as bibliotecas contm portas lgicas, pinos de entrada e sada, buffers, multiplexadores,

  • 18

    Dispositivos de Lgica Programvel

    flip-flops, latches, decodificadores, registradores, contadores, comparadores, memrias,

    funes aritmticas e outras funes especiais.

    medida que os projetos ficam mais complexos, as descries em nvel de

    esquemas lgicos tornam-se inviveis, fazendo-se necessrio descrever esses projetos

    em modos mais abstratos. As linguagens de descrio de hardware, tambm conhecidas

    como HDLs, foram desenvolvidas para auxiliar os projetistas a documentar projetos e

    simular grandes sistemas, principalmente em projetos de dispositivos ASICs.

    Existem diversas linguagens de descrio de hardware disponveis, sendo as mais

    comumente utilizadas: ABEL (Advanced Boolean Equation Language), VHDL (Very High

    Speed Integrated Circuit Hardware Description Language) e Verilog.

    A linguagem ABEL foi a primeira linguagem HDL a ser desenvolvida. Criada pela

    empresa americana Data I/O Corp. para programar dispositivos SPLD, uma linguagem

    mais simples que a lingaguem VHDL

    J as linguagens VHDL e Verilog so capazes de programar sistemas de maior

    complexidade como, por exemplo, os dispositivos FPGA.

    As linguagens de descrio de hardware HDL so utilizadas para descrever o

    comportamento de um sistema digital de variadas formas, inclusive equaes lgicas,

    tabelas verdade e diagramas de formas de onda, que utilizam declarao de constante,

    estados, configuraes, bibliotecas, mdulos, etc.

    Nessa apostila ser trabalhado apenas o desenvolvimento de projetos a partir de

    um editor grfico.

    3.2. Sntese Lgica e mapeamento da tecnologia

    A sntese lgica consiste em duas fases distintas: otimizao lgica para

    minimizar equaes booleanas e mapeamento da tecnologia para converter equaes

    em clulas da biblioteca da tecnologia-alvo.

    Como a lgica inicial no est otimizada, algoritmos de sntese so utilizados para

    simplificar as equaes booleanas geradas. A sntese permite, na prtica, a reduo de

    rea a ser ocupada no circuito integrado, como tambm reduz o atraso da propagao

    (delay) dos sinais envolvidos.

  • 19

    Dispositivos de Lgica Programvel

    A fase de mapeamento da tecnologia seleciona um conjunto de portas lgicas de

    uma dada biblioteca para implementar as representaes abstratas, enquanto melhora a

    rea, o atraso ou a combinao de ambos, levando em consideraes as restries

    arquiteturais da tecnologia-alvo, nesse caso, os FPGAs.

    3.3. Posicionamento e Roteamento

    Aps a minimizao lgica e o mapeamento da tecnologia, o projeto consiste em

    uma representao textual de componentes lgicos a serem designados componentes

    fsicos de uma arquitetura FPGA.

    O posicionamento e roteamento so dois processos mutuamente dependentes. O

    posicionamento a atribuio de componentes particulares do circuito integrado aos

    componentes lgicos de projeto. O roteamento a atribuio de trilhas e elementos

    programveis, consumindo os recursos disponveis de interconexo para a comunicao

    entre os componentes.

    O software de roteamento aloca os recursos de roteamento do FPGA para

    interconectar as clulas posicionadas. As ferramentas de roteamento devem assegurar

    que 100% das conexes requeridas sejam realizadas e devem procurar maximizar a

    velocidade das conexes crticas, porm essa meta nem sempre alcanada.

    3.4. Verificao e Teste

    A simulao o tipo mais comum de verificao utilizada em projetos com FPGAs.

    Ela realizada geralmente em fase inicial, para verificao funcional, podendo ser

    realizada em nvel comportamental ou em nvel de portas lgicas.

    A simulao tambm realizada antes da configurao do FPGA, para verificar

    restries e temporizao. Vrios simuladores para a tecnologia FPGA esto disponveis

    comercialmente como, por exemplo, os softwares EDA:

    (a) Viewsim: desenvolvido pela empresa Mentor Graphics.

    (b) Synopsys: desenvolvido pela empresa Synopsys.

  • 20

    Dispositivos de Lgica Programvel

    (c) Quartus: desenvolvido pela empresa Altera Corp.

    3.5. Programao do FPGA

    Aps a verificao e teste a implementao do projeto completada, mas ainda

    resta um passo final que a programao do FPGA. Nesse ponto gerado um arquivo de

    configurao, que deve ser carregado no dispositivo-alvo.

    Um FPGA pode ser programado de diversos modos. Um dos modos

    recomendados a interface JTAG (por um cabo de impressora padro), pois o arquivo de

    configurao pode ser transferido, pela porta de comunicao paralela do computador

    para o dispositivo FPGA.

  • 21

    Dispositivos de Lgica Programvel

    4. Ambiente de Software EDA

    Software EDA uma categoria de ferramentas de software para projetar sistemas

    eletrnicos, tais como placas de circuitos impressos e circuitos integrados. Nessa

    apostila o software utilizado ser o QuartusII Web Edition verso 9.2.

    Por intermdio desse ambiente possvel fazer simulao, testes e programao

    de dispositivos FPGAs. As fases de implementao de um projeto de circuito digital

    podem ser divididas em entradas de dados, compilao, simulao e programao.

    A entrada de dados do projeto consiste em fornecer ao programa a especificao

    do projeto. Essa entrada pode ser realizada das seguintes formas:

    (1) Editor Grfico: Um diagrama lgico, desenvolvido a partir de elementos primitivos,

    portas lgicas bsicas e outros componentes disponveis em bibliotecas, que podem

    ser inseridos e interligados para criar o projeto.

    (2) Editor de Texto: Uma descrio abstrata do circuito lgico, utilizando se comandos

    de uma linguagem estruturada de descrio de hardware como AHDL, VHDL ou

    Verilog, que descrevem o comportamento ou o funcionamento do circuito lgico.

    (3) Editor de Smbolo Grfico: Nesse caso, os elementos do diagrama lgico so

    smbolos grficos criados pelo usurio ou macroinstrues grficas existentes nas

    bibliotecas do software, que implementam alguma funo lgica.

    (4) Editor de forma de onda: Nesse caso, os dados de entrada so formas de onda que

    implementam alguma funo desejada. A partir das formas de onda de entrada e

    sada o programa implementa a funo lgica.

    http://translate.googleusercontent.com/translate_c?hl=pt-BR&sl=en&u=http://en.wikipedia.org/wiki/Printed_circuit_board&prev=/search%3Fq%3Dsoftware%2BEDA%26hl%3Dpt-BR%26client%3Dfirefox-a%26hs%3DRF9%26rls%3Dorg.mozilla:pt-BR:official&rurl=translate.google.com.br&usg=ALkJrhjXv-mR1w5w7YxcE4mAZWGo7mAmZQhttp://translate.googleusercontent.com/translate_c?hl=pt-BR&sl=en&u=http://en.wikipedia.org/wiki/Integrated_circuit&prev=/search%3Fq%3Dsoftware%2BEDA%26hl%3Dpt-BR%26client%3Dfirefox-a%26hs%3DRF9%26rls%3Dorg.mozilla:pt-BR:official&rurl=translate.google.com.br&usg=ALkJrhh5jP_xIT3lYEcYGJKSetWiBM9amg
  • 22

    Dispositivos de Lgica Programvel

    4.1. Software QuartusII

    Ao longo do curso ser utilizado o software QuartusII da Altera Corp., para se

    implementar e testar projetos de sistemas digitais, a serem desenvolvidos em aulas

    prticas. Este software um ambiente de desenvolvimento integrado, ou EDA

    (Electronic Design Automation), que permite a realizao de todas as etapas envolvidas

    no projeto de um sistema digital, desde a descrio de sua lgica, por meio de

    diagramas esquemticos ou linguagens de descrio, simulao do circuito

    desenvolvido, at a gravao do projeto em um dispositivo lgico programvel como

    um CPLD ou FPGA. O QuartusII trabalha com um sistema orientado a projetos, ou

    seja, o software associa diversos arquivos um projeto. Este sistema possibilita a

    utilizao de componentes bsicos em diversos projetos e simplifica a elaborao de

    projetos mais complexos uma vez que as funcionalidades de um grande sistema podem

    ser divididas em diversos sistemas mais simples e por fim, agrupados.

    4.2. Criando Projeto com QuartusII

    A forma mais simples de se criar um projeto no QuartusII por meio do

    aplicativo Project Wizard. Para executar tal aplicativo, clique no menu File > New

    Project Wizard.

    Com isto a tela de apresentao do aplicativo Project Wizard ir se abrir. Clique

    em Next. Nesta tela pode-se escolher o diretrio do projeto, o nome do projeto e o

    nome da entidade principal do projeto. recomendvel que para cada projeto, uma

    pasta diferenciada seja criada, para que no haja conflito entre os diversos arquivos

    gerados para cada projeto.

    Uma vez preenchidos os campos corretamente, clique em Next novamente. Nesta

    tela possvel incluir arquivos ao projeto. Atravs do boto ... ao lado do campo File

    Name possvel definir o diretrio do arquivo a ser includo. Uma vez selecionado o

    arquivo, clique em Add para adicion-lo ao projeto. Quando todos os projetos

    desejados forem includos, clique em Next. Com isso a prxima tela aparecer.

    OBS: Caso esteja criando um projeto que no se utiliza de componentes

    Figura 7 Tela de Introduo ao Project Wizard

  • 23

    Dispositivos de Lgica Programvel

    previamente criados apenas clique em Next.

    Nesta tela deve-se escolher o componente a ser utilizado para implementar o

    projeto, ou seja, em qual dispositivo lgico programvel o sistema ser gravado. A

    famlia do dispositivo pode ser definida no campo Device Family. Na seo Show in

    Avaliable device list, na lista Available devices so apresentados todos os

    componentes da famlia escolhida que atendam aos requisitos definidos pelo filtro de

    componentes. Selecione o dispositivo adequado e clique em Next para prosseguir para a

    prxima tela.

    OBS: Observe no kit de desenvolvimento qual o dispositivo utilizado.

    Nesta janela possvel utilizar outras ferramentas de desenvolvimento em

    conjunto com o QuartusII, para isto a ferramenta a ser utilizada deve estar instalada

    no computador, uma vez que estas ferramentas no acompanham o pacote de instalao

    do QuartusII. No curso de sistemas digitais no ser utilizada nenhuma ferramenta

    adicional. Assim sendo, clique em Next.

    Esta tela apresenta um resumo do projeto a ser criado. Verifique se todos os

    dados conferem com os desejados, caso haja algo incorreto, retorne tela adequada,

    por meio do boto back e corrija o erro. Caso no haja erros, clique em Finish. Ao

    final do processo, a janela de projeto (Project Navigator) conter o projeto criado.

    4.3. Desenvolvendo um projeto usando diagrama esquemtico

    O uso de diagramas esquemticos uma das maneiras de se definir a lgica de um

    sistema digital dentro do ambiente de projeto do QuartusII. Neste modo de projeto os

    componentes bsicos de eletrnica digital como portas lgicas, flip-flops e

    multiplexadores, so representados por meio de blocos, os quais podem ser arranjados

    e associados de forma a se definir uma lgica de funcionamento.

    Para se iniciar o desenvolvimento de um projeto que utilize o modo de diagrama

  • 24

    Dispositivos de Lgica Programvel

    esquemtico, necessrio, primeiramente, adicionar ao projeto principal um arquivo

    que comporte este tipo de entrada. Assim sendo, para adicionar um arquivo de

    diagrama esquemtico ao projeto clique em File -> New..., e uma nova janela aparecer.

    Nessa janela possvel escolher o tipo de arquivo que se deseja criar. Selecione a

    opo Block Diagram / Schematic File e clique em Ok. Um novo arquivo de diagrama

    esquemtico aparecer na janela principal do QuartusII. Para salvar este arquivo

    clique em File > Save as... e d um nome ao arquivo, salvando-o na pasta do projeto

    principal.

    OBS: Para arquivos de descrio de hardware, deve-se sempre lembrar que o nome

    da entidade principal do arquivo deve ser igual ao nome do arquivo.

    A tela de edio de diagramas esquemticos aberta, onde devemos destacar as

    funes de alguns botes:

    (1) Atracar/Desatracar Janela: Permite separar a janela de diagrama esquemtico

    da janela principal do QuartusII.

    (2) Ferramenta de Seleo: Permite selecionar elementos inseridos no arquivo.

    (3) Ferramenta de texto: Permite inserir texto no arquivo, com fins explicativos ou

    de documentao.

    (4) Ferramenta de smbolo: Permite inserir smbolos (componentes). Seu uso ser

    detalhado posteriormente.

    (5) Ferramenta de conexo: Realiza a ligao entre terminais dos componentes.

    (6) Ferramenta de barramento: Realiza a ligao de barramentos (conjunto de

    sinais associados).

    Atravs da ferramenta de smbolos possvel inserir componentes no arquivo.

    Clique nela, ou d dois cliques na tela em branco, para inserir um componente. Feito

    isso uma janela com a biblioteca de componentes do software ser aberta.

    Nessa janela, no campo Libraries, possvel explorar as diversas colees de

    componentes do QuartusII. As mais relevantes so listadas abaixo:

  • 25

    Dispositivos de Lgica Programvel

    (1) Megafunctions: Tratam-se de funes complexas j prontas, necessitando muitas

    vezes de configurao. Sero melhor explicadas futuramente.

    (2) Others: esta coleo possui modelos de componentes equivalentes aos da famlia de

    dispositivos 74xx. Dessa forma possvel realizar qualquer combinao lgica feita

    com componentes discretos dentro do CPLD.

    (3) Primitives: componentes bsicos:

    (a) Buffers: diversos tipos de buffers, incluindo os de sada tri-state.

    (b) Logic: elementos lgicos bsicos (AND, OR, NOR, XOR, etc.) com diversos

    nmeros de entradas.

    (c) Others: elementos diversos.

    (d) Pin: diversos tipos de pinos suportados pelo componente: entrada, sada ou

    bidirecional.

    (e) Storage: elementos de armazenamento de dados, ou seja, flip-flops de

    diversos tipos.

    Selecione o componente desejado e clique OK.

    EXEMPLO: Para exemplificar o modo de desenvolvimento via diagrama esquemtico,

    ser realizada a montagem de um circuito combinacional capaz de executar a operao:

    Primeiramente insira as portas lgicas necessrias e os pinos de entrada e

    sada, como mostrado na figura 8. Para renomear os pinos de entrada e sada, d duplo

    clique sobre o pino a ser alterado.

  • 26

    Dispositivos de Lgica Programvel

    Figura 8 Criao da funo

    Faa as conexes entre os pinos de entrada e sada e as portas lgicas utilizando a

    ferramenta de conexo. Para isso clique nos terminais a serem conectados, observando

    se de fato foi feito o contado.

    Compile o projeto. Para isso clique em Processing > Start Compilation, ou

    clique no item de compilao na janela principal. Esse processo bastante complexo e

    pode demorar vrios segundos para ser concludo. Na janela de status possvel

    acompanhar a evoluo de cada uma das etapas de compilao.

    Ao final do processo de compilao aparecer, abaixo da tela do diagrama

    esquemtico, uma janela de mensagens com o resultado da compilao. Caso algum erro

    ocorra no processo de compilao, ele ser mostrado nesta janela, com indicaes do

    motivo da ocorrncia e, no caso de linguagens de descrio de hardware, da parte do

    cdigo onde se encontra o erro. Corrija sempre os ocasionais erros e repita o processo de

    compilao.

  • 27

    Dispositivos de Lgica Programvel

    4.4. Simulao de Projetos

    O QuartusII permite realizar simulaes do projeto desenvolvido. Essas

    simulaes podem ser de dois tipos: funcional e de tempo.

    A simulao funcional permite verificar se a funcionalidade do projeto

    desenvolvido est correta, em outras palavras, a simulao funcional verifica a lgica

    implementada. Por sua vez, a simulao de tempo verifica as caractersticas de

    temporizao, que so inerentes construo interna do CPLD ou FPGA usado e da

    forma como o projeto construdo dentro do chip, ou seja, simulao temporal verifica o

    funcionamento real do projeto, considerando os atrasos das portas envolvidas.

    O primeiro passo para simular criar um arquivo de entradas de simulao. Esse

    arquivo vai aplicar s entradas de sinais as condies possveis de funcionamento de

    forma que a sada possa ser ento avaliada. Para criar um arquivo de simulao,

    clique em File > New..., escolha o tipo de arquivo Vector Waveform File, e a janela da

    figura 9 ser aberta:

    Figura 9 Janela do arquivo de simulao.

    Nessa tela possvel a incluir os sinais de entrada e desenhar as formas de

    ondas dos sinais aplicados. Para inserir sinais v a Edit > Insert > Insert Node or

    Bus... ou d um clique duplo na tela em branco logo abaixo da coluna Name.

  • 28

    Dispositivos de Lgica Programvel

    Fazendo isso, a tela da figura 10 ser aberta:

    Figura 10 Tela de insero de varivel para simulao.

    Nesta tela, clique em Node Finder..., e a tela da figura 11 aparecer:

    Figura 11 Utilizando o Node Finder.

  • 29

    Dispositivos de Lgica Programvel

    No campo Filter possvel escolher a categoria de sinais com os quais se deseja

    trabalhar. O campo Look in informa qual projeto ou arquivo ser usado. Por fim

    clicando em List sero apresentados todos os sinais do projeto. Para ver todos os pins

    disponveis, selecione Pins: all no campo Filter. Para incluir um sinal na simulao,

    selecione-o no campo Nodes Found e clique no boto > . O s sinais selecionados

    sero transferidos para o campo Selected Nodes. Devem ser selecionados os sinais

    de entrada, e os de sada, cujo resultado se deseja analisar. Uma vez que todos os

    sinais tenham sido escolhidos, clique em Ok.

    Antes de se iniciar a edio dos sinais de entrada, necessrio definir o tempo

    total de simulao e o tamanho do grid. Para isso, inicialmente clique em Edit > End

    Time..., a seguinte tela da figura 12 ser aberta:

    Figura 12 Definindo o tempo total de simulao.

    Nesta janela, no campo Time pode-se definir o tempo total, no qual se deseja

    analisar o comportamento do sistema projetado. Uma vez definido o tempo total de

    simulao, clique em Edit > Grid Size..., e defina o tamanho do grid, ou seja, o

    intervalo de tempo que ser demarcado na tela do editor de forma de onda. A

    utilizao do grid facilita o trabalho de desenhar as formas de onda desejadas. A tela

    do Grid Size mostrada na figura 13.

  • 30

    Dispositivos de Lgica Programvel

    Figura 13 Definindo o tempo de grid.

    OBS: Para facilitar a visualizao de eventos interessante que o tempo total de

    simulao e o tamanho do grid sejam da mesma ordem de grandeza.

    Uma vez definidos estes itens, pode-se iniciar o processo de desenhar as formas

    de onda. Para tal utiliza-se os botes encontrados na parte esquerda da tela de edio

    de formas de onda, dos quais alguns so descrito na figura 14:

    Escolha Functional no campo Simulation mode, dentro de Assignments >

    Settings > + Simulator Settings. Em seguida selecione o arquivo de formas de onda no

    campo Simulation Input. Por fim, clique em Ok.

    Antes da simulao o projeto precisa ser compilado para a simulao funcional

    pelo Processing > Generate Functional Simulation Netlist. Seguinte, para dar incio

    agora a simulao, clique em Processing > Start Simulation. Esses dois processos

    podem demorar algum tempo.

    Ao completar a simulao, uma nova janela semelhante a janela de edio de

    forma de onda deve ser apresentada. Caso esta janela no aparea, clique em

    Processing > Simulation Report.

  • 31

    Dispositivos de Lgica Programvel

    Figura 14 Descrio dos botes do editor de forma de onda.

    As figuras 15.a e 15.b mostram as telas do editor de formas de onda e do

    Simulator Report, respectivamente, aps a edio das formas de onda dos sinais de

    entrada e da simulao do projeto proposto pelo exemplo.

  • 32

    Dispositivos de Lgica Programvel

    (a)

    (b)

    Figura 15 Telas de simulao do exemplo proposto em (a) antes da simulao e (b) depois da simulao.

  • 33

    Dispositivos de Lgica Programvel

    4.5. Definio dos pinos de I/O

    Depois de criado e simulado, deve-se definir a qual pino fsico do FPGA cada pino do

    esquemtico est ligado. Para isso clique em Assignments > Pins. Abrir a janela

    da figura 16, que permite definir a ligao entre os pinos fsicos e os pinos do diagrama.

    Figura 16 Definio dos pinos do FPGA.

    Nessa tela apresentada uma figura da pinagem do FPGA. Na coluna Node Name

    esto listados os pinos presentes no projeto. Na coluna Direction est descrita a

    direo desse pino. Na coluna Location, pode-se definir a qual pino fsico estar ligado o

    pino lgico. Para isso, d um clique duplo em uma clula da coluna Location e escolha

    o pino desejado na lista que aparecer. Repita esse processo para todos os pinos.

    Para validar a atribuio de pinos repita a compilao e observe se no ocorrem

    erros.

  • 34

    Dispositivos de Lgica Programvel

    4.6. Gravao no FPGA

    Feita a associao dos pinos do FPGA, pode-se ento gravar o projeto no

    dispositivo lgico programvel disponvel. Clique em Tools > Programmer, abrindo a

    tela da figura 17:

    Figura 17 Programando o FPGA.

    Na rea de configurao apresentada, preciso assegurar que as opes de

    hardware estejam corretas, atravs do atalho Hardware Setup.... Caso no haja

    nenhum hardware selecionado, em Add Hardware, selecione manualmente

    ByteBlaster ou USBBlaster, conforme o gravador do kit utilizado.

    Ainda preciso marcar a opo Program/Configure. Outras opes como

    verificao da gravao so tambm disponibilizadas. Clique em Start para iniciar

    gravao. A janela de mensagens da tela principal do QuartusII ir informar se a

    gravao foi executada com sucesso. Caso isso ocorra, seu projeto j estar rodando no

    FPGA.

    Caso haja algum erro de gravao, verifique se os cabos esto corretamente ligados,

    se o kit est ligado, o modelo de gravador est correto ou ainda se o modelo de CPLD est

    correto.

  • 35

    Dispositivos de Lgica Programvel

    5. Dicas

    O software QuartusII apresenta muitos recursos, por meio de suas bibliotecas

    internas, onde esto disponveis diversos componentes lgicos, que podem auxiliar

    muito o projetista, principalmente no modo editor grfico. As bibliotecas esto dividas

    em duas categorias: primitivas e megafunes.

    5.1. Biblioteca Primitiva

    A biblioteca primitiva possui quatro grupos de componentes: elementos

    lgicos, flip-flops e latches, buffers e terminais de E/S. Para utilizar o componente,

    basta na janela smbolo (symbol) do editor grfico digitar o nome do componente e

    dar um clique no boto Ok. Cada grupo de componente listado a seguir:

    Elementos Lgicos

  • 36

    Dispositivos de Lgica Programvel

    Flip Flop e Latches

  • 37

    Dispositivos de Lgica Programvel

    Buffers

  • 38

    Dispositivos de Lgica Programvel

    Terminais E/S

    5.2. Biblioteca de Megafunes

    A biblioteca de megafunes oferece uma variedade de mdulos

    parametrizveis (LPM) e outras funes tambm parametrizveis. Cada grupo de

    componentes listado a seguir:

    Componentes Aritmticos

  • 39

    Dispositivos de Lgica Programvel

    Portas

  • 40

    Dispositivos de Lgica Programvel

    Componentes de E/S

  • 41

    Dispositivos de Lgica Programvel

    Compilador de Armazenamento

    5.3. Famlia 74XX A biblioteca do software QuartusII oferece uma variedade da Famlia 74XX,

    como por exemplo 7400 (Quatro portas NAND de 2 entradas), 7474 (2 Flip Flop tipo

    D), 74112 (2 Flip Flop tipo JK), entre outros. Para acess-los s procurar na opo

    symbol, digitar o nome e depois Ok.

  • 42

    Dispositivos de Lgica Programvel

    5.4. Criando smbolos

    Criar smbolos um modo de transformar todo um circuito em somente um

    bloco, armazenado na bibliteca, deixando assim o circuito mais simples, e mais fcil de

    entender, vejamos um exemplo mostrado na figura 18:

    Figura 18 Exemplo utilizado para criao de smbolos.

    Para fazer essa criao devemos selecionar o desenho, clicar em File >

    Create/Update e logo depois em Create Symbol Files for Current File. Nomeie o

    smbolo que voc est criando e confirme.

    Agora o bloco j foi criado e est disponvel na biblioteca com o nome escolhido

    pelo usurio, logo basta inserir seu nome no Symbol Tool.

  • 43

    Dispositivos de Lgica Programvel

    6. Bibliografia

    ALTERA. Disponvel em: . Acesso em: 3 ago. 2011.

    COIMBRA, J. M. Altera CycloneTM II. Disponvel em:

    . Acesso em: 3 ago. 2011

    COSTA, C. Projetando Controladores Digitais com FPGA. So Paulo: Novatec, 2006.

    159 p.

    RANGEL, F. R. Aulas FPGAs. Disponvel em:

    . Acesso em:

    3 ago. 2011.

    WIKIPEDIA: FPGA. Disponvel em: . Acesso em: 3

    ago. 2011.

    http://www.dee.ufrn.br/~frangel/ensino/20061/ele365/AulaFPGAs.pdf