Você está na página 1de 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 in-
sistema 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 Field-
Programmable 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 OR-
gate 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 in-
system. 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

Você também pode gostar