Você está na página 1de 12

1

DISPOSITIVOS LGICOS PROGRAMVEIS


1. CIRCUITOS DIGITAIS
Os circuitos integrados desenvolvidos em uma pastilha de silcio podem ser divididos em
dois grupos de integrao: circuitos integrados padres e circuitos integrados de aplicao
especfica (ASIC).
Os circuitos integrados padres so compostos pelos circuitos integrados de funes
fixas, que correspondem aos componentes digitais bsicos (funes E's, OU's, No E's, OU's
Exclusivos, Flip-Flops, etc.), pelos microprocessadores e pelos circuitos integrados
reconfigurveis, ou programveis (dispositivos lgicos programveis).
Os circuitos integrados de aplicao especfica (ASIC) so subdivididos em circuitos
integrados denominados "FULL CUSTOM" e circuitos integrados denominados
"SEMICUSTOM".
Os componentes SEMICUSTOM se dividem nos arranjos de gates (Gate Arrays) e nos
arranjos de clulas (Cell Based).
A figura 1 resume esta classificao.
2
Fig.1 - Classificao dos circuitos integrados
Os circuitos integrados padres so disponveis no mercado em grande quantidade de
itens. So classificados em SSI (integrao de pequena escala) e MSI (integrao de mdia
escala), normalmente construidos em lgica TTL, ou CMOS, possuindo funes analgicas e
digitais de propsito geral, baixo custo, devido a sua produo em massa, com blocos funcionais
bastante simples e, portanto, necessitando de vrios componentes para a realizao de uma
funo especfica. Ainda so disponveis os LSI (integrao em grande escala) e os VLSI
(integrao em muito grande escala) que possuem funes especficas mais complexas, tais
como, perifricos de comunicao de dados, temporizadores, controladores de redes, interfaces
de barramentos, blocos para processamento digital de sinais, etc.
Microprocessadores so componentes extremamente flexveis devido a sua
programabilidade. A programao do componente torna-o flexvel para implementao de vrios
tipos de aplicaes, entretanto, a implementao de um algortmo por software ser mais lenta
que quando implementada por um hardware equivalente. Assim, para alguns casos, a tarefa
dever ser implementada por hardware.
Os componentes ASIC so programados atravs de interconexes metlicas usadas na
fabricao de circuito integrado, sendo tambm denominados de MPLDs (Mask-Programmable
3
Logic Device, ou seja dispositivos de lgica programvel por mscaras, e portanto, necessitam de
ter suas funes definitivas de operao implementadas na prpria construo do componente.
Os componentes ASIC's Full Custom tem o seu projeto desenvolvido a nvel de
transistores, para se obter uma performance tima, possuem longo tempo de desenvolvimento,
alto custo de projeto, alto nvel de integrao e somente poder ter uma alta performance de
desenvolvimento se produzido em grande volume.
Os componentes ASIC's Semicustom so fabricados em quantidades de milhares de
peas e utilizam de ferramentas CAD para o seu desenvolvimento. O projeto do usurio estar
baseado em blocos pr-desenvolvidos, ou em clulas contendo blocos lgicos, flip flops, ou
funes digitais maiores. O usurio no executa o seu projeto a nvel de transistores, ou de
desenvolvimento de clulas. Estes componentes geralmente so classificados em arranjos de
blocos (gate arrays), em arranjos de clulas (cell based) e em arranjos gerais de clulas (macro-
cells, ou general cells). Em todos os casos, a fabricao final do componente realizada pelo
fabricante de circuitos integrados.
Macro clulas so construdas com blocos e clulas compondo uma biblioteca de
funes, com nenhuma restrio no posicionamento destes itens em uma fila ou em uma matriz.
Podem incluir reas de memria RAM e ROM, arranjos lgicos programveis (PLA) e grandes
blocos funcionais, equivalentes aos VLSI's, por exemplo, microprocessadores, controladores de
CRT, etc.
"Gate arrays" so arranjos regulares de blocos que possuem clulas perifricas para
possibilitar interligaes de entrada e sada. Podem ser arranjados em blocos, em filas, ou em
matriz de blocos (sea-of-gates). Usualmente, somente as camadas de metais que interligam esses
blocos que sero desenvolvidas.
"Standard Cells" so compostos de uma biblioteca de clulas padres arranjadas em
arquitetura de filas e com canais de roteamento desenvolvido de acordo com a necessidade do
usurio. Algumas vezes somente se desenvolvem camadas de metais, outras vezes h a
necessidade de se desenvolver todas as camadas no componente.
4
A figura 2 apresenta a estrutura de arranjos de blocos organizados por blocos, filas e
matriz, com tambm a estrutura de um ASIC composto de clulas padres e blocos funcionais.
blocos
filas matriz
a)
b) c)
PLA
ROM
d) clulas e
blocos funcionais
Fig.2 - Estrutura de gate arrays organizados por
a) blocos b) filas c) matriz e de
standard cells contendo clulas e blocos funcionais
2. INTRODUO A LGICA PROGRAMVEL
Uma funo lgica, seja combinacional ou sequncial, poder ser representada na forma
de soma de produtos atravs do uso do Teorema de DeMorgan ou das Leis da lgebra
Booleana. Uma funo lgica complexa de multi-nveis poder facilmente ser reduzida a uma
configurao de dois nveis usando E's-OU's. Estas propriedades das funes lgicas
possibilitaram a implementaes de componentes eletrnicos contendo arranjos uniformes de
E's-OU's que podem ser programados, de uma maneira clara e eficiente, para a obteno da
funo desejada.
Com a finalidade de aumentar a capacidade de implementao lgica nos dispositivos
programveis, surgiram novas arquiteturas que incorporam flip-flops em suas estruturas para
facilitar o desenvolvimento de mquinas de estado e circuitos com lgica sncrona.
Os primeiros dispositivos programveis surgiram na dcada de 70 atravs do
desenvolvimento da tecnologia de memrias ROM programveis (PROM's).
5
Os componentes programveis so, portanto, circuitos integrados que podem ser
configurados pelo usurio em seu local de trabalho, sendo denomindados de FPLDs (Field-
Programmable Logic Device. Os mesmos, por serem fabricados por completo e no apresentarem
uma funo lgica definida, at que sejam configurados, diferem dos circuitos integrados
personalizveis por mscaras (ASIC, CUSTOM ou SEMICUSTOM), os quais tem um alto
fator de tempo de desenvolvimento e de custo.
Para poder personalizar um dispositivo programvel, o usurio ter a sua disposio
software que permite descrever a funo lgica desejada usando captura de diagramas
esquemticos, tabelas verdadeiras de tenso, equaes booleanas, linguagem de descrio de
hardware (HDL - Hardware Description Language), formas de ondas de sinais de entrada e
sada, ou qualquer outra opo fornecida pelo fabricante do componente. Aps a definio,
simulao e validao do funcionamento, haver um hardware especfico que ir programar o
dispositivo.
A programao do dispositivo feita de maneira serial, ou seja, somente um dispositivo
por vez. J para os dispositivos personalizados por mscaras, podem ser implementados
paralelamente tantos CI's quantos forem permitidos pelo processo de fabricao.
Nestes componentes sempre haver uma perda de elementos no utilizados pela funo
desejada. Assim, cabe ao fabricante desenvolver ferramentas que possibilitam melhorar o fator
de utilizao do CI, ou seja a relao entre a quantidade de funes lgicas implementadas e a
capacidade lgica do componente, atravs de otimizao dos elementos programveis e da
escolha adequada do componente a ser utilizado. Entretanto esta perda inevitvel de rea de
silcio no utilizada compensada com o baixo custo de desenvolvimento do dispositivo e a sua
rpida obteno.
Os dispositivos de programao utilizados nestes componentes so elementos de
programao que permitem conectar, ou no, dois pontos estratgicos do circuito. Comumente
6
estes elementos so elos fusveis, anti-fusveis, clulas SRAM, transistores EPROM e EEPROM.
Assim, alguns destes dispositivos podem ser reprogramados e outros so de programao nica.
As denominaes dos fabricantes para estes dispositivos programados pelos usurio,
normalmente citadas nas literaturas, so PROM's, PLE's, PAL's, PLA's, EPLD's, FPGA's, e
outros.
3. EPLD's
Os dispositivos lgicos programveis e apagveis - EPLD's (Erasable Programmable
Logic Devices) foram introduzidos pela empresa ALTERA no ano de 1983. Estes dispositivos
so circuitos integrados configurveis pelo usurio, os quais visam implementar funes lgicas
aleatrias.
Nos ltimos anos estes componentes tem sido preferidos nos projetos devido a sua alta
integrao, alta performance, baixo custo por funo e o decrscimo de custo que est ocorrendo
devido ao seu alto volume de fabricao.
Um EPLD pode ser usado, por exemplo, como mquina de estado, ou decodificador de
sinais, substituindo vrios componentes discretos que implementariam a mesma funo.
As suas principais vantagens so:
- Sua programabilidade e reprogramabilidade permite que funes possam ser alteradas
facilmente, simplificando o desenvolvimento de prottipos;
- Sua pinagem determinada pelo projetista, o que pode simplificar o desenvolvimento de placas
de circuito impresso, por movimentao dos sinais conforme desejado;
- Desde que so implementados em tecnologia CMOS, eles consomem menos potncia que os
dispositivos bipolares;
- Desde que uma clula EPROM tem ordem de magnitude menor que a de um fusvel bipolar,
ento, pode-se implementar mais funes em uma mesma rea de silcio. Esta alta integrao
pode resultar em uma quantidade menor de componentes usados em um projeto;
7
- Um EPLD substitue vrios componentes discretos. Isto implicar na reduo de tamanho da
placa de circuito impresso, do tempo de montagem, do nmero de componentes por placa, do
estoque de componentes, do tempo de desenvolvimento, entre outras caractersticas;
- A programao realizada pelo prprio usurio reduz consideravelmente o tempo de obteno
final do circuito e possibilita futuras modificaes;
- A tecnologia usada nestes componentes est baseada em clulas EPROM, clulas EEPROM e
clulas SRAM.
O princpio de funcionamento dos componentes EPLD's est baseado nos PAL's, com
estrutura programvel de E's e estrutura fixa de OU's. Entretanto, os EPLD's so compostos de
vrios sub-blocos equivalentes a um PAL, com estruturas de somas de produto, interligados por
um arranjo de conexes tambm programvel. Com isto, os sub-circuitos podero funcionar
independentemente, ou serem interligados internamente, para executarem uma funo maior.
A figura 3 apresenta esta estrutura.
'PAL'
'PAL'
'PAL'
'PAL'
Fig.3 - Estrutura dos Dispositivos EPLD's
8
A ALTERA oferece vrias famlias de dispositivos lgicos programveis, que so:
Clssica, MAX 5000, MAX 7000, MAX 9000, FLEX 8000 e FLEX 10K.
A arquitetura MAX usa a estrutura de matriz de arranjos mltiplos com tecnologia de
programao baseada nas clulas EPROM, ou EEPROM. A famlia FLEX usa a arquitetura de
matriz flexvel de elementos lgicos, com programao baseada em tabelas LUT (look-up table)
com clulas SRAM.
4. ARQUITETURA BSICA DE UM EPLD
O bloco bsico de um EPLD uma clula lgica de propsito geral que contem uma
lgica combinatorial e flip-flop programvel, que pode executar a funo de qualquer tipo de
flip-flop (D, T, JK e SR), como tambm, ter a sua operao curto circuitada, deixando a clula
executar uma funo puramente combinatorial.
Na famlia clssica e na famlia MAX 5000 a estrutura est baseada em clulas lgicas.
Na famlia MAX 7000, a estrutura formada por macroclulas que so blocos baseados em
termos produtos.
Na famlia FLEX 8000, a estrutura composta de uma matriz de elementos lgicos
(LE's), baseados em arquitetura "look-up table". Cada LE contem quatro tabelas (LUT - Look-up
table) para compor uma funo de quatro variveis e arquitetura de cascateamento para
implementar funes combinatoriais complexas e, tambm, contem registro programvel, para
implementar funes lgicas sequnciais.
Neste curso ser enfatizado a famlia MAX 7000.
5. FAMLIA MAX 7000
Esta famlia a segunda gerao da arquitetura MAX. Possui lgica variando de 1000 e
mais de 10000 gates equivalentes.
9
Os componentes tem encapsulamento variando de 44 a 208 pinos, no formato PLCC,
PGA, QFP e TQFP.
Tempo de atraso lgico de at 5 nseg. pino a pino e frequncias de contadores chegando
at 178.6 MHz.
Tambm possue bit de segurana programvel e todos os elementos desta famlia so
suportados pelo software de desenvolvimento MAX + PLUS II.
Possue arranjo de interconexo programvel (PIA) fortalecido, o que possibilita
velocidade e atrasos fixos entre uma fonte interna e algum circuito destino.
Possue macroclulas avanadas com localizaes lgicas eficientes, para possibilitar
velocidades e densidades timas.
Os registradores possuem, clear, preset, clock e habilitador de clock independentes.
Temporizaes para os registros ser realizada por arranjos internos, ou sinais globais de
temporizao.
Possue componentes com alimentao para 3,3 volts, para uso em circuitos portteis, por
exemplo notebooks.
A sua arquitetura inclue os seguintes elementos: arranjos de blocos lgicos (LAB),
macroclulas, expansores de termos produto, arranjo de interconexo programvel (PIA) e blocos
de controle de I/O. Em adicional, a famlia inclue quatro entradas dedicadas que podem ser
usadas como entradas de propsito geral, como sinal de alta velocidade, ou sinais de controle
global (clear, clock e habilitadores).
A macroclula avanada pode ser configurada para operao combinacional, ou
sequncial. composta de trs blocos funcionais: o arranjo lgico, a matriz de seleo de termos
produto e o registrador programvel.
A figura 4 apresenta esta estrutura.
10
D
PR
CLR
Q
ENA
Fig.4 - Macroclula da famlia MAX 7000
A lgica combinatorial implementada no arranjo lgico, que contem cinco termos
produtos por macroclula.
A famlia MAX 7000 possue alocao programvel de termos produtos, fazendo com que
um termo produto possa ser usado como entrada lgica primria, aplicada a soma dos elementos
(lgica OU e lgica OU exclusiva), para implementar a funo combinatorial, ou ser usado como
entrada lgica secundria, sendo aplicada aos controladores de habilitao de temporizao, do
clear, do preset, ou do clock.
Um termo produto por macroclula pode ser invertido e realimentado no arranjo lgico.
O software de desenvolvimento MAX + PLUS II automticamente otimiza a alocao
dos termos produtos.
A figura 5 apresenta um diagrama de blocos de um EPLD da famlia MAX 7000,
contendo o posicionamento dos elementos lgicos na estrutura.
11
LAB
LAB
LAB
LAB LAB LAB LAB
LAB LAB
LAB
LAB LAB
LAB
LAB
LAB
LAB
Fig.5 - Diagrama de blocos da famlia MAX 7000
A famlia MAX 7000 de alta densidade, com programao de alta performance,
fabricada na tecnologia CMOS e com programao baseada em EEPROM.
Alm da verso clssica, existem as verses: MAX 7000V, que opera com tenso de
alimenrtao de 3,3 volts, MAX 7000E, que a verso com caractersticas fortalecidas, incluindo
especificaes de barramento local PCI, e a verso MAX 7000S, que incorpora a interface serial
padro IEEE 1149, ou JTAG (Joint Test Action Group), que possibilita a programao na prpria
placa de circuito impresso denominada ISP (In-System Programmability), ou seja, pode-se alterar
as funes do dispositivo sem ter que retir-lo de sua placa de operao.
A programao dos dispositivos da famlia MAX 7000 poder ser efetuada com a
unidade de programao mestre, denominada MPU, ou com o dispositivo de programao
serial denominado byteblaster, para os dispositivo que possuam a comunicao JTAG.
12
Em parceria com a Unio Digital, a Datapool Eletrnica Ltda desenvolveu um pacote de
experincias que visam ensinar as caractersticas bsicas de projeto com o uso de dispositivos
lgicos programveis. Neste curso sero usados os dispositivos da famlia MAX 7000S. O pacote
contem projetos bsicos que envolvam os recursos do software MAX+PLUS II, nos modos de
desenvolvimento por esquemtico, por formas de ondas e por AHDL.
O projeto desenvolvido ser programado serialmente no dispositivo, via conexo a um
computador PC, atravs de um byteblaster, e um adaptador PLCC para dip, que possibilita a
conexo do dispositivo ao protoboard do mdulo digital 8810 da Datapool. Assim, aps a
programao do dispositivo, pode-se usar os recursos de entradas e sadas do mdulo 8810 para
efetuar a simulao e verificao do projeto.
Os dispositivos da famlia MAX 7000S possuem quatro pinos destinados a comunicao
para programao, assim em placas que se deseja efetuar a programao de um dispositivo
EPLD, deve-se deixar disponveis os pinos que executam estas funes. A figura 6 apresenta
esta conexo.
Fig. 6 Conexo para programao de dispositivo via JTAG

Você também pode gostar