GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

25
Tutorial para Criar e Simular Circuitos Digitais no Altera Quartus (R) II – versão 9.1 – Versão 1.1 Laboratório Digital Marlim Pereira Menezes Profa. Dra. Liria M. Sato Prof. Dr. Edson Midorikawa Departamento de Engenharia de Computação e Sistemas Digitais Escola Politécnica - USP - Campus São Paulo 2011

description

Tutorial FPGA

Transcript of GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Page 1: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Tutorial para Criar e Simular Circuitos Digitais

no Altera Quartus(R) II – versão 9.1 – Versão 1.1

Laboratório Digital

Marlim Pereira Menezes

Profa. Dra. Liria M. Sato

Prof. Dr. Edson Midorikawa

Departamento de Engenharia de Computação e Sistemas Digitais

Escola Politécnica - USP - Campus São Paulo

2011

Page 2: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 2 -

Licença de Uso

Este tutorial tem a finalidade única e exclusiva para uso educacional sem fins lucrativos, sendo que

sua cópia, parcial ou total, está plenamente autorizada pelos autores.

Este documento é um guia rápido que se aplica à versão 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 práticas das disciplinas Laboratório

Digital I e II do Departamento de Engenharia de Computação e Sistemas Digitais da Escola

Politécnica da USP, campus Butantã.

Sua apresentação será através da utilização de um simples circuito digital, cujo objetivo é

apresentar alguns dos comandos mais básico 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 lógicas discretas, representado pela

expressão booleana:

( ) ̅ ̅ ̅ ̅ ̅ ̅ ,

utilizando-se a ferramenta Quartus(R) II versão 9.1 da Altera.

A figura 1 mostra o circuito lógico obtido da expressão booleana anterior e, foi desenhado

utilizando-se o software Quartus(R) II 9.1. O objetivo deste tutorial é reproduzi-lo, passo a passo da

forma mais simples possível.

Figura 1 - Circuito da expressão F(A,B,C,D) modelado no Quartus

(R) II 9.1.

Page 3: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 3 -

Certifique-se de que o Altera Quartus(R) II versão 9.1 esteja instalado e pronto para uso no seu

microcomputador.

Passo 1: Iniciando o Quartus(R) II 9.1

Localize o ícone de partida do Quartus(R) II na área de trabalho do Windows, dê duplo clique ou

selecione-o com um clique do mouse em seguida pressione a tecla ENTER, ou um clique se o

mesmo estiver na barra de ferramentas. Veja as figuras 2 e 3:

Figura 2 - Ícone de partida do Altera Quartus

(R) II 9.1 Web Edition na área de trabalho do Windows.

Figura 3 - Ícone de partida do Altera Quartus

(R) II 9.1 Web Edition na barra de ferramenta do Windows.

No caso do ícone não estar na área de trabalho, siga um dos roteiros a seguir:

Em Português:

Iniciar -> Todos os Programas -> Altera -> Quartus II 9.1 Web Edition -> Quartus II 9.1 Web

Edition (ENTER ou clique simples).

Em Inglês:

Start -> All Programs -> Altera -> Quartus II 9.1 Web Edition -> Quartus II 9.1 Web Edition

(ENTER ou clique simples).

Se aparecer uma janela intitulada Getting Started With Quartus(R) II Software, então clique com o

botão esquerdo do mouse no "X" localizado no canto superior direito, para fechá-la. Aguarde a

janela de Splash sumir e o Quartus(R) II estará pronto para uso.

Passo 2: Criando um projeto digital novo

Criaremos um projeto para o circuito apresentado na figura 1. O nome deste projeto será tutorial.

Lembrete: Se não se deseja criar um projeto novo, e sim prosseguir o desenvolvimento de um

projeto já existente, ou utilizar um arquivo esquemático de um circuito já editado, os respectivos

procedimentos estão apresentados na seção Outras Informações.

Page 4: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 4 -

File -> New Project Wizard... (na janela New Project Wizard: Introduction) -> Next >;

Aparecerá uma sequência de cinco páginas numeradas, mas não será necessário preencher todas

neste tutorial. Para cancelar a criação do projeto, em qualquer momento, basta clicar no botão

Cancel da página corrente.

Preencha os campos necessários ao projeto nas páginas conforme indicado nas linhas que se

seguem:

Tela 1 de 5: New Project Wizard: Directory, Name, Top-Level Entity

Na primeira caixa de texto, clique no botão ( ) para escolher uma pasta onde será

criado o seu projeto, na segunda caixa de texto digite tutorial para o nome do

projeto e, a terceira será automaticamente preenchida com o texto digitado na

segunda caixa de texto, mas poderá ser alterado. Em nosso caso, aceitaremos o

mesmo nome dado ao projeto (tutorial). Veja a imagem na figura 4:

Figura 4: Tela 1 da criação de projeto.

Pressione no botão Next > para avançar;

Tela 2 de 5: New Project Wizard: Add Files

Não será inserido arquivo externo, então pressione em Next > para avançar;

Página 3 de 5: New Project Wizard: Family & Device Settings

Aqui é possível selecionar o FPGA a ser utilizado no projeto durante a sua criação.

Mas, esta opção será mostrada mais adiante no Passo 4 deste tutorial;

Pressione em Next > para avançar;

Página 4 de 5: New Project Wizard: EDA Tool Settings

Ignore esta página e pressione em Next > para avançar;

Página 5 de 5: New Project Wizard: Summary

Esta página contém um resumo das configurações feitas anteriormente para o

projeto sendo criado;

Pressione em Finish para concluir a criação do projeto.

Page 5: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 5 -

Passo 3: Criando o arquivo para o circuito digital do projeto

Um projeto criado no Quartus(R) II 9.1, normalmente estará vazio, entretanto, deveremos criar os

módulos que o compõe. Nesta seção prepararemos o ambiente de desenvolvimento para receber o

circuito digital que será simulado. Para isto execute os comandos a seguir:

File -> New (Aparecerá uma janela intitulada New);

Design Files -> Block Diagram/Schematic File -> OK, note que a área à direita da janela

principal do Quartus(R) II aparecerá com uma grade de pontos (esses pontos são utilizados

como coordenadas da tela para a disposição dos diversos componentes que constituem o

circuito digital).

Na margem esquerda da área de desenho há uma régua vertical com alguns botões, que

disponibilizam as opções de projeto tais como a biblioteca dos componentes, caixa de edição de

texto, lupa para zoom etc. Vide figura 5.

Figura 5 - Régua de ferramentas de desenvolvimento do Quartus

(R) II 9.1.

Passo 4: Escolhendo o FPGA a ser usado no projeto

Para especificar o FPGA que será usado no projeto execute as seguintes instruções:

Assignments -> Device... (Aparecerá a janela Settings); então selecione:

(Category: Device) -> (Family: Cyclone II) -> (Available devices: Name: EP2C35F672C6) -> OK

(Este chip FPGA foi selecionado porque é o que tem no Laboratório Digital).

Page 6: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 6 -

Para verificar qual é o FPGA sendo usado no projeto, basta observar a região Project Navigator:

Entity, normalmente localizado à esquerda do ambiente do Quartus(R) II 9.1. Veja a figura 6.

Figura 6 – Project Navigator: Entity com o FPGA selecionado.

Passo 5: Colocando os componentes na área de desenho

Utilize a figura 1 como referência, se necessário.

Execute uma das sequências de comandos abaixo para abrir a janela Symbol contendo a biblioteca

dos diversos componentes disponibilizados pelo Quartus(R) II 9.1.

[Botão direito do mouse, na área de desenho] -> Insert -> Symbol... ou;

[Botão direito do mouse, na área de desenho] -> Insert -> Symbol as Block... ou;

Clique no botão com o desenho de uma porta lógica ( ), localizado na régua de

ferramentas da figura 5.

Na janela Symbol, execute a sequência de comandos:

Se você desejar mais de uma cópia do componente selecionado, então ative o recurso (

) caso contrário mantenho-o desativado ( ). Este recurso

estando ativado não nos impede de colocar apenas uma cópia do componente desejado na área de

desenho, bastando para isto pressionar a tecla [ESC] ou executando a sequência de comandos com

o mouse: [Botão direito do mouse] -> Cancel.

Vamos colocar os componentes necessários ao nosso exemplo na área de desenho. Para isto,

execute os comandos a seguir:

Uma porta lógica AND de duas entradas:

( ) -> Libraries -> [+] c:/altera/91/quartus/libraries/ -> [+] Primitives -> [+] logic ->

and2 -> OK -> [Botão esquerdo do mouse]

Duas portas lógicas AND de três entradas:

( ) -> Libraries -> [+] c:/altera/91/quartus/libraries/ -> [+] Primitives -> [+] logic ->

and3 -> OK -> [Botão esquerdo do mouse]

Uma porta lógica OR de três entradas:

Page 7: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 7 -

( ) -> Libraries -> [+] c:/altera/91/quartus/libraries/ -> [+] Primitives -> [+] logic ->

or3 -> OK -> [Botão esquerdo do mouse]

Quatro portas inversoras NOT:

( ) -> Libraries -> [+] c:/altera/91/quartus/libraries/ -> [+] Primitives -> [+] logic ->

not -> OK -> [Botão esquerdo do mouse]

Quatro pinos INPUT para as entradas A, B, C e D:

( ) -> Libraries -> [+] c:/altera/91/quartus/libraries/ -> [+] Primitives -> [+] pin ->

input -> OK -> [Botão esquerdo do mouse]

Um pino OUTPUT para a saída FIBO:

( ) -> Libraries -> [+] c:/altera/91/quartus/libraries/ -> [+] Primitives -> [+] pin ->

output -> OK -> [Botão esquerdo do mouse]

Arraste o pino OUTPUT para próximo da saída da porta lógica 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:

[Botão direito do mouse] -> Rotate by Degrees -> 270

Repita a operação 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, então salve o projeto em disco, conforme descrito no Passo 6.

Passo 6: Salvando o projeto em disco

É boa prática de desenvolvimento salvar, frequentemente, o projeto ao longo de seu

desenvolvimento. Execute os comandos a seguir:

File -> Save -> (Save as type: Block Diagram/Schematic File (*.bdf)) -> (File Name: tutorial) -

> (Save in: Tutorial) -> Save.

Passo 7: Dando nomes aos componentes

Para dar nome a um componente basta dar duplo clique sobre o componente desejado e seguir os

passos (use a figura 1 como referência, se necessário):

Pinos de entrada: D, C, B, A.

Pin name(s): D -> OK (Na janela "Pin Properties").

Page 8: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 8 -

Pin name(s): C -> OK (Na janela "Pin Properties").

Pin name(s): B -> OK (Na janela "Pin Properties").

Pin name(s): A -> OK (Na janela "Pin Properties").

Pino de saída: FIBO

Pin name(s): FIBO -> OK (Na janela "Pin Properties").

Não será necessário mudar os nomes das portas lógicas, mas os procedimentos são os mesmos.

Passo 8: Conectando os diversos componentes

Conectar os componentes do circuito (veja a figura 1) é muito simples, bastando para isto

posicionarmos o ponteiro do mouse sobre o terminal desejado do componente de origem,

pressionar o botão esquerdo, mantê-lo pressionado e arrastar até o ponto ou terminal desejado do

componente destino, soltando-o em seguida. O aspecto do ponteiro do mouse será uma cruz com o

desenho Fio simples, vide figura 5.

Lembrete: É boa prática de desenvolvimento usando computador SEMPRE salvar o arquivo em

disco, para prevenir contra uma eventual queda de energia ou pane na máquina.

Passo 9: Salvando o arquivo do circuito

Execute os comandos a seguir:

File -> Save (ou [Ctrl+S]).

Passo 10: Compilando o projeto

Uma vez terminado o desenho do circuito, devemos compilá-lo, para em seguida fazermos a

simulação. A compilação é feita seguindo-se os passos abaixo:

Processing -> Start Compilation, ou um clique no botão indicado na figura 7, da barra de

ferramentas do Quartus(R) II 9.1.

Figura 7 - Barra de ferramentas do Quartus

(R) II 9.1, destacando o botão de compilação.

Page 9: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 9 -

Durante a compilação diversos relatórios são gerados e mantidos à disposição do usuário.

Passo 11: Criando a Simulação do projeto

Execute os comandos a seguir, para criar uma simulação:

File -> New -> [+] Verification/Debugging Files -> Vector Waveform File -> OK

Neste momento um arquivo que conterá os dados da simulação será criado e uma janela própria da

ferramenta de simulação do Quartus(R) II 9.1 será aberta e ficará pronta para uso. Essa janela é

dividida em quatro partes:

Régua de ferramentas para as configurações da simulação;

Régua com as bases de tempo;

Coluna para os nomes dos pontos de teste com a base de tempo e;

Área das cartas de tempo (timing chart) do circuito

Passo 12: Salvando a simulação

Salve o arquivo de simulação com o mesmo nome do projeto, ou seja, tutorial. Para isto execute a

sequência de comandos a seguir:

File -> Save -> (Save as type: Vector Waveform File (*.vwf)) -> (Save in: Tutorial) -> (File

name: tutorial) -> Save

Passo 13: Incluindo os pontos de teste para a Simulação

Clique o botão direito do mouse sobre a região dos pontos de teste do circuito simulado (colunas:

Name e Value at). Veja a figura 8:

Figura 8 – Área destinada à declaração dos pontos de teste do circuito.

Podemos entrar com um ponto de teste de cada vez ou um conjunto, dentre os disponíveis, em

uma operação só. Veremos os dois jeitos:

Page 10: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 10 -

Entrando um ponto de teste por vez:

[Botão Diteiro do Mouse] -> Insert -> Insert Node or Bus... -> (Name: A) -> OK

Entrando um conjunto dentre os pontos de teste disponíveis ou todos de uma só vez:

[Botão Diteiro do Mouse] -> Insert -> Insert Node or Bus... -> Node Finder... -> (Named: *) -

> (Filter: Pins: All) -> List -> [>>] -> OK -> OK

Passo 14: Determinando os sinais dos pontos de teste para simulação

No nosso caso temos cinco pontos de teste, isto é, quatro variáveis de entrada (D, C, B, A) e uma de

saída (FIBO), então configuraremos os sinais das entradas conforme disposto numa tabela verdade

de quatro variáveis, onde 0 indica nível lógico zero e 1 indica nível lógico um. Veja a figura 9.

Figura 9 - Pontos de teste para análise da simulação do projeto.

Siga os passos abaixo: Utilize a região dos pontos de teste, vide figura 9:

Variável A (linha 0): [Clique no desenho ] -> -> (Radix: Binary) ->Timing ->

(Multiplied by: 1) -> OK

Variável B (linha 1): [Clique no desenho ] -> -> (Radix: Binary) ->Timing->

(Multiplied by: 2) -> OK

Variável C (linha 2): [Clique no desenho ] -> -> (Radix: Binary) ->Timing->

(Multiplied by: 4) -> OK

Variável D (linha 3): [Clique no desenho ] -> -> (Radix: Binary) Timing->->

(Multiplied by: 8) -> OK

Deixe o ponto de teste FIBO com a configuração original.

Passo 15: Configurando a simulação

O Altera Quartus(R) II 9.1 tem três modos de simulação: Functional; Timing e; Timing using Fast

Timing Model.

Page 11: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 11 -

O default é o modo Timing que considera os atrasos internos do tempo no FPGA e será aqui

adotado.

Na seção Outras Informações é apresentado como proceder para configurar o modo de simulação

Functional.

Vamos configurar o instante final (End Time) e a largura da grade de tempos (Grid Size) da

simulação. 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 sequência de teclas [Ctrl+S] ou executando os comandos do Passo

12.

Passo 16: Executando a simulação

A simulação pode ser iniciada por três caminhos diferentes:

1. Clique na aba [Quartus II] -> Simulator Tool -> Start -> OK (Janela de Diálogo informando o

resultado da compilação) -> Report;

2. Processing -> Start Simulation -> OK (Janela de Diálogo informando o resultado da

compilação) e;

3. Através da régua de ferramentas, conforme indicado na figura 10.

Caso a simulação tenha sido iniciada a partir do menu (caminho 1) ou pressionando-se o botão em

destaque na figura 10 (caminho 3), então poderemos visualizar os relatórios (inclusive a carta de

tempos) executando a sequência de comandos: Processing -> Simulation Report, ou pelo atalho

[Ctrl+Shift+R].

A figura 10 mostra o botão da barra de ferramentas usado para executar a simulação.

Figura 10 - Botão para iniciar a simulação no Simulador do Quartus

(R) II 9.1.

O resultado da simulação é mostrado na figura 11:

Page 12: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 12 -

Figura 11 – Carta de tempos (Timing Chart) da simulação no modo Timing.

Note que o FPGA escolhido (Clyclone II – EP2C35F672C6) apresenta atraso significativo no pino de

saída (FIBO) em relação aos pinos de entrada (A, B, C, D).

Outras Informações

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:

Figura 12 - Projeto carregado e FPGA selecionado.

Para carregar o arquivo com o circuito digital dê duplo clique em Nome do projeto corrente,

conforme mostrado na figura 12.

2. Utilizando um Arquivo com Circuito Digital Já Editado (*.dbf)

Para utilizar um arquivo de circuito digital já editado (*.dbf) em um projeto novo, execute os

comandos a seguir:

Page 13: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 13 -

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 sequência de cinco páginas numeradas, mas não será necessário preencher todas

neste tutorial. Para cancelar a criação do projeto, em qualquer momento, basta clicar no botão

Cancel da página corrente.

Preencha os campos necessários ao projeto nas páginas conforme indicado nas linhas que se

seguem:

Página 1 de 5: New Project Wizard: Directory, Name, Top-Level Entity

Na primeira caixa de texto, clique no botão ( ) para escolher uma pasta onde será

criado o seu projeto, na segunda caixa de texto digite tutorial2 para o nome do

projeto e, a terceira deverá ser preenchida com o nome do arquivo do circuito digital

a ser aproveitado (circuito.dbf). Veja a imagem na figura 13:

Figura 13 - Criação de projeto novo com inclusão do arquivo do circuito editado.

Pressione no botão Next > para avançar;

Página 2 de 5: New Project Wizard: Add Files

Não será inserido arquivo externo, então pressione em Next > para avançar;

Página 3 de 5: New Project Wizard: Family & Device Settings

Aqui é possível selecionar o FPGA a ser utilizado no projeto durante a sua criação.

Mas, esta opção será mostrada mais adiante no Passo 4 deste tutorial;

Pressione em Next > para avançar;

Página 4 de 5: New Project Wizard: EDA Tool Settings

Ignore esta página e pressione em Next > para avançar;

Página 5 de 5: New Project Wizard: Summary

Esta página contém um resumo das configurações feitas anteriormente para o

projeto sendo criado;

Pressione em Finish para concluir a criação do projeto.

Copie o arquivo circuito.dbf para o diretório do novo projeto (Tutorial2).

Page 14: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 14 -

3. Configurando o modo da simulação Functional

Para mudar o modo de simulação execute a sequência de comando, a seguir:

Processing -> Simulator Tool. Veja a figura 14.

Para configurar o modo Funcional, deve-se preencher o modo de simulação com Functional. A

figura 14 , mostra esta configuração.

Figura 14 – Modo Functional.

Note que no modo Functional o botão [Generate Functional Simulation Netlist] ficou ativo e esse

deve ser pressionado, para que a simulação neste modo funcione corretamente. Então, a próxima

sequência de comandos a ser seguida é:

Clique em [Generate Functional Simulation Netlist] -> OK -> Start -> OK -> Report

O resultado da simulação é mostrado na figura 15:

Figura 15 – Carta de tempos (Timing Chart) da simulação no modo Functional.

Compare as cartas de tempo das figuras 11 e 15. Observe a diferença clara entre os resultados das

simulações nos modos Timing e Functional.

4. Trabalhando com o Kit de Desenvolvimento Altera DE2

Este item não existia na versão anterior deste tutorial, entretanto foi acrescentado aqui para uso

com o kit de desenvolvimento DE2 da Altera. Esse kit possui um chip FPGA Cyclone II

Page 15: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 15 -

(EP2C35F672C6) que será utilizado nas próximas experiências de laboratório. A figura 16 mostra a

foto da placa de desenvolvimento com a descrição de seus principais componentes.

Figura 16 – Kit de desenvolvimento DE2 da Altera.

(Fonte: http://www.terasic.com.tw)

Neste ponto do curso o aluno já deve ter aprendido programar em VHDL, que é a linguagem de

descrição de hardware utilizada para a programação e sintetização de circuitos digitais em

dispositivos FPGA.

4.1. Transformando um circuito digital em um componente

A transformação de circuitos digitais inteiros em “simples” componente é importante para a

diminuição da complexidade do sistema digital sendo projetado, pois isso acarreta na diminuição

de eventuais erros de projeto e, também um melhor entendimento da funcionalidade do mesmo

de forma mais abstrata.

Depois de implementado, compilado e testado com o simulador interno um circuito digital pode ser

facilmente transformado em um componente pelo Quartus(R) II de forma extremamente simples,

bastando para isto executar apenas uns poucos comandos como mostrado a seguir:

NOTA: Antes de executar os comandos abaixo certifique-se de estar com a área de desenho de

circuitos (Block Diagram/Schematic File) ativa com o circuito digital a ser transformado em

componente carregado.

Page 16: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 16 -

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 sequência de comandos acima aplicada no Quartus(R) II.

Figura 18 – Imagem parcial da janela do Quartus

(R) II 9.1 com a sequência de comandos para a transformação

de um circuito digital em um componente.

Page 17: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 17 -

A figura 19 mostra a caixa de diálogo para criação de diretório, nomeação do arquivo contendo o componente do circuito digital e gravação do mesmo em disco. O arquivo contendo o componente pode ter qualquer nome e ser gravado no diretório que o projetista desejar.

Figura 19 – Note que o componente será gravado no diretório myLibrary, com o nome fibo_4bit.bsf, diferentes

dos nomes originais.

A figura 20 mostra a caixa de diálogo de sucesso na geração do componente.

Figura 20 – Caixa de diálogo de sucesso na geração do componente.

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.

Page 18: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 18 -

4.2. Usando componentes gerados no Quartus(R) II

Criaremos um novo projeto para demonstrar o uso do componente gerado no passo anterior. Para

isto seguiremos os passos já apresentados ao longo deste tutorial, entretanto mostraremos

somente os passos adicionais relacionados à inclusão dos novos componentes. A figura 21 mostra

as configurações extras.

Figura 21 – Opção no menu para inclusão dos diagramas lógicos correspondentes aos componentes gerados no

Quartus(R)

II que serão utilizados no projeto.

A figura 22 mostra a janela para a inclusão/remoção de arquivos esquemáticos (circuitos digitais correspondentes aos componentes gerados no Quartus(R) II, usados no projeto).

Figura 22 – Janela de inclusão/remoção de arquivos esquemáticos representativos dos componentes gerados no

Quartus(R)

II, a serem usados no novo projeto.

Nesta tela o usuário deve clicar em ( ) e, a partir da caixa de diálogo de seleção de arquivos selecionar os arquivos esquemáticos correspondentes aos componentes gerados no Quartus(R) II e

Page 19: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 19 -

pressionar o botão ( ) para inclui-lo na lista, um de cada vez. Então, pressionar no botão

( ) para finalizar esta etapa do processo. Usaremos dois novos componentes gerados no Quartus(R) 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 régua de ferramentas de desenvolvimento pressione em ( )

e, na janela Symbol pressione em ( ) para abrir a caixa de diálogo de seleção de arquivos, em que o projetista deverá abrir o diretório onde se encontram os componentes criados (geralmente é um diretório com nome sugestivo como myLibrary, ou minhaBiblioteca, meusComponentes...) e

selecionar o arquivo com o nome do componente desejado, então pressionar ( ), em

seguida pressionar o botão ( ) na janela da figura 22.

Figura 23 – Carregando um componente gerado no Quartus

(R) II.

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 demonstração do uso de

componentes gerados no Quartus(R) II, após sua conclusão.

Figura 24 – Sistema digital do nosso projeto de demonstração do uso de componentes gerados nos Quartus

(R) II.

Page 20: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 20 -

Nesta figura, o componente tutorial contém o circuito digital da figura 1 deste tutorial e, o

componente detect_1 contém um circuito digital que detecta a ocorrência de ao menos dois 1s

simultâneos na faixa de 3 bits.

Como sugestão, 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 simulação do nosso sistema digital

mostrado na figura 24.

Figura 25 – Carta de tempos do projeto da figura 23, no modo Functional.

4.3. Designando a pinagem do FPGA para o sistema digital no Quartus(R) II

Antes da gravação do sistema digital do projeto no kit de desenvolvimento devemos designar os

pinos correspondentes às entradas e saídas dos sinais no FPGA. Para isto basta executarmos a

sequência de comandos a seguir.

Assignments -> Pins

Veja estes comandos na figura 26 abaixo:

Figura 26 – Comandos para designação dos sinais de entrada e saída do SD nos pinos do FPGA.

Após a execução destes comandos aparecerá uma janela de edição dos pinos no FPGA, conforme

mostrado na figura 27, a seguir.

Page 21: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 21 -

Figura 27 – Janela de designação da pinagem do SD no FPGA.

A imagem colorida nesta figura é mapa do FPGA selecionado no qual serão destacados os pinos

correspondentes aos sinais de entrada e saída do SD que foram automaticamente carregados na

região de baixo da janela, em forma de planilha, pelo aplicativo. Observe as colunas Node Name e

Direction. Para completar a designação da pinagem basta apontarmos cada sinal da coluna Node

Name para uma localização (Location) do mapa do chip.

Vamos designar alguns componentes (chaves e LEDs) da DE2 aos pinos correspondentes no mapa

de pinagem do FPGA, vide tabela 1 abaixo:

Tabela 1 – Designação dos sinais do SD com chaves e LEDs da placa DE2.

Nome do Sinal Sentido do Sinal Placa DE2

A Entrada Chave 0 B Entrada Chave 1 C Entrada Chave 2 D Entrada Chave 3 F Saída LED Verde 7 Y Saída LED Vermelho 0

Page 22: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 22 -

Tenha em mãos (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 designação dos pinos do FPGA com os sinais do SD e os componentes da placa DE2.

Lembrete: Mantenha a janela de designação 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 elétrico do sistema digital do projeto, conforme

mostrado na figura 29.

Page 23: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 23 -

Figura 29 – Esquema elétrico do SD depois da designação dos pinos.

NOTA: O processo de compilação já foi apresentado anteriormente, neste tutorial.

4.4. Gravando o sistema digital no FPGA com o Quartus(R) II

Esta etapa consiste na gravação do nosso projeto no FPGA da placa DE2, para testes em tempo real.

Para isto basta executar os comandos a seguir:

Tools -> Programmer

A figura 30 mostra a sequência de comandos anterior:

Figura 30 – Sequência de comandos para gravação na placa DE2, usando o Quartus(R) II.

Page 24: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 24 -

Após a execução destes comandos a janela mostrada na figura 31 será aberta.

Figura 31 – Janela de gravação do Quartus

(R) II na placa de desenvolvimento.

Na figura 31, observe que o código objeto do SD gerado pelo Quartus(R) II já foi carregado

automaticamente e, é necessário configurarmos o hardware da placa de desenvolvimento antes de

iniciar a programação da placa DE2. A configuração do hardware é feita pressionando-se o botão (

), o qual abrirá a caixa de diálogo da figura 32.

Figura 32 – Caixa de diálogo de configuração do hardware de desenvolvimento.

Após selecionar o dispositivo USB-Blaster na caixa de edição Currently selected hardware clique

em ( ) para aceitar e retornar à janela do programador. Vide figura 33.

Page 25: GuiaResumido-Quartus II 91 Corrigida v1.1 FPGA Cyclone II

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica – USP – Capital Tutorial Resumido para uso com o Altera Quartus(R) II 9.1 - Versão 1.1 - 09/2011

- 25 -

Figura 33 – Janela de gravação do Quartus

(R) II na placa de desenvolvimento, após a configuração do hardware.

Na figura 33, não há a necessidade de selecionar o projeto a ser gravado na placa de desenvolvimento, pois existe somente um. Note que o nome do hardware configurado aparece à

direita do botão ( ).

Para efetuar a programação da placa de desenvolvimento basta pressionar o botão (

) e o código objeto do SD demoMyComps.sof será transferido para a memória SRAM da mesma, vide figura 16.

Após o envio do código objeto para a programação da placa DE2, o resultado se houve sucesso

aparece como na figura 33, que corresponde à barra de progresso da programação Progress (

).

Conclusão

Este tutorial procurou iniciar o usuário no Altera Quartus(R) II 9.1 passo a passo, de forma bastante

simples, de modo que o mesmo possa se aperfeiçoar, por conta própria, a partir deste ponto.

Foram incluídas as seções de criação de componentes, designação de pinos e programação da placa

de desenvolvimento Altera DE2.

Referências

Quartus II Introduction Using Schematic Designs ftp://ftp.altera.com/up/pub/Altera_Material/10.1/Tutorials/Schematic/Quartus_II_Introduction.pdf