Escolar Documentos
Profissional Documentos
Cultura Documentos
Dispositivos Lgicos
Programveis
Autores
Caio Augusto de Oliveira
Jssica Azevedo de Aguiar
Mateus Galvo Said Fontanini
Reviso
Prof. Marcelo Wendling
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
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.
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,
SPLDs
HCPLDs
10
11
uma
pequena
memria
FLASH
ou EEPROM
(Electrically Erasable
12
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.
13
14
(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.
(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
uma memria EEPROM, os dados podem ser programados com o circuito integrado
instalado na placa, caracterstica denominada ISP (In System Programmability).
16
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 flipflops que podem ser configurados como registradores de entrada ou sada.
17
18
19
20
21
(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.
(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.
22
ou linguagens de descrio,
simulao do circuito
23
24
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.
25
(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.
26
27
se a funcionalidade do projeto
28
29
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
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
32
(a)
(b)
Figura 15 Telas de simulao do exemplo proposto em (a) antes da simulao e (b) depois da simulao.
33
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
hardware selecionado,
35
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.
Elementos Lgicos
36
37
Buffers
38
Terminais E/S
biblioteca
de
megafunes
oferece
uma
variedade
de
mdulos
Componentes Aritmticos
39
Portas
40
Componentes de E/S
41
Compilador de Armazenamento
42
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
6. Bibliografia
ALTERA. Disponvel em: <http://www.altera.com>. Acesso em: 3 ago. 2011.
COIMBRA,
J.
M. Altera
CycloneTM
II. Disponvel
em:
RANGEL,
F.
R.
Aulas
FPGAs.
Disponvel
em: