Vous êtes sur la page 1sur 31

Aula 24 Circuitos Lgicos Programveis

1) Introduo
Impulsionado pelo desenvolvimento de novos tipos de sofisticados dispositivos programveis por campo eltrico (FPDs), o processo de projeto digital hardware tem mudado drasticamente nos ltimos anos. Diferentemente das geraes anteriores de tecnologia, nas quais projetos no nvel de PCB incluam grande nmero de chips SSI contendo portas bsicas, virtualmente toda gerao de projeto produzido hoje consiste majoritariamente de dispositivos de alta densidade. Isto se aplica no apenas para dispositivos customizados como processadores e memria, mas tambm para circuitos lgicos como controladores com mquina de estados, contadores, registradores e decodificadores. Quando tais circuitos so destinados para sistemas de alto volume eles tm sido integrados dentro de gate arrays (arranjo de portas) de alta integrao. Entretanto, os preos dos chips gate array so freqentemente muito caros e estes levam muito tempo para serem fabricados e para permitir que prottipos ou outros projetos de baixo volume sejam viveis. Por essas razes, a maioria dos prottipos, e tambm muitos projetos de produo so agora construdos usando FDPs. As vantagens dos FDPs so de fabricao instantnea, baixos custos iniciais, baixo risco financeiro e (como a programao feita pelo usurio final) facilidades nas mudanas do projeto. O mercado de FPDs tem crescido dramaticamente na ltima dcada ao ponto de existir agora uma ampla variedade de dispositivos. Um projetista hoje enfrenta uma tarefa assustadora de pesquisar diferentes tipos de chips, entender no que eles podem ser

mais bem usados, escolher um produto manufaturado especfico, aprender as especificidades de cada vendedor de software e ento projetar o hardware. A confuso para os projetistas exacerbada no apenas pelo grande nmero de FPDs disponveis, mas tambm pela complexidade dos mais sofisticados dispositivos. O propsito deste texto fornecer uma viso geral da arquitetura dos vrios tipos de FDPs. A nfase ser dados nos dispositivos com relativamente alta capacidade lgica; os mais importantes produtos comerciais tambm sero discutidos. Antes de prosseguir, ns fornecemos definies terminolgicas dessa rea. Isto necessrio porque jarges tcnicos tm se tornado de alguma forma inconsistentes nos ltimos anos, pois as empresas tm tentado comparar e diferenciar seus produtos.

1.1 Definies Terminolgicas Relevantes

A mais importante terminologia usada neste texto definida abaixo. FPD -Dispositivo programvel por campo - um termo geral que se refere a qualquer tipo de circuito integrado usado para implementao digital de hardware, onde o chip pode ser configurado pelo usurio final para realizar diferentes projetos. A programao de tal dispositivo freqentemente envolve o posicionamento do chip dentro de uma unidade de programao especial, mas alguns chips tambm podem ser configurados insistema ou in-circuit. Outro nome para FPDs dispositivos lgicos programveis (PLDs); Apesar do PLD englobar os mesmos tipos que os FPDs, preferido o termo FPD porque historicamente a palavra PLD se referiu a tipos relativamente simples de dispositivos.

PLA- Array lgico programvel (PLA) um FPD relativamente pequeno que contm dois nveis de lgica, um nvel AND e um nvel OR, onde ambos os nveis so programveis (note: apesar das estruturas do PLA serem algumas vezes embutidos dentro de chips full-custom, nos referimos aqui apenas aos PLAs que so providos como circuitos separados integrados e so programveis pelo usurio). PAL*- Programmable Logic Array (PAL) um FPD relativamente pequeno que tem um nvel AND programvel seguido por um nvel OR fixo.
*PAL uma marca registrada dos Advanced Micro Devices.

SPLD- refere-se a qualquer tipo de PLD simples, geralmente um PLA ou um PAL. CPLD- um PLD mais complexo que consiste em um arranjo de mltiplos blocos SPLD em um nico chip. Nomes alternativos (que no sero usados neste texto) algumas vezes adotados para este estilo de chip so Enhances PLD (EPLD), Super PAL, Mega Pal, e outros. FPGA- Field-Programmable Gate Array um FPD caracterizando uma estrutura geral que permite altssima capacidade lgica. Considerando os recursos lgicos caractersticos do CPLDs com um amplo nmero de entradas (nvel AND), FPGAs oferece mais recursos lgicos. FPGAs tambm oferece maior nmero de flip-flops do que os CPLDs. HCPLDs PLDs de alta capacidade: um acrnimo que se refere tanto a CPLDs quanto a FPGAs. Este termo tem sido adotado na literatura comercial para providenciar uma forma fcil de se

referir a ambos os tipos de dispositivos. Ns no usamos este termo no texto. Interconnect recurso de fiao no FPD. Programmable Switch uma chave programvel pelo usurio que pode conectar um elemento lgico a um fio de interconexo, ou um fio de interconexo a outro. Logic Block um bloco de circuito relativamente pequeno que replicado em um array no FPD. Quando um circuito implementado no FPD, ele primeiramente decomposto em sub-circuitos menores que podem cada um ser mapeado em um bloco lgico. O termo bloco lgico usado na maioria das vezes no contexto de FPGA, mas ele pode tambm se referir a um bloco de circuitos no CPLD. Logic Capacity- a quantidade de lgica digital que pode ser mapeada em um nico FPD. Isto geralmente medido pelo tamanho do gate array que ele comparado. Em termos simples, a capacidade lgica pode ser pensada como o nmero portas NAND de duas entradas. Logic Density- a quantidade de lgica por unidade de rea no FPD. Speed-Performance - medida da velocidade operacional mxima de um circuito quando implementado em um FPD. Para circuitos combinacionais, ele determinado pelo atraso mais longo de qualquer caminho eltrico, e para circuitos seqenciais a mxima freqncia de clock na qual o circuito funciona de forma apropriada.

No restante desta seo, para oferecer uma viso geral do desenvolvimento do FPD, descrita a evoluo do FPDs nas ltimas duas dcadas. Informaes adicionais so tambm includas nas tecnologias semicondutores usadas na fabricao de FPDs.

1.2 Evoluo dos Dispositivos Lgicos Programveis

O primeiro tipo de chip programvel pelo usurio que podia implementar circuitos lgicos foi a mmria PROM (Programmable Read-Only Memory), no qual as linhas de endereo podiam ser usadas como circuitos de entrada lgica e as linhas de dados como sada. Funes lgicas, entretanto, raramente requerem mais do que poucos termos de produto (mintermos), e a PROM contm um decodificador para as entradas de endereos. PROMS so portanto uma arquitetura ineficiente para realizar circuitos lgicos, e assim so raramente utilizados na prtica para esse propsito. O primeiro dispositivo desenvolvido mais tarde especificamente para implementar circuitos lgicos foi o FieldProgrammable Logic Array (FPLA), ou simplesmente PLA. O PLA consiste em dois nveis de portas lgicas: um nvel de portas AND-wired programvel seguido por um nvel de portas OR-wired programvel.

O PLA estruturado para que nenhuma de suas entradas (ou seus complementos) possa ser ANDed juntos no nvel AND; cada sada no nvel AND pode assim corresponder a qualquer termo de produto de entrada. Como essa estrutura, PLAs so bem adequados para implementar funes lgicas na forma de soma de produto. Eles tambm so bem versteis, j que tanto os termos AND e os termos OR podem ter muitas entradas (esta caracterstica freqentemente referida como portas AND e OR wired por fio).

Quando PLAs foram introduzidos no incio da dcada de 70, o seu principal inconveniente era que eles eram caros para produzir e oferecidos de certa forma com uma baixa velocidade de desempenho. Ambas as desvantagens foram devido aos dois nveis de configurao lgica, porque nveis lgicos programveis eram difceis de produzir e introduziram significativos atrasos de propagao. Para superar essas fraquezas, os dispositivos Programmable Array Logic (PAL) foram desenvolvidos. Como a figura A.24.1 mostra, PALs caracteriza-se por apenas um nico nvel programvel, consistindo em um wired nvel AND programvel que alimenta as portas do nvel OR fixos. Para compensar a falta de generalidade devido ao fato do nvel OR ser fixo, vrias variaes de PALs so produzidas, com diferentes nmeros de entradas e sadas, e vrios tamanhos de OR-gates. PALs geralmente contm flip-flops conectados aos sadas do ORgate para que os circuitos seqenciais possam ser realizados. Os dispositivos do PAL so importantes porque quando foram introduzidos eles tiveram um profundo efeito no projeto digital do hardware, e tambm eles so a base para algumas das mais novas e mais sofisticadas arquiteturas que sero descritas brevemente. Variantes da arquitetura do PAL bsico so caracterizadas em muitos outros produtos conhecidos por diferentes acrnimos. Todos os pequenos PLDs, incluindo PLAs, PALs e dispositivos como o PAL so agrupados em uma categoria simples chamada PLDs (SPLDs), cuja mais importantes caractersticas so o baixo custo e altssima velocidade pino a pino de desempenho.

Figura A.24.1 Estrutura de um PAL Com o avano da tecnologia, se tornou possvel produzir dispositivos com capacidade mais alta do que os SPLDs. A dificuldade para aumentar a capacidade de uma arquitetura de SPLD rgida que a estrutura dos nveis lgicos programveis cresce muito rapidamente em tamanho quando os nmeros de entradas aumentam. O nico caminho vivel para prover dispositivos de grande capacidade baseados nas arquiteturas do SPLD ento integrar mltiplos SPLDs em um nico chip e providenciar interconexo para conectar de forma programada os blocos de SPLD juntos. Muitos produtos de FPD comerciais existem hoje no mercado com essa estrutura bsica, e so referidos coletivamente referidos como um Complexo PLDs (CPLDs)

A Altera foi a pioneira dos CPLDs, primeiro na sua famlia de chips chamada Classic EPLDs, e ento em trs sries adicionais, chamadas MAX 5000, MAX 7000 e MAX 9000. Devido ao rpido crescimento do mercado para grandes FPDs, outras empresas desenvolveram dispositivos da categoria de CPLD e existem atualmente muitas opes disponveis. Todos os mais importantes produtos comerciais sero descritos adiante. CPLDs fornecem capacidade lgica at o equivalente a cerca de cinqenta dispositivos SPLD tpicos, mas de alguma forma difcil estender essas arquiteturas em densidades mais altas. preciso uma abordagem diferente para construir FPDs com altssima capacidade lgica. Chips de propsitos gerais de alta capacidade disponvel hoje so os gate arrays tradicionais algumas vezes referidos como Mask-Programmable Gate Arrays (MPGAs). MPGAs consiste em um array de transistores pr-fabricados que pode ser customizado no circuito lgico do usurio atravs da conexo dos transistores com os fios customizados. A customizao realizada durante a fabricao do chip com a especificao da camada de metal de interconexo, e isto significa que para que um usurio empregue um MPGA um grande custo de configuraao envolvido e o tempo de produo longo. Embora MPGAs no sejam claramente FPDs, eles so mencionados aqui porque eles motivaram o projeto do equivalente programvel pelo usurio: Field Programmable Gate Arrays (FPGAs). Como os MPGAs, FPGAs compreendem um array de elementos de circuitos genrico, chamados logic blocks, e recursos interconectados, mas a configurao do FPGA realizada por meio de uma programao final pelo usurio. Uma ilustrao de uma arquitetura tpica de FPGA mostrada na Figura A.24.2. Como o nico tipo de FPD que suporta altssima capacidade lgica, FPGAs tm sido responsveis pela grande mudana na forma como os circuitos digitais so projetados.

Figura A.24.2 Estrutura de uma FPGA A Figura A.24.3 resume as categorias de FPDs com a listagem das capacidades lgicas disponveis em cada uma das trs categorias. Na figura, Gates equivalentes se refere vagamente ao nmero de porta NAND de duas entradas. O grfico serve como um guia para selecionar um dispositivo especfico para dada aplicao, dependendo da capacidade lgica necessria. Entretanto, como vamos discutir rapidamente, cada tipo de FPD inerentemente melhor usado para algumas aplicaes do que para outras. Tambm deve ser mencionado que existem outros dispositivos de propsitos especiais otimizados para aplicaes especficas (por exemplo, mquinas de estados, gate arrays analgicos, etc).Entretanto, j que o uso desses dispositivos limitado, eles no sero aqui descritos. A prxima sub-seo

discute os mtodos usados para implementar chaves programveis pelo usurio que so chaves para a customizao dos FPDs.

Figura A.24.3 Categoria por capacidade lgica

1.3- Tecnologias de chaves programvel pelo usurio

O primeiro tipo chave programvel pelo usurio desenvolvido foi o fusvel (fuse) usado no PLAs. Embora fusveis ainda sejam usados em alguns dispositivos menores, ns no iremos discuti-los aqui porque eles esto rapidamente sendo substitudos por novas tecnologias. Para dispositivos de maior densidade, onde CMOS domina na indstria de CIs, diferentes abordagens para implementar chaves programveis esto sendo desenvolvidas. Para CPLDs as principais tecnologias de chaves (nos produtos comerciais) so os transistores de porta flutuante como aqueles usados em EPROM e EEPROM, e para FPGAs eles

so SRAM e antifuse. Cada um deles ser rapidamente discutido abaixo. Um transistor EEPROM ou EPROM usado como uma chave programvel para CPLDs (e tambm para muitos SPLDs) posicionando o transistor entre dois fios de um modo que facilita a implementao das funes do wired-AND. Isto ilustrado na Figura A.24.4, que mostra os transistores EPROM como eles deveriam ser conectados no nvel AND de um CPLD. Uma entrada para o nvel AND pode conduzir um fio produto para o nvel 0 da lgica atravs de um transistor EPROM, se esta entrada parte do termo do produto correspondente. Para entradas que no esto envolvidos por um termo do produto, os transistores de EPROM apropriados so programados para ficar permanentemente desligados. Um diagrama para um dispositivo baseado no EEPROM se pareceria similarmente.

Figura A.24.4 Chaves programveis EPROM

Embora no existam razes tcnicas de que EPROM ou EEPROM no possam ser aplicados para FPGAs, os atuais produtos comerciais FPGA so baseados nas tecnologias do SRAM ou do anti-fuse(anti-fusvel), como discutido abaixo. Um exemplo do uso de chaves controladas por SRAM est ilustrado na Figura A.24.5, mostrando duas aplicaes para as clulas de SRAM: controlar os ns das portas dos transistores de passagem e controlar as linhas de seleo do multiplexer que alimenta as entradas dos blocos lgicos. A figura oferece um exemplo de conexo de um bloco lgico (representado pela porta AND no canto superior esquerda) a outro atravs de dois transistores de passagem, e ento um multiplexer, tudo controlado pelas clulas SRAM. Se um FPGA usa transistores de passagem ou multiplexers ou ambos depende do produto em questo.

Figura A.24.5 Chaves programveis controladas por SRAM

O outro tipo de chave programvel usado nos FPGAs o antifusvel. Antifusveis so originalmente circuitos abertos e tornam-se baixa resistncia apenas quando programados, da o nome anti. Antifusveis so adequados para FPGAs porque eles podem ser construdos usando tecnologia CMOS modificada. Como um exemplo, a estrutura anti-fusvel do Actel, conhecida como PLICE, mostrada na Figura A.24.6. A figura mostra que o anti-fusvel posicionado entre dois fios de interconexo e fisicamente consiste em trs camadas superpostas: a camada superior e a inferior so condutores, e a camada do meio um isolador. Quando no programadas, o isolador isola a camada superior da camada inferior, mas quando programadas, o isolador muda para se tornar um caminho de baixa resistncia. PLICE usa Poly-Si (silcio policristalino) e difuso n+ como condutores e xido como isolador, mas outros antifusveis dependem de metal para condutores, com silcio amorfo como camada isoladora.

Figura A.24.6 Estrutura antifusvel Atmel

A Tabela A.24.1 lista as caractersticas mais importantes da programao de tecnologias discutida nesta seo. A coluna mais esquerda da tabela indica se as chaves programveis so programveis uma nica vez (one-time programmable-OTP) ou podem ser re-programvel (RP). A prxima coluna lista se as chaves so volteis, e a ltima coluna a tecnologia utilizada.

Tabela A.24.1

1.4- Projeto auxiliado por computador (CAD) para FPDs

Quando se projeta circuitos para implementar nos FPDs, essencial empregar programas CAD. As ferramentas deste software so discutidas rapidamente nesta seo para oferecer uma viso geral do processo de projeto envolvido. As ferramentas de CAD so importantes no apenas para dispositivos complexos como CPLDs e FPGAs, mas tambm para SPLDs. Um sistema de CAD para SPLDs iria incluir software para as seguintes tarefas: Entrada inicial do projeto, otimizao lgica, fitting do dispositivo, simulao e configurao. O fluxo deste projeto ilustrado na Figura A.24.7, que tambm indica como alguns estgios alimentam os outros. A entrada do projeto pode ser feita ou criando um esquema de diagrama com uma ferramenta grfico CAD, ou utilizando um sistema baseado em texto para descrever o projeto em uma descrio de linguagem de hardware (VHDL) como uma linguagem simples, ou com uma mistura de mtodos. J que a entrada lgica no usualmente uma forma

otimizada, algoritmos, so empregados para otimizar os circuitos, depois dos quais algoritmos adicionais analisam as equaes lgicas resultantes e encaixam-nas no SPLD. A Simulao usada para verificar se as operaes esto corretas, e o usurio retornaria para a fase de inicial para consertar erros. Quando o projeto simulado corretamente ele pode ser carregado em uma unidade de programao e usado para configurar um SPLD. Um ltimo detalhe sobre a Figura A.24.7 que enquanto a etapa original de entrada do projeto desempenhada manualmente pelo projetista, todos as outras etapas so efetuadas automaticamente pela maioria dos sistemas CAD.

Figura A.24.7 Fluxo de projeto em CAD para SPLDs

As etapas envolvidas na implementao de circuitos nas CPLDs so similares quelas para os SPLDs, mas as ferramentas so mais sofisticadas. Porque os dispositivos so complexos e podem acomodar grandes projetos, mais comum usar uma mistura de mtodos de projeto para diferentes mdulos de um circuito completo. Por exemplo, alguns mdulos podem ser projetados com uma pequena linguagem de descrio de hardware como ABEL, outras projetam usando uma ferramenta de captura esquemtica simblicas, e ainda outras descrevem atravs de uma linguagem completa como VHDL. Ainda, para CPLDs o projeto

de fitting pode requerer etapas similares quelas descritas abaixo para FPGAs, dependendo de quo sofisticado o CPLD. O software necessrio para essas tarefas suprido tanto pelo fabricante do CPLD manufacturer ou de terceiros em parceria com o fabricante. O processo do projeto para FPGAs similar ao para CPLDs, mas ferramentas adicionais so necessrias para suportar a maior complexidade dos chips. A principal diferena est na etapa device fitter que vem aps a otimizao lgica e antes da simulao, onde FPGAs requer ao menos trs etapas: um mapeador tecnolgico para mapear as portas lgicas bsicas em blocos lgicos da FPGAs, alocao (placement) para escolher quais blocos lgicos especficos usar na FPGA, e um roteador to alocar os segmentos de fios no FPGA para interconectar os blocos lgicos. Com essa complexidade adicional, as ferramentas do CAD podem requerer um perodo relativamente longo (freqentemente mais do que uma hora ou mesmo vrias horas) para completar suas tarefas. 2- Sumrios dos FPDs disponveis comercialmente

Esta seo oferece muitos exemplos de produtos comerciais FPD. SPLDs so os primeiros discutidos brevemente, e ento detalhes so dados para todos os mais importantes CPLDs. O aluno que estiver interessado em mais detalhes sobre FPGAs e outros produtos comerciais encorajado a contatar os sites dos fabricantes*. * A maior parte dos fabricantes de FPD incluem agora nos seus datas sheets na world wide web, e pode ser localizados no URL http://www.nomedaempresa.com

2.1- SPLDs disponveis comercialmente

Nas ltimas duas dcadas, SPLDs so dispositivos mais importantes que surgiram na rea de hardware digital. SPLDs representam a mais alta velocidade de performance do FPDs disponvel, e no so caras. Dois dos mais populares SPLDs so os PALs produzidos pelo Advanced Micro Devices (AMD) conhecido como o 16R8 e 22V10. Ambos os dispositivos so padro industriais e so amplamente fornecidos por vrias empresas. O nome 16R8 significa que o PAL tem um mximo de 16 entradas (existem 8 entradas dedicadas e 8 entrada/sada) e o mximo de 8 sada output. O R se refere ao tipo de sada oferecida pelo PAL e significa que cada sada registrada por um D flip-flop. Similarmente, o 22V10 tem um mximo de 22 entradas e 10 sadas. Aqui, o V significa que cada sada verstil e podem ser configuradas de vrias formas, algumas configuraes registradas e outras no. Outra amplamente usada o SPLD da Altera Classic EP610. Este dispositivo similar ao PALs em complexidade, mas ele oferece mais flexibilidade no modo que sadas so produzidos e tem maior nvel de portas AND- e OR. No EP610, as sadas podem ser registradas e os flip-flops so configurveis como qualquer dos tipos D, T, JK, ou SR. Alm do SPLDs mencionados acima muitos outros produtos esto disponveis por vrias empresas. Todos SPLDs possuem caractersticas comum, como algum tipo de nvel lgico (AND, OR, NOR, ou NAND), mas cada produto especfico oferece caractersticas nicas que podem ser particularmente atrativas para determinadas aplicaes. Uma lista parcial de empresas que oferecem SPLDs inclue: AMD, Altera, ICT, Lattice, Cypress, e

Philips-Signetic. J que alguns desses SPLDs tem complexidade prxima encontrada em CPLDs, o texto agora se direcionar para dispositivos mais sofisticados.

2.2- CPLDs disponveis comercialmente

Como dito antes, CPLDs consiste em mltiplos SPLD como bloco em um nico chip. Entretanto, os produtos CPLD so muito mais sofisticados do que os SPLDs, mesmo no nvel de seus blocos bsicos SPLD. Nesta seo, CPLDs so discutidos detalhadamente, primeiro pesquisando os produtos comerciais disponveis e ento discutindo os tipos de aplicao para os quais os CPLDs so mais adequados. Detalhes suficientes so apresentados para permitir uma comparao entre os vrios tipos de produtos em competio, com mais ateno para os dispositivos que ns acreditamos ter uso mais amplo do que outros.

2.2.1- Altera CPLDs Altera desenvolveu trs famlias de chips que se encaixam dentro da categoria CPLD: MAX 5000, MAX 7000, e MAX 9000. Aqui, a discusso se focar nas sries de MAX 7000, porque ela amplamente usada e oferece o estado da arte da capacidade lgica e velocidade no desempenho. MAX 5000 representa uma tecnologia mais antiga que oferece uma soluo de baixo custo, e o MAX 9000 similar ao MAX 7000, exceto pelo MAX 9000 oferecer maior capacidade lgica (a mais alta da indstria para os CPLDs).

Figura A.24.8 Altera Srie MAX 7000 A arquitetura geral das sries do Altera MAX 7000 mostrada na Figura A.24.8. Ela compreende de array de blocos chamados Logic Array Blocks (LABs), e fios de interconexo chamados de Programmable Interconnect Array (PIA). A PIA capaz de conectar qualquer entrada do LAB ou sada a qualquer outro LAB. Alm disso, as entrada e sada do chip se conectam diretamente ao PIA e aos LABs. O LAB pode ser pensado como uma complexa estrutura SPLD, e ento todo o chip pode ser considerado um conjunto de SPLDs. Os dispositivos MAX 7000 esto disponveis tanto na tecnologia EPROM quanto na EEPROM. At recentemente, mesmo com EEPROM, os chips MAX 7000 podiam ser programveis apenas fora de circuito em uma unidade de programao especfica; porm, em 1996 Altera liberou as sries 7000S, que so re-programveis dentro do circuito.

Figura A.24.9 Array de blocos lgico (LAB) Altera MAX 7000 A estrutura de um LAB mostrada na figura A.24.9. Cada LAB consiste em dois conjuntos de oito macroclulas (mostradas na Figura A.24.10), onde uma macroclula compreende um conjunto de produto termos programveis (parte de um nvel AND) que alimenta uma porta OR e um flip-flop. Os flip-flops podem ser configurados como tipo D, JK, T, SR ou podem ser transparentes. Como mostrado na Figura A.24.10, o nmero de entrada para a porta OR em uma macroclula varivel; A porta OR pode ser alimentada por qualquer ou todos os termos de produto dentro da macroclula, e podem ter at 15 termos de produto extra da macroclula no mesmo LAB; A flexibilidade do termo produto faz com que as sries MAX 7000 sejam mais eficientes em termos da rea de chip porque funes lgicas tpicas no precisam de mais de cinco termos produtos, e a arquitetura suporta funes extensas quando elas so necessrias.

interessante notar que tamanhos variados de portas OR deste tipo no esto disponveis nos SPLDs bsicos (ver Figura A.24.1). Caractersticas similares deste tipo so encontradas em outras arquiteturas de CPLD discutidas rapidamente. Alm da Altera, muitas outras empresas produzem dispositivos que podem ser categorizados como CPLDs. Por exemplo, a famlia Mach do fabricante AMD, A Lattice tem a srie (i)pLSI, A Xilinx produz uma srie de CPLD que eles chamam de XC7000 (no relacionada s sries Altera MAX 7000) e tem anunciado uma nova famlia chamada XC9500, A ICT tem o PEEL array.

Figura A.24.10 Macroclula MAX 7000

2.2.2- CPLDs da Advanced Micro Devices (AMD) A AMD oferece uma famlia CPLD com cinco sub-famlia chamadas Mach 1 a Mach 5. Cada dispositivo Mach compreende mltiplos blocos PAL: Mach 1 e 2 consistem em 22V16 PALs otimizados, e Mach 3 e 4 compreende muitos 34V16 PALs otimizados, e Mach 5 similar mas oferece velocidade de desempenho melhorada. Todos os chips Mach so baseados na tecnologia EEPROM, e juntos, as 05 sub-familias oferecem a grande variedade de seleao, da pequena, a cara para chip no estado da arte. Esta discusso focar no Mach 4 porque ele representa as partes atuais disponveis mais avanadas da famlia Mach.

Figura A.24.11 Estrutura de CPLDs Mach 4 da AMD

A Figura A.24.11 retrata um chip Mach 4, mostrando o mltiplo bloco PAL 34V16, e o inter conectador, chamado Central Switch Matrix, para conectar os blocos juntos. A faixa de tamanho dos chips de 6 a 16 blocos de PAL, o que corresponde

aproximadamente de 2000 a 5000 Gates equivalentes e so programveis in-circuit. Todas as conexes no Mach 4 entre um bloco PAL e outro (mesmo de um bloco PAL a si mesmo) so roteadas atravs da Central Switch Matrix. O dispositivo pode, assim, ser visto, no apenas como uma coleo de PALs, mas tambm como um nico grande dispositivo. Uma vez que todas as conexes possuem o mesmo caminho, atrasos dos circuitos implementados no Mach 4 so previsveis. A Mach 4 PAL-like block retratado na Figura A.24.12. Ele tem 16 sadas e um total de 34 entradas (16 dos quais so sadas realimentadas), ento ele corresponde ao 34V16 PAL. Entretanto, existem duas diferenas chaves entre este bloco e o PAL normal: 1. Existe um alocador de termo produto entre o nvel AND e as macroclulas (as macroclulas compreende a porta OR, a porta EX-OR e o flip-flop), e 2. Existe uma sada switch matrix entre a porta OR e os pinos de I/O. Estas duas caractersticas tornam o chip Mach 4 mais fcil de usar, porque eles desacopla as seces dos blocos PAL. Mais especificamente, o alocador de produto termo distribui e divide os termos de produto do nvel AND para qualquer porta OR que os requeiram. Isto muito mais flexvel do que as porta OR de tamanho fixo em PALs regulares. A sada switch matrix torna possvel para qualquer sada da macroclula (porta OR ou flip-flop) ser alimentada por qualquer um dos pinos de I/O conectados ao bloco do PAL. Novamente, a flexibilidade melhorada sobre a PAL, em que cada macroclula pode alimentar apenas um pino de I/O especfico. A combinao do Mach 4 de uma lgica programvel in-system e uma alta flexibilidade garantem fceis mudanas no projeto de hardware.

Figura A.24.12 Blocos PAL (34V16) Mach 4 da AMD

2.2.3- CPLDs da Lattice A Lattice oferece a complete conjunto de CPLDs, com duas linhas principais de produto: o Lattice pLSI consiste em trs famlias de EEPROM CPLDs, e o ispLSI so os mesmos dispositivos que os do pLSI, exceto que eles so programveis insystem. Tanto para os produtos pLSI e para o ispLSI, A Lattice oferece trs famlias que tm diferentes capacidade lgica e velocidade de desempenho. A gerao mais nova de CPLDs da Lattice so as sries pLSI e ispLSI 1000. Cada chip consiste de uma coleo de blocos como SPLD, e um roteamento global para conectar os blocos juntos. A capacidade lgica varia de 1200 a 4000 portas ou gates. O atraso pino-a-pino de 10ns. A Lattice tambm oferece uma famlia CPLD chamada de sries 2000, que so relativamente pequenos CPLDs, entre 600 a 2000 gates que oferecem uma maior quantidade de macroclulas por pino I/O e mais alta velocidade de desempenho que a srie 1000. O estado da arte da srie 2000 apresenta um atraso 5.5 ns pino-a-pino.

A srie 3000 da Lattice representa o seu maior CPLDs, com at 5000 gates. Os atrasos pino-a-pino para este dispositivo so cerca de 10-15ns. Em termos dos outros chips at agora discutidos, a funcionalidade da srie 3000 semelhante ao AMDs Mach 4. A srie 3000 oferece alguns avanos sobre as outras partes de Lattice para suportar os estilos de projetos mais recente, como JTAG boundary scan. A estrutura geral do dispositivo Lattice pLSI ou ispLSI indicada na Figura A.24.13. Ao redor do lado de fora do chip esto aos pinos bi-directional de I/Os, que esto conectadas tanto ao Generic Logic Blocks (GLBs) e ao Global Routing Pool (GRP). Os GLBs so pequenos bloco como PAL que consistem em um nvel AND, um alocador de termo de produto, e as macroclulas. O GRP um conjunto de fios que se estende por todo o chip e so disponveis para conectar as entradas e sadas dos GLB juntos. Toda a interconexo passa atravs do GRP, ento a durao entre os nveis de lgica nos chips da Lattice so bem previsveis, mais do que para os dispositivos AMD Mach.

Figura A.24.13 Arquitetura de um (i)PLSI da Lattice

2.2.4 Os CPLDs Cypress FLASH370 A Cypress recentemente desenvolveu uma famlia de produtos CPLD que so semelhantes aos dispositivos AMD e aos Lattice em muitas formas. Os CPLDs Cypress, chamados de FLASH370 so baseados na tecnologia FLASH EEPROM e oferece velocidade de desempenho de 8.5 a 15 ns de atraso pino a pino. As partes do FLASH370 no so programveis dentro do sistema. Por reconhecer que chips maiores precisam de mais I/Os, FLASH370 oferece mais I/Os do que os produtos competidores apresentam um relacionamento linear entre o nmero de macroclulas e o nmero de pinos I/O bi-directional. A menor parte tem 32 macroclulas e 32 I/Os e a maior 256 macroclulas e 256 I/Os. A figura A.24.14 mostra que a FLASH370 tem uma arquitetura CPLD tpica com mltiplos blocos como PAL e uma Programmable Interconnect Matrix (PIM) para conect-los. Dentro de cada bloco PAL existe um nvel AND que alimenta o alocador de termo de produto diretamente de 0 a 16 termos de produto para cada um das 32 portas OR. Note que um caminho de realimentao das sadas das macroclulas para a PIN com 32 fios.

Figura A.24.14 Arquitetura das CPLDs FLASHH370 da Cypress

2.2.5- Xilinx XC7000 CPLDs Apesar do Xilinx ser mais um fabricante de FPGAs, eles tambm oferecem uma seleo de CPLDs, chamada XC7000, e anunciaram uma nova famlia CPLD chamada XC9500. H duas famlias principais na famlia XC7000: a srie 7200, originalmente comercializada pelo Plus Logic como Hiper EPLDs, e a srie 7300, desenvolvida pelo Xilinx. A srie 7200 so dispositivos moderadamente pequenos, com cerca de 600 a 1500 gates de capacidade, e eles oferecem velocidade de desempenho de cerca de 25 ns de atraso pino a pino. Cada chip consiste em uma coleo de blocos como SPLD cada um tendo 9 macroclulas. As macroclulas da srie 7200 so diferentes daquelas dos outros CPLDs em que cada macroclula inclui duas portas OR e cada porta OR entrada para uma Unidade lgica Aritmtica (Arithmetic Logic Unit ALU). A ALU pode produzir qualquer funo de suas duas entradas, e a sua sada alimenta um flip-flop configurvel. A srie 7300 do Xilinx uma verso melhorada da 7200, oferecendo maior capacidade (at 3000 gates quando toda a famlia est disponvel) e maior velocidade de desempenho. Finalmente, o novo XC9500, quando disponvel, oferecer facilidade de programao dentro do circuito com 5 ns de atraso pino a pino e at 6200 gates lgicos.

2.2.6- Altera FLASHlogic CPLDs

O FLASHlogic da Altera, anteriormente conhecido como Intels FLEXlogic, tendo como caracterstica programao dentro do sistema e oferece on-chip blocos SRAM, uma caracterstica nica entre os produtos CPLD. A parte superior da Figura A.24.15 ilustra a arquitetura do dispositivo FLASHlogic; ele compreende uma coleo de blocos como PAL, chamado Configurable

Function Blocks (CFBs), onde cada um representa um 24V10 PAL otimizado.

Figura A.24.15 CPLD FLASHlogic Altera

Em termos de estrutura bsica, o FLASHlogic semelhante aos outros produtos j discutidos. Porm, eles tm uma caracterstica nica que os destaca entre todos os outros CPLDs: cada bloco PAL, ao invs de ser usado para lgica AND-OR, pode ser configurado como um bloco de Static RAM de 10 ns. Este conceito ilustrado na parte mais baixa da Figura A.24.15, que mostra um CFB sendo usado como um PAL e outro configurado como um SRAM. Na configurao do SRAM, o bloco PAL se torna uma memria de 128 palavras por 10 bit de escrita e leitura. As entradas que normalmente alimentariam o nvel AND no PAL nesse caso se tornam linhas de endereo, dados de entradas, e

controlam sinais para a memria. Note que os flip-flops e os Buffer tri-state ainda esto disponveis quando o PAL block configurado como memria. No dispositivo FLASHlogic, os bits de configurao dos nvel AND-OR so clulas SRAM que so copiadas pelas clulas EPROM ou EEPROM. As clulas SRAM so carregadas com uma cpia da memria no voltil EPROM ou EEPROM quando a fora aplicada, mas so as clulas SRAM que controlam a configurao do chip. possvel re-configurar os chips dentro do sistema por fazendo download da nova informao para dentro da clula SRAM. O contedo das clulas SRAM pode ser escrito de volta na EEPROM, para que uma reprogramao no voltil (in-circuit) esteja disponvel.

2.2.7- ICT PEEL Arrays

Os Arrays ICT PEEL so basicamente grandes PLAs que incluem macroclulas lgicas com flip-flops e realimentaes para o nvel lgico. Esta estrutura ilustrada na Figura A.24.16, que mostra um nvel AND programvel que alimenta um nvel OR programvel. As sadas do nvel OR so divididas em grupos de quatro, e cada grupo pode ser entrada de qualquer clula lgica. As clulas lgicas fornecem registradores para os termos soma e podem realimentar os termos soma para o nvel AND. Alm disso, as clulas lgicas conectam os termos soma aos pinos I/O. Por terem uma estrutura como um PLA, a capacidade lgica do arrays PEEL de alguma forma difcil de se medir comparada aos CPLDs discutidos at ento; uma estimativa de 1600 a 2800 gates.

Figura A.24.16 Arquitetura de Array PEEL da ICT Arrays PEEL oferecem relativamente poucos pinos de I/O, com a maior parte sendo oferecida em um pacote de 40 pinos. J que eles no so compreendidos de blocos SPLD, Arrays PEEL no se encaixam bem na categoria de CPLD, entretanto eles so includos aqui porque representam um exemplo de PLA bsico, antes que dispositivos baseados em PAL, e eles oferecem uma capacidade maior do que a de um tpico SPLD. A clula lgica no Arrays PEEL, ilustrada na Figura A.24.17, inclui um flip-flop configurvel como D, T, ou JK, e dois multiplexadores. Cada multiplexadores produz uma sada para a clula lgica e oferece ou uma sada registrada ou uma sada combinacional. Uma das sadas da clula lgica pode se conectar ao pino I/O e a outra sada est embutida internamente. Uma das caractersticas interessantes das clulas lgicas que o clock dos flip-flop, assim como os pinos de preset e clear so funo lgicas completas de soma de produto. Isto o diferencia de todos os outros CPLDs, que simplesmente oferecem termos de produtos para esses

sinais e atrativo para algumas aplicaes que requerem grande quantidade de termos de soma.

Figura A.24.17 Estrutura de um Array PEEL da ICT

Vous aimerez peut-être aussi