Escolar Documentos
Profissional Documentos
Cultura Documentos
Laboratrio Digital
Marlim Pereira Menezes
Profa. Dra. Liria M. Sato
Prof. Dr. Edson Midorikawa
Departamento de Engenharia de Computao e Sistemas Digitais
Escola Politcnica - USP - Campus So Paulo
2011
Licena de Uso
Este tutorial tem a finalidade nica e exclusiva para uso educacional sem fins lucrativos, sendo que
sua cpia, parcial ou total, est plenamente autorizada pelos autores.
Este documento um guia rpido que se aplica verso 9.1 do Quartus(R) II para a plataforma
Windows da Microsoft, no intuito de facilitar o aprendizado dos alunos num primeiro contato com
essa ferramenta. O mesmo foi desenvolvido para uso nas aulas prticas das disciplinas Laboratrio
Digital I e II do Departamento de Engenharia de Computao e Sistemas Digitais da Escola
Politcnica da USP, campus Butant.
Sua apresentao ser atravs da utilizao de um simples circuito digital, cujo objetivo
apresentar alguns dos comandos mais bsico do software Altera Quartus(R) II 9.1, que possui um
simulador incorporado. Essa tarefa ser realizada passo a passo.
1. Problema proposto
Deseja-se montar e simular o circuito digital, utilizando portas lgicas discretas, representado pela
expresso booleana:
(
(R)
-2-
Certifique-se de que o Altera Quartus(R) II verso 9.1 esteja instalado e pronto para uso no seu
microcomputador.
(R)
Figura 2 - cone de partida do Altera Quartus II 9.1 Web Edition na rea de trabalho do Windows.
(R)
Figura 3 - cone de partida do Altera Quartus II 9.1 Web Edition na barra de ferramenta do Windows.
File -> New Project Wizard... (na janela New Project Wizard: Introduction) -> Next >;
Aparecer uma sequncia de cinco pginas numeradas, mas no ser necessrio preencher todas
neste tutorial. Para cancelar a criao do projeto, em qualquer momento, basta clicar no boto
Cancel da pgina corrente.
Preencha os campos necessrios ao projeto nas pginas conforme indicado nas linhas que se
seguem:
Tela 1 de 5: New Project Wizard: Directory, Name, Top-Level Entity
-4-
(R)
-5-
Para verificar qual o FPGA sendo usado no projeto, basta observar a regio Project Navigator:
Entity, normalmente localizado esquerda do ambiente do Quartus(R) II 9.1. Veja a figura 6.
), localizado na rgua de
( ) -> Libraries -> [+] c:/altera/91/quartus/libraries/ -> [+] Primitives -> [+] logic ->
and2 -> OK -> [Boto esquerdo do mouse]
Duas portas lgicas AND de trs entradas:
( ) -> Libraries -> [+] c:/altera/91/quartus/libraries/ -> [+] Primitives -> [+] logic ->
and3 -> OK -> [Boto esquerdo do mouse]
Uma porta lgica OR de trs entradas:
-6-
( ) -> Libraries -> [+] c:/altera/91/quartus/libraries/ -> [+] Primitives -> [+] logic ->
or3 -> OK -> [Boto esquerdo do mouse]
Quatro portas inversoras NOT:
( ) -> Libraries -> [+] c:/altera/91/quartus/libraries/ -> [+] Primitives -> [+] logic ->
not -> OK -> [Boto esquerdo do mouse]
Quatro pinos INPUT para as entradas A, B, C e D:
( ) -> Libraries -> [+] c:/altera/91/quartus/libraries/ -> [+] Primitives -> [+] pin ->
input -> OK -> [Boto esquerdo do mouse]
Um pino OUTPUT para a sada FIBO:
( ) -> Libraries -> [+] c:/altera/91/quartus/libraries/ -> [+] Primitives -> [+] pin ->
output -> OK -> [Boto esquerdo do mouse]
Arraste o pino OUTPUT para prximo da sada da porta lgica or3, conforme figura 1.
Vamos girar os quatro pinos de entrada INPUT em 270o, de modo que fiquem com a extremidade
"pontiaguda" para baixo, vide figura 1. Para isto, selecione um pino de cada vez (clicando com o
mouse sobre ele) e execute os seguintes passos:
[Boto direito do mouse] -> Rotate by Degrees -> 270
Repita a operao anterior para girar os quatro inversores em 270o.
Agora reorganize todos os componentes na rea de desenho, de modo a ficarem dispostos como na
figura 1. Pronto, ento salve o projeto em disco, conforme descrito no Passo 6.
(R)
-8-
Podemos entrar com um ponto de teste de cada vez ou um conjunto, dentre os disponveis, em
uma operao s. Veremos os dois jeitos:
-9-
Siga os passos abaixo: Utilize a regio dos pontos de teste, vide figura 9:
Varivel A (linha 0): [Clique no desenho
(Multiplied by: 1) -> OK
] ->
] ->
] ->
] ->
O default o modo Timing que considera os atrasos internos do tempo no FPGA e ser aqui
adotado.
Na seo Outras Informaes apresentado como proceder para configurar o modo de simulao
Functional.
Vamos configurar o instante final (End Time) e a largura da grade de tempos (Grid Size) da
simulao. Clique na aba tutorial.vwf, para trazer a sua janela ao primeiro plano do ambiente de
desenvolvimento.
Edit -> End Time... -> (Time: 1.0 s) -> OK (Para podermos analisar melhor o
comportamento do circuito)
Edit -> Grid Size -> (Period: 40.0 ns) -> OK
Lembrete: Salve o arquivo com a sequncia de teclas [Ctrl+S] ou executando os comandos do Passo
12.
(R)
- 11 -
Note que o FPGA escolhido (Clyclone II EP2C35F672C6) apresenta atraso significativo no pino de
sada (FIBO) em relao aos pinos de entrada (A, B, C, D).
Outras Informaes
1. Abrindo um Projeto J Existente
Devemos apenas carreg-lo, executando os comandos a seguir:
File -> Open Project... -> Files of type: Quartus II Project File (*.qpf; *.quartus; *.quar) ->
Look in: Tutorial -> File name: tutorial -> Open
A figura 12 mostra como podemos identificar o projeto carregado e o FPGA selecionado para o
mesmo:
Para carregar o arquivo com o circuito digital d duplo clique em Nome do projeto corrente,
conforme mostrado na figura 12.
- 12 -
Criaremos um projeto para o circuito apresentado na figura 1. O nome deste projeto ser tutorial2
e o arquivo do circuito digital circuito.dbf.
File -> New Project Wizard... (na janela New Project Wizard: Introduction) -> Next >;
Aparecer uma sequncia de cinco pginas numeradas, mas no ser necessrio preencher todas
neste tutorial. Para cancelar a criao do projeto, em qualquer momento, basta clicar no boto
Cancel da pgina corrente.
Preencha os campos necessrios ao projeto nas pginas conforme indicado nas linhas que se
seguem:
Pgina 1 de 5: New Project Wizard: Directory, Name, Top-Level Entity
- 13 -
Note que no modo Functional o boto [Generate Functional Simulation Netlist] ficou ativo e esse
deve ser pressionado, para que a simulao neste modo funcione corretamente. Ento, a prxima
sequncia de comandos a ser seguida :
Clique em [Generate Functional Simulation Netlist] -> OK -> Start -> OK -> Report
O resultado da simulao mostrado na figura 15:
Compare as cartas de tempo das figuras 11 e 15. Observe a diferena clara entre os resultados das
simulaes nos modos Timing e Functional.
(EP2C35F672C6) que ser utilizado nas prximas experincias de laboratrio. A figura 16 mostra a
foto da placa de desenvolvimento com a descrio de seus principais componentes.
Neste ponto do curso o aluno j deve ter aprendido programar em VHDL, que a linguagem de
descrio de hardware utilizada para a programao e sintetizao de circuitos digitais em
dispositivos FPGA.
Dessa forma, o primeiro circuito digital que transformaremos em componente ser aquele
apresentado na figura 1 deste tutorial e, o segundo ser o mostrado na figura 17, a seguir:
Figura 17 Circuito digital do detector de ao menos dois 1s de 3 bits, a ser transformado em componente.
File -> Create/Update -> Create Symbol Files for Current File
A figura 18 mostra a sequncia de comandos acima aplicada no Quartus(R) II.
(R)
Figura 18 Imagem parcial da janela do Quartus II 9.1 com a sequncia de comandos para a transformao
de um circuito digital em um componente.
- 16 -
Figura 19 Note que o componente ser gravado no diretrio myLibrary, com o nome fibo_4bit.bsf, diferentes
dos nomes originais.
A partir deste ponto o componente gerado est pronto para ser utilizado em outros projetos
digitais, conforme a necessidade do projetista. Entretanto, para isto precisamos executar alguns
procedimentos, de modo a fazer com que o mesmo seja reconhecido pelo Quartus(R) II.
- 17 -
Figura 21 Opo no menu para incluso dos diagramas lgicos correspondentes aos componentes gerados no
(R)
Quartus II que sero utilizados no projeto.
pressionar o boto (
(
) para finalizar esta etapa do processo. Usaremos dois novos componentes gerados no
(R)
Quartus II no nosso sistema digital.
A figura 23 mostra como carregar um dos nossos componentes na folha de desenho do Quartus(R)
II. Mas, antes sigas estes passos: na rgua de ferramentas de desenvolvimento pressione em (
), em
(R)
Da para frente s seguir os passos que faltam, conforme apresentado anteriormente neste
tutorial. A figura 24 apresenta o sistema digital do nosso projeto de demonstrao do uso de
componentes gerados no Quartus(R) II, aps sua concluso.
(R)
Figura 24 Sistema digital do nosso projeto de demonstrao do uso de componentes gerados nos Quartus II.
- 19 -
Nesta figura, o componente tutorial contm o circuito digital da figura 1 deste tutorial e, o
componente detect_1 contm um circuito digital que detecta a ocorrncia de ao menos dois 1s
simultneos na faixa de 3 bits.
Como sugesto, experimente dar duplo clique em ambos componentes tutorial e detect_1 da
figura 24, no ambiente de desenvolvimento do Quartus(R) II e, observe o que acontece.
A figura 25 mostra a carta de tempos no modo Functional para a simulao do nosso sistema digital
mostrado na figura 24.
Figura 26 Comandos para designao dos sinais de entrada e sada do SD nos pinos do FPGA.
Aps a execuo destes comandos aparecer uma janela de edio dos pinos no FPGA, conforme
mostrado na figura 27, a seguir.
- 20 -
- 21 -
Placa DE2
Chave 0
Chave 1
Chave 2
Chave 3
LED Verde 7
LED Vermelho 0
Tenha em mos (impresso ou digital) o arquivo Altera DE2 Board Pin Table, do qual digitaremos os
nomes dos pinos nas linhas da coluna Location, conforme mostrado na figura 28, a seguir:
Figura 28 Mapa da designao dos pinos do FPGA com os sinais do SD e os componentes da placa DE2.
Lembrete: Mantenha a janela de designao de pinos (Pin Planner) aberta, apenas a minimize.
Volte janela principal do Quartus(R) II e recompile o circuito digital. Note que os nomes dos pinos
designados foram acrescentados ao esquema eltrico do sistema digital do projeto, conforme
mostrado na figura 29.
- 22 -
(R)
- 23 -
II.
(R)
Na figura 31, observe que o cdigo objeto do SD gerado pelo Quartus(R) II j foi carregado
automaticamente e, necessrio configurarmos o hardware da placa de desenvolvimento antes de
iniciar a programao da placa DE2. A configurao do hardware feita pressionando-se o boto (
), o qual abrir a caixa de dilogo da figura 32.
Aps selecionar o dispositivo USB-Blaster na caixa de edio Currently selected hardware clique
em (
- 24 -
(R)
).
Concluso
Este tutorial procurou iniciar o usurio no Altera Quartus(R) II 9.1 passo a passo, de forma bastante
simples, de modo que o mesmo possa se aperfeioar, por conta prpria, a partir deste ponto.
Foram includas as sees de criao de componentes, designao de pinos e programao da placa
de desenvolvimento Altera DE2.
Referncias
Quartus II Introduction Using Schematic Designs
ftp://ftp.altera.com/up/pub/Altera_Material/10.1/Tutorials/Schematic/Quartus_II_Introduction.pdf
- 25 -