Professional Documents
Culture Documents
Introduo ao Quartus II
1. Apresentao
Este tutorial visa introduzir o usurio iniciante s ferramentas Quartus II e Altera
University Program Simulator, que so ferramentas de criao e simulao de circuitos
consecutivamente, da Altera. O Quartus II um ambiente para projeto de sistemas
digitais baseados nos dispositivos lgicos programveis (PLDs - Programmable Logic
Devices) fabricados pela Altera. Essa companhia norte-americana uma das lderes do
mercado mundial de lgica programvel. Esses PLDs nada mais so do que uma matriz
de blocos lgicos formados por portas lgicas e flip-flops. Esses blocos lgicos so
interligados por meio de uma rede de interconexo e o conjunto blocos lgicos/rede de
interconexo pode ser programado para implementar diferentes funes lgicas.
Conforme a estrutura de seus blocos lgicos e da rede de interconexo, esses PLDs
recebem denominaes diferentes: FPGA (Field Programmable Gate Array) ou CPLD
(Complex Programmable Logic Device).
O Quartus II um ambiente que integra um conjunto de ferramentas as quais permitem
ao projetista desenhar um diagrama lgico (esquemtico) ou especificar o circuito
atravs de uma linguagem de descrio de hardware, simular o funcionamento do
circuito especificado e sintetiz-lo mapeando-o para os CPLDs da Altera. Alm disso,
h uma srie de ferramentas que possibilitam a anlise dos tempos do circuito (timing),
a edio dos leiautes interno e externo do dispositivo, entre outras.
A Altera disponibiliza verses gratuitas dessa ferramenta de projeto no site, a qual
denominada Quartus II Web Edition (que possui limitaes quanto a recursos avanados
de projeto). Para realizar o download dessa ferramenta deve-se acessar o site da empresa
(www.altera.com) e clicar no link Download Center, exibido no lado direito do banner
superior. Faa o download do Quartus II, instale a ferramenta e execute-a.
Neste tutorial introdutrio, sero exercitadas apenas as ferramentas de entrada de
projeto atravs de diagramas esquemticos (desenho do circuito lgico) e de simulao
funcional do circuito. Ele servir tambm para apresentar o ambiente do Quartus II.
Para a simulao ser apresentada uma ferramenta a parte que era integrante do Quartus
II at sua verso 9.1sp2, porm nas verses posteriores foi desvinculada do Quartus II.
Embora desvinculada do Quartus II a altera continua dando suporte a ferramenta de
simulao, para o treinamento de estudantes, que est disponvel para Download. A
ferramenta de simulao deve ser instalada aps a instalao do Quartus II.
2. Conhecendo o Quartus II
Introduo ao Quartus II
(a) Barra de menus: Apresenta uma srie de opes disponveis ao usurio de acordo
com a respectiva opo. Ex.: Cria um projeto na opo File->New Project Wizard.
(b) Barra de ferramentas: Apresenta alguns atalhos para opes e ferramentas
disponveis no Quartus II.
(c) Campo de viso dos arquivos vinculados ao projeto ativo.
(d) Opo de viso que exibe os arquivos no campo de viso, de acordo com a
hierarquia de implementao.
(e) Opo de viso que exibe os arquivos no campo de viso em ordem alfabtica.
(f) Opo de viso que exibe os arquivos no campo de viso de acordo com as unidades
do projeto.
(g) Campo de viso que exibe as tarefas e o seu status. Ex.: Anlise e Sntese (Pronto).
(h) Campo de viso das mensagens, com vrias opes dentre elas, as mensagens de
erro e alertas.
(i) rea de trabalho: Onde seram trabalhados os arquivos do projeto. No caso de um
diagrama esquemtico, o usurio poder adicionar os blocos construtivos do circuito e
desenh-lo. Em caso de programao em linguagem de descrio, o usurio ter um
editor de texto para tal funo.
3. Criando um projeto
Cesar Albenes Zeferino & Eduardo Alves da Silva
Introduo ao Quartus II
Introduo ao Quartus II
No passo seguinte, ser solicitado que o usurio escolha o diretrio do projeto, o ttulo
do projeto e o nome da entidade topo do projeto (ateno: o nome da entidade topo
sensvel a caixa, e o arquivo que ser definido como topo da hierarquia dever possuir
exatamente o mesmo nome). Para este tutorial, feito no ambiente windows ser utilizada
a seguinte configurao.
Para utilizar o diretrio C:/Temp/Altera/Tutorial necessrio cri-lo primeiro, esta ao
pode ser feita no boto em destaque na figura abaixo, com o usurio deslocando-se at o
local e criando o diretrio Temp e subdiretrios Altera e Tutorial respectivamente.
O diretrio do projeto o local onde sero armazenados os arquivos do projeto.
conveniente que para cada projeto seja criado um diretrio especfico para seu uso.
Aps feito esta configurao avance clicando em Next.
Introduo ao Quartus II
Introduo ao Quartus II
Na pgina 2 o usurio pode adicionar arquivos e bibliotecas ao projeto que est criando
para utiliz-los. Esta opo ser utilizada e explicada com mais detalhes posteriormente.
Simplesmente avance esta etapa sem realizar nenhuma modificao.
Introduo ao Quartus II
Introduo ao Quartus II
Introduo ao Quartus II
Introduo ao Quartus II
10
Figura Mux_2x1.
Para construir o circuito da figura Mux_2x1 siga os seguintes passos:
Cesar Albenes Zeferino & Eduardo Alves da Silva
Introduo ao Quartus II
11
No campo name digite and2 e clique em ok, para adicionar uma porta lgica and de 2
entradas. Quando voltar para a rea de trabalho finalize a insero do smbolo com um
clique no local desejado na rea de trabalho.
2- Observe que no smbolo da porta lgica existem dois rtulos, um com o seu
nome e outro com id (no caso, inst). Esse id o nome do objeto no diagrama
atual. Este id ter uma importncia maior para circuitos mais complexos e com
hierarquia, na hora de identificar sinais para realizar a simulao. Os ids
utilizados neste projeto foram: PortaNot, Ax~Sel, BxSel e AorB (Vide
figura Mux_2x1). Para mudar o id dos objetos d um duplo clique sobre o texto
do id e insira o desejado.
3- A ttulo de exerccio, posicione o mouse sobre o smbolo and2, pressione o
boto esquerdo e o mantenha pressionado. Arraste o mouse para qualquer
posio e libere o boto pressionado. Utilize esse procedimento quando voc
quiser mover algum smbolo.
4- Repita os passos 1 e 2 para entrar com os smbolos abaixo (um a um):
and2
not
or2
input (trs cpias ou instncias)
output
Introduo ao Quartus II
12
Introduo ao Quartus II
13
5. Compilando o projeto.
Clique no boto da barra de ferramentas que est em destaque na figura abaixo, para
realizar a compilao.
Se todos os passos foram realizados corretamente o projeto ser compilado com sucesso
e no apresentar nenhum erro, apenas alguns warnings.
Introduo ao Quartus II
14
6. Simulando o projeto
6.1 Altera University Program Simulator
Nesta seo ser apresentada a ferramenta de simulao da altera que foi desvinculada
do Quartus II a partir da verso 9.1sp2.
Aps feito o Download e instalao da ferramenta execute-a.
OBS: No Linux no necessrio realizar a instalao da ferramenta, a mesma j fica
disponvel na instalao do quartus. Para iniciar o simulador no Linux basta encontrar o
executvel quartus_sh e execut-lo da seguinte forma quartus_sh --qsim
Ser inicializado o executvel em console (cmd no windows) e aps isso aberto a janela
inicial do programa (Figura abaixo).
A partir de ento abra o projeto criado no Quartus II, navegando no menu File->Open
Project.
Introduo ao Quartus II
15
Introduo ao Quartus II
16
Nesta janela iremos adicionar nossas portas de entrada e sada, e atribuiremos valores
para as entradas, com a finalidade de analisarmos se o circuito desenhado est
funcionando de acordo com o que precisamos (sadas corretas de acordo com as
entradas). No nosso exemplo utilizamos um multiplexador simples o qual possui 3
entradas (A, B e Sel), e 1 sada (Z).
O funcionamento deste multiplexador deve ocorrer da seguinte maneira: Se o seletor
(Sel) estiver em valor lgico 0 a sada Z dever apresentar exatamente o mesmo dado
da entrada A, caso o valor lgico de Sel seja 1, dever apresentar o dado presente na
entrada B.
Para adicionarmos os pinos de entrada e sada ao arquivo de formas de onda que est em
edio acesse o menu Edit->Insert->Insert Node or Bus. Como apresentado na figura
abaixo. H duas alternativas alm desta para adicionar os pinos e sinais, que so, efetuar
um duplo clique no local de insero das portas e sinais ou clicar com o boto
secundrio do mouse (geralmente o boto direito do mouse) e escolher a opo Insert
Node or Bus.
Introduo ao Quartus II
17
Clique no boto Node Finder... (em destaque na figura acima) para buscar os pinos e
sinais disponveis.
Ser apresentada a seguinte janela.
Cesar Albenes Zeferino & Eduardo Alves da Silva
Introduo ao Quartus II
18
Note que os campos named e look in esto preenchidos com *, significa que ser
buscado em todos os nomes e em todos os nveis de hierarquia do projeto. O campo
filter est com a opo Pins: all, indica que ser buscado todos os pinos de I/O do
topo da hierarquia do projeto. Efetue a busca de todos estes itens clicando no boto
List (em destaque na figura acima).
Note que sero exibidos os nodos encontrados na campo Nodes Found:, que so
respectivamente A, B, Sel e Z, onde indicado o tipo de cada um destes pinos
(3 input e 1 output, neste caso). Voc selecionar os pinos desejados a serem verificados
para o seu projeto, neste nosso tutorial utilizaremos todos os pinos, portanto passe para
o campo Selected Nodes: todos os pinos, um a um, ou todos, com o auxlio dos botes
presentes no centro da janela >, >>. Caso em algum momento seja inserido um pino
indesejado, basta selecion-lo no campo dos pinos selecionados e remov-lo com o
boto <, ou todos os pinos no boto <<.
Selelecione todos os pinos e passe-os para o campo de pinos selecionados e clique em
Ok como exibido na figura abaixo.
Introduo ao Quartus II
19
Aps feito isto, basta clicar em Ok (em destaque na figura abaixo) na janela de
insero de nodo ou barramento.
Introduo ao Quartus II
20
Introduo ao Quartus II
21
Ao clicar na opo Overwrite clock ser exibida a janela abaixo. Insira o valor 1.0 us
para o perodo, pois se voc notou o tempo total da simulao de 1000 ns (1.0 us)
(vide grid), e 50% para Duty Cycle. Portanto se o clock for de 1000 ns e a transio
ocorrer exatamente na metade do perodo (Duty Cycle = 50%), ter somente 1 transio
na metade da simulao. Aps isso clique em Ok.
Cesar Albenes Zeferino & Eduardo Alves da Silva
Introduo ao Quartus II
22
Com os valores atribudos para as entradas, salve o arquivo e podes fechar a janela de
edio das entradas. Retorne a janela principal do simulador.
Antes de realizar a simulao necessrio setar o arquivo recm criado como o arquivo
de simulao do projeto. Para isso v na opo do menu Assign->Simulation Settings.
E selecione o arquivo recm criado (vide figura abaixo).
Introduo ao Quartus II
23
Introduo ao Quartus II
24
Note que o circuito funcionou perfeitamente como o esperado de acordo com o que est
em destaque na figura acima, sendo que enquanto o Sel estava em 0 a sada Z foi
exatamente o que havia na entrada A e no momento em que Sel passou a ser 1 a
sada Z passou a apresentar o resultado de acordo com o que estava contido na
entrada B. Note tambm que existe um pequeno atraso nas transies da sada Z de
acordo com as entradas. Isso ocorre devido ao atraso de propagao pelo circuito, o qual
calculado pela ferramenta de simulao e j incluso no resultado.
A tabela verdade e equao lgica para o circuito desenhado so as seguintes:
Sel Z
0
A
ou seja, Z = Sel.A + Sel.B
1
B
Introduo ao Quartus II
25
Aps isso ser aberto uma janela de dilogo onde ter um menu lateral Category (
esquerda). Onde deve ser selecionada a opo EDA Tool Settings. Aps selecionada a
opo no menu, do lado direito aparecero as opes em forma de quadro (tabela).
As opes que nos interessam so Tool Name e Format(s) da linha onde a primeira
coluna (Tool Type), Simulation. Escolha para Tool Name e Format(s)
respectivamente: ModelSim-Altera e VHDL (Vide figura abaixo). Aps isso
conclua clicando em Ok.
Introduo ao Quartus II
26
Introduo ao Quartus II
27
V no menu Simulate -> Start Simulation para configurar o que ser simulado. Vide
figura abaixo.
Cesar Albenes Zeferino & Eduardo Alves da Silva
Introduo ao Quartus II
28
Ser apresentada uma janela de dilogo onde voc dever selecionar a unidade de
projeto que desejas simular. Selecione a entidade mux2x1 da biblioteca (Library) work.
O prximo campo que deve ser alterado a resoluo (em unidade de tempo) que ser
utilizada na simulao. Portanto no campo Resolution defina ns (nanosegundos).
Aps isso conclua clicando no boto Ok.
Configurao completa vide figura abaixo.
Introduo ao Quartus II
29
Aps isso ser retornado a tela principal da ferramenta com a aparncia da figura
abaixo.
Agora selecione os pinos que deseja visualizar nas formas de onda (waveform).
Escolheremos os mesmos pinos que usamos no outro simlulador. So eles A, B, Sel e Z.
Cesar Albenes Zeferino & Eduardo Alves da Silva
Introduo ao Quartus II
30
Para isso na janela central (Objects) em azul na figura acima, selecione esses 4 pinos.
Com os 4 pinos selecionados clique e arraste-os para a janela da direita (Wave).
Reordene os pinos e deixe os semelhante a figura abaixo em destaque. Com a seguinte
ordem: Sel, A, B e Z.
Introduo ao Quartus II
31
Ser aberta uma janela como a da figura abaixo, preencha os campos de acordo com a
figura abaixo e clique em Ok.
Introduo ao Quartus II
32
Aps isso as entradas esto com os valores atribudos e iremos ento realizar a
simulao.
Para tal devemos definir o tempo que ser simulado e executar a simulao. A definio
do tempo de simulao ser de 100ns, e aps isso clique no boto Run para executar a
simulao. Local para definio do tempo a ser simulado e boto de execuo em
destaque na figura abaixo.
Aps executar a simulao utilize os botes com smbolos de Lupa da figura acima para
melhor visualizar os resultados.
Introduo ao Quartus II
33
Se todos os passos foram seguidos corretamente o resultado deve ser algo semelhante ao
da figura abaixo.
Introduo ao Quartus II
34
Ser aberta uma janela de dilogo para salvamento do arquivo, salve o arquivo
verificando o diretrio do projeto e o nome desejado para o smbolo.
Cesar Albenes Zeferino & Eduardo Alves da Silva
Introduo ao Quartus II
35
Introduo ao Quartus II
36
Introduo ao Quartus II
37
Feito isto avance para a prxima pgina, e deixe a configurao exatamente como a do
primeiro projeto criado neste tutorial:
Family: Cyclone II
Introduo ao Quartus II
38
Compile o projeto.
Para visualizar a hierarquia do projeto basta selecionar a aba Hierarchy na viso do
Project Navigator (em destaque na figura abaixo).
Introduo ao Quartus II
39