tutorial quartus ii - 01

19
CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2 TUTORIAL QUARTUS II - 01 Introdução O programa Quartus II é um sistema de desenvolvimento integrado para dispositivos com estrutura programável da empresa Altera. Primeiro, vamos esclarecer o que vem a ser estes dispositivos com estrutura programável. Um dispositivo programável, tipo microcontrolador ou microprocessador, possui uma estrutura de hardware definida com capacidade de executar instruções e realizar tarefas programadas. Um dispositivo com estrutura de hardware programável possui a capacidade de interligar diversos tipos de unidades digitais alocadas no interior do chip de modo a se adequar ao projeto pretendido. Há diversos tipos destes dispositivos que diferem pela quantidade e tipos de unidades básicas em seu interior. Nesta primeira etapa, vamos usar o programa Quartus II apenas para criar o esquemático e realizar simulação funcional, neste tipo de simulação não é considerado o tempo de resposta dos dispositivos. Realmente, para apenas estas tarefas qualquer outro simulador eletrônico seria suficiente. Porém, também iremos usar o programa Quartus II para implementar um projeto no kit FPGA FPT-1 adquirido pelo DEPEL. Apesar do projeto a ser proposto ser de complexidade baixa, mesmos assim seria de difícil montagem em bancada usando “protoboard” ou o kit digital do laboratório, neste caso um programa de simulação eletrônica não seria suficiente. Criando um Projeto É necessário criar um diretório de trabalho para armazenar todas as informações pertinentes ao projeto. Vou imaginar que há no diretório raiz um diretório com o nome de “c:/projetos_quartusii”. Neste diretório será criado o diretório “ c:/projetos_quartusii/exor” que conterá um projeto da porta lógica OU_EXCLUSIVO. Há várias formas de realizar esta tarefa, vou seguir um caminho que para alguns alunos pode não ser o melhor modo mas certamente será um início de trabalho e aprendizagem para muitos alunos. Ao chamar o programa Quartus II a janela principal pode aparecer de diversas formas diferentes. A janela principal da forma mais básica, ou seja, sem nenhuma janela extra aberta, é mostrada na figura abaixo. Prof Canella : [email protected]

Upload: felipe-rangel

Post on 25-Jul-2015

411 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

TUTORIAL QUARTUS II - 01

Introdução

O programa Quartus II é um sistema de desenvolvimento integrado para dispositivos com estrutura programável da empresa Altera. Primeiro, vamos esclarecer o que vem a ser estes dispositivos com estrutura programável. Um dispositivo programável, tipo microcontrolador ou microprocessador, possui uma estrutura de hardware definida com capacidade de executar instruções e realizar tarefas programadas. Um dispositivo com estrutura de hardware programável possui a capacidade de interligar diversos tipos de unidades digitais alocadas no interior do chip de modo a se adequar ao projeto pretendido. Há diversos tipos destes dispositivos que diferem pela quantidade e tipos de unidades básicas em seu interior. Nesta primeira etapa, vamos usar o programa Quartus II apenas para criar o esquemático e realizar simulação funcional, neste tipo de simulação não é considerado o tempo de resposta dos dispositivos. Realmente, para apenas estas tarefas qualquer outro simulador eletrônico seria suficiente. Porém, também iremos usar o programa Quartus II para implementar um projeto no kit FPGA FPT-1 adquirido pelo DEPEL. Apesar do projeto a ser proposto ser de complexidade baixa, mesmos assim seria de difícil montagem em bancada usando “protoboard” ou o kit digital do laboratório, neste caso um programa de simulação eletrônica não seria suficiente.

Criando um Projeto

É necessário criar um diretório de trabalho para armazenar todas as informações pertinentes ao projeto. Vou imaginar que há no diretório raiz um diretório com o nome de “c:/projetos_quartusii”. Neste diretório será criado o diretório “c:/projetos_quartusii/exor” que conterá um projeto da porta lógica OU_EXCLUSIVO. Há várias formas de realizar esta tarefa, vou seguir um caminho que para alguns alunos pode não ser o melhor modo mas certamente será um início de trabalho e aprendizagem para muitos alunos.

Ao chamar o programa Quartus II a janela principal pode aparecer de diversas formas diferentes. A janela principal da forma mais básica, ou seja, sem nenhuma janela extra aberta, é mostrada na figura abaixo.

Prof Canella : [email protected]

Page 2: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Vamos iniciar o nosso estudo apenas com a janela básica, as outras janelas irão surgir com o uso do programa e elas poderão ser mantidas abertas ou fechadas a qualquer momento. Com o tempo de uso o aluno aprenderá a modificar as opções e escolherá a que mais se adaptar aos seus projetos.

Pode-se incluir diversas informações na janela principal usando as opções do menu “View/Utility Windows”, conforme mostra a figura abaixo.

Para criar um novo projeto vamos para o menu “File/New Project Wizard ...”, mostrado na figura abaixo.

Prof Canella : [email protected]

Page 3: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Diferente dos programas de simulação de circuitos, este e outros sistemas integrados afins necessitam de informações sobre o dispositivo que será usado no projeto. Esta e outras informações, como as que descrevem os circuitos a serem implementados, são armazenadas em um diretório denominada diretório de trabalho (“working directory”). Note que no Quartus II a entrada de descrição do projeto não e feita apenas usando diagrama esquemático, como sempre é usado nos programas de simulação de circuitos, outras formas mais eficientes de descrição de circuitos são empregadas, por exemplo: verilog, AHDL e VHDL.

Ao clicar nesta opção diversas janelas surgem em sequência. A primeira janela é apenas uma introdução, pode-se marcar a caixa de dialogo localizada no canto inferior esquerdo para que ela não seja mostrada novamente. Nesta janela apenas clique em “Next>”, conforme mostra a figura abaixo.

A próxima janela que surge é para definir no primeiro campo o diretório de trabalho, no segundo campo o nome do projeto e o terceiro campo copia automaticamente o conteúdo do campo 2, este pode ser alterado se for necessário. Para a nossa atual atividade basta definir o diretório de trabalho e o nome do projeto e clicar em “Next>”, conforme mostra a figura abaixo.

Prof Canella : [email protected]

Page 4: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Note que o arquivo principal que descreve o projeto deve ter o nome do terceiro campo. O termo entidade é usado em linguagem de descrição de máquina, VHDL por exemplo, no nosso nível de trabalho, diagrama esquemático, será o nome do arquivo que descreve o esquemático do projeto.

A próxima janela que surge é para incluir arquivos no projeto, no momento ainda não há arquivos para serem incluídos, apenas clique em “Next>”, conforme mostra a figura abaixo.

Durante a etapa de desenvolvimento de um projeto, diversos arquivos com a descrição do funcionamento e da estrutura do projeto serão criados e devem ser salvos no diretório de trabalho e incluídos no projeto para que o mesmo possa ser compilado. Para os usuários acostumados a programação de linguagens estruturas como a C vão encontrar várias semelhanças entre o processo de programação estruturada e o processo de criação de circuitos a serem implementados em um dispositivo FPGA.

A próxima janela que surge é para definir o dispositivo FPGA que será usado, neste momento apenas faça as escolhas indicadas e clique em “Next”, conforme mostra a figura abaixo.

Prof Canella : [email protected]

Page 5: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

EPF10K10TC144-4 é o dispositivo FPGA da Altera que compõe o KIT didático FTP-1 adquirido pelo DEPEL e que será usado nesta disciplina.

Na próxima janela que surge apenas clique em “Next>” sem nada alterar, conforme mostra a janela abaixo.

Esta janela define o direcionamento para programas de terceiros, no nosso caso apenas vamos usar o programa Quartus II que possui todos os itens necessários para a realização do projeto e é disponibilizado sem custo no site www.altera.com.

A próxima janela que surge apenas mostra as opções feitas, confira e clique em “Finish”, conforme mostra a figura abaixo:

Pronto, o projeto “exor” já está criado. Note que durante a criação de um projeto é possível voltar e alterar as opções feitas anteriormente, basta clicar em “<Back” e voltar para a janela anterior.

Prof Canella : [email protected]

Page 6: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Na próxima etapa vamos definir o projeto, normalmente esta é a primeira etapa, alterada a ordem neste texto apenas para dar mais destaque ao uso do programa Quartus II.

Projeto

O projeto a ser criado é bastante simples, apenas vamos implementar uma porta OU-EXCLUSIVO usando portas lógicas mais básicas: AND, OR e NOT.

A partir da equação abaixo, a qual descreve o funcionamento de uma função lógica ou-exclusivo em termos de álgebra booleana.

Y=A⊕B=A⋅BA⋅B

Neste caso, será necessário duas portas AND ( and2 ) de duas entradas, uma porta OR ( or2 ) de duas entradas, duas portas NOT ( not ), definir dois pontos de entradas ( A e B ) e definir um ponto de saída ( Y ). Note a necessidade de definir pontos de entradas e saídas, pois estes serão os pinos de acesso ao dispositivo implementado no FPGA.

A tabela verdade para esta função lógica é dada na tabela abaixo.

A B Y

0 0 0

0 1 1

1 0 1

1 1 0

Será necessário criar o arquivo com o diagrama esquemático que realiza a função lógica acima definida usando apenas as portas lógicas básicas AND, OR e NOT, o que será feito no próximo item.

Criar um arquivo de esquemático

Para criar um arquivo de esquemático vamos acessar a opção “File/New ...”, conforme mostra a figura abaixo

Prof Canella : [email protected]

Page 7: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Surge uma tela com diversas opções, vamos escolher a opção “Design Files / Block diagram – Schematic File” e clicar em “Ok”, conforme mostra a figura abaixo:

Logo surge uma janela dentro da janela principal que é para a criação do esquemático, esta janela pode ser maximizada para ocupar toda a área disponível da janela principal, conforme mostra a figura abaixo.

Neste ponto a tarefa de criar um esquemático se aparenta muito com os programas normalmente usados para este fim. O usuário deve se acostumar com as opções fornecidas e explorar ao máximo o editor de esquemático disponível no Quartus II.

Prof Canella : [email protected]

Page 8: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Para este projeto vamos apenas usar as portas lógicas descritas no item Projeto, para ter acesso as opções de portas disponíveis basta clicar na figura que aparenta uma porta AND, localizado no quadro no lado esquerdo da tela.

A biblioteca é mostrada em forma de diretório, sendo o diretório raiz localizado em “c:/altera/90sp2/quartus/libraries/”. As portas necessárias ao atual projeto estão nos subdiretórios “./primitives/logic” e “./primitives/pin”. Vou exemplifica apenas a obtenção da porta AND, para isto o aluno deve selecionar a opção and2 no subdiretório “./logic”, conforme mostra a figura abaixo.

Ao selecionar a porta a ser usada, basta clicar em “Ok” para que a mesma seja transportada para a tela de esquemático. Nesta, basta posicionar e clicar com o botão esquerdo do mouse e posicionar quantas portas and2 forem necessárias, para sair do modo de inserção de símbolo basta

Prof Canella : [email protected]

Page 9: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

pressionar a tecla “Esc”. Repita o passo posicionando todas as portas necessárias e também os pontos de entrada ( input ) e saída ( output ), estes estão no subdiretório “./pin”.

Explore todas as opções oferecidas, vão verificar que apesar da dificuldade inicial o uso do programa Quartus II mesmo em tarefas simples vai mostrar ser mais eficiente do que os programas destinados apenas à simulação de circuitos. A figura abaixo mostra o esquemático a ser obtido para este projeto.

É necessário fazer as ligações entre os componentes e nomear os pontos das entradas e saídas. Para conectar os componentes clique na figura que aparenta um fio em ângulo reto localizada abaixo do desenho que aparenta um porta AND. Para nomear os pontos de entrada e saída basta dar dois cliques com o botão esquerdo do mouse e alterar os nomes, conforme mostra a figura abaixo.

Prof Canella : [email protected]

Page 10: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Não pretendo neste tutorial ensinar o completo uso do editor de esquemático do Quartus II, cabe ao aluno explorar as opções e ferramentas oferecidas e com o tempo de uso descobrir novas funções e melhorar a cada projeto o desenvolvimento do esquemático.

Nesta etapa temos que salvar o esquemático, clique no botão na barra de ferramentas que aparenta um disquete ou acesse a opção “File/Save”, conforme mostra a figura abaixo.

Note que na primeira vez que um projeto será salvo, será aberta uma caixa de diálogo perguntando o nome e com a opção de incluir no projeto ativada. Mantenha as opções oferecidas e apenas clique em “Ok”, neste caso será salvo o arquivo com o nome exor.dbf, conforme mostra a figura abaixo.

Pronto, o esquemático do circuito lógico que descreve a função ou-exclusivo já está gravado no diretório de trabalho e incluso como parte do projeto.

Prof Canella : [email protected]

Page 11: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Deve-se neste momento fazer a compilação do projeto para que o programa realize diversas verificações e crie os arquivos necessários no diretório de trabalho. Para isto, acesse o menu “Processing/Start Compilation”.

Caso seja indicado algum erro, faça as alterações necessária. Caso não haja erro a tela abaixo será mostrada, basta clicar em “Ok”.

Aparece uma mensagem de aviso que indica uma das muitas limitações da versão “free”, ou seja, web editon: “Warning: Feature SignalProbe is not available with your current license”. Basta clicar em “Ok” e desativar as janelas extras que surgiram.

Neste ponto estamos pronto para preparar o arquivo de formas de onda com a descrição em diagrama de tempo das entradas e realizar a simulação funcional do projeto.

Prof Canella : [email protected]

Page 12: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Simulador de circuito

Esta etapa normalmente difere bastante do que o aluno está acostumado a fazer quando usa um programa de simulação de circuito. Antes de continuar gostaria de esclarecer a diferença entre um simulador de circuito e uma bancada virtual, o que é normalmente usado pelos alunos.

Eu sou contra a idéia de usar bancada virtual em qualquer que seja o tipo de laboratório. Por outro lado, sou a favor e incentivo a prática de simular um circuito antes de realizar a sua montagem prática. Logo, qual é a diferença entre um simulador de circuito e uma bancada virtual.

O objetivo de um programa de bancada virtual é substituir a bancada e os componentes reais, ou seja, o aluno monta toda a experiência usando apenas um computador com diversos tipos de dispositivos e instrumentos de entrada e saída que imitam os reais. Obviamente, os programas de bancada virtual também são simuladores e pode-se geralmente usar a opção de simulação sem usar os dispositivos e instrumentos de entradas e saídas virtuais, se tornando simplesmente um simulador de circuito.

A opção de bancada virtual é ótima para o aluno praticar e se aperfeiçoar em casa o uso de uma bancada real. Realmente, não havendo acesso a componentes e instrumentos reais, a bancada virtual seria a única opção. Para exemplificar, é melhor ter um piloto que praticou bastante em um ótimo simulador de vôo do que um que apenas estudou como pilotar em livros. Pensando bem, antes dele por em risco vidas e patrimônios de terceiros é melhor ele praticar e acumular muitas horas de vôo sob a orientação de um ótimo instrutor antes de assumir o controle de um avião.

A simulação de um circuito é para verificar se o projeto está funcionando de acordo com o esperado e, principalmente, verificar se com o uso dos componentes físicos e em situações reais a resposta obtida está dentro da especificada. Para um projeto simples, como o apresentado neste tutorial, não é possível verificar as vantagens de um simulador de circuito em relação ao uso de uma bancada virtual. No entanto, para projetos com um grande número de possibilidade de entradas e condições especiais, variação temperatura e características dos componentes por exemplo, apenas será possível com o uso de um ótimo simulador de circuito, que em alguns casos é específico para cada tipo de dispositivo empregado e de custo bastante elevado.

O primeiro passo para realizar a simulação de um circuito é definir as formas de ondas no tempo das entradas e definir quais os sinais de saídas deverão ter as formas de ondas no tempo analisadas.

Gerador de Formas de Onda e Simulador Funcional

Gerar um arquivo com as formas de onda no tempo dos sinais das entradas que irão excitar o circuito lógico é uma tarefa bastante simples com o editor de forma de ondas do Quartus II. Neste primeiro projeto iremos fazer apenas a simulação funcional, ou seja, será apenas criado os estados lógicos dos sinais de entrada e analisado os estados lógicos das saídas selecionadas, o tempo de respostas das portas não será analisado.

Primeiro vamos configurar o programa para simulação funcional, para isto devemos acessar o menu “Assigments/Timming Analysis Setting ...”, conforme mostra a figura abaixo.

Prof Canella : [email protected]

Page 13: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Na nova janela que surge, quadro “Settings”, na opção “Simulator Setting” escolher “Functional” para “Simulation mode” e clicar em “Ok”, conforme mostra a figura abaixo.

Prof Canella : [email protected]

Page 14: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Vamos criar um novo arquivo acessando o menu “File/New...”, conforme já foi feito para a criação de um arquivo com o esquemático. Agora, vamos selecionar a opção “Verification – Debugging Files / Vector Waveform Files”, conforme mostra a figura abaixo.

Na nova tela que surge, quadro “New”, iremos incluir todas as entradas e saídas as quais terão as formas de ondas criadas ou analisadas, conforme mostra a figura abaixo.

Para incluir os sinais de entrada e saída desejados, deve-se acessar o menu em “Edit/Insert/Insert Node ou Bus ...”, conforme mostra a figura abaixo.

Prof Canella : [email protected]

Page 15: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Na janela que surge, quadro “Insert Node or Bus”, clique em “Node Finder ...”, conforme mostra a figura abaixo.

Na janela que surge, quadro “Node Finder”, clique em “list” para listar todas as entradas e saídas, então selecione as entradas A e B e a saída Y e clique em “Ok” na janela atual e na próxima, conforme mostra a figura abaixo.

Prof Canella : [email protected]

Page 16: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Para um projeto com grandes dimensões, será necessário escolher o arquivo que pertence as entradas a serem selecionadas e usar as opções de filtro para reduzir o número de entradas a serem mostradas para a seleção.

Ao retornar para o editor de formas de onda, agora com as entradas A e B e a saída Y, selecionamos a entrada B, basta dar um clique sobre ela, e usamos a opção “count value”, um símbolo de forma de onda digital com a letra C, conforme mostra a figura abaixo.

Na janela que surge, escolha a aba “timing” e configure o campo “Multiplied by” com o valor 2, conforme mostra a figura abaixo.

Prof Canella : [email protected]

Page 17: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Repetir o processo para a entrada A, neste caso configure o campo “Multiplied by” com o valor 1. Após salvar a forma de onda, usando o nome sugerido pelo programa, devemos gerar o arquivo netlist com as definições funcionais das formas de ondas criadas. Para isto, acessar a opção “Processing/Generate Functional Simulation Netlist”, conforme mostra a figura abaixo.

Aguardar a execução do comando, após o aviso de que o processo ocorreu com sucesso, acessar a opção “Procecing/Start Simulation” para que possa ser gerada a forma de onda da saída Y, conforme mostra a figura abaixo.

Prof Canella : [email protected]

Page 18: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Aguardar até que o processo de simulação esteja completo e com sucesso, clique em “Ok” na tela que surge e escolha “Open” no quadro “Simulator Tool”, conforme mostra a figura abaixo.

O quadro com as formas de onda aparecerá com a forma de onda no tempo da saída Y definida, conforme mostra a figura abaixo.

O aluno deve explorar ao máximo as opções fornecidas para melhor analisar e apresentar os resultados obtidos.

Note que com as definições feitas a entrada A muda de estado duas vezes em relação a entrada B, repetindo várias vezes os quatro possíveis estado para as entradas A e B e a respectiva saída Y.

Prof Canella : [email protected]

Page 19: Tutorial Quartus II - 01

CEFET-RJ / DEPEL / ELETRÔNICA DIGTAL / 2011-2

Resumo

Com o tempo de uso o aluno vai notar que o uso do programa Quartus II se resume em seguir algumas etapas:

1 – Criar um Projeto : apenas seguir as instruções do comando “File/New Project Wizard ...” fornecendo informações pertinentes ao projeto;

2 – Criar um arquivo de esquemático : Não é tão mais complicado do que qualquer outro programa com este fim, basta acessar o editor de esquemático do Quartus II em “File/New ...” escolhendo a opção “Design Files / Block diagram – Schematic File” e salvar o arquivo no diretório de trabalho o incluindo no projeto;

3 – Compilar o esquemático : Basta acessar o comando “Processing/Start Compilation”e corrigir os erros caso ocorra algum;

4 – Editar arquivo com as formas de onda : Esteja certo que é bem mais simples do que criar formas de onda usando fontes de sinais digitais ( sinal de clock ) normalmente disponíveis em programas de simulação de circuitos. Basta acessar o editor de formas de onda do Quartus II em “File/New ...” escolhendo a opção “Verification – Debugging Files / Vector Waveform Files” e salvar o arquivo no diretório de trabalho;

5 – Gerar o arquivo Netlist com as formas de onda funcionais : Basta acessar o comando “Processing/Generate Functional Simulation Netlist”;

6 – Iniciar a simulação para gerar as formas de onda de saída : Basta acessar o comando “Procecing/Start Simulation”;

7 – Visualizar o resultado obtido : Basta abrir o arquivo a qualquer momento em “File/Open ...” e selecionar o arquivo apropriado com a extensão “ .vwf ”, nome.vwf.

Prof Canella : [email protected]