Buscar

Introdução ao Quartus

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
FAEX – Faculdade de Extrema 
Arquitetura de Sistemas Digitais 
9º ECA 
 
 
 
 
 
 
 
 
INTRODUÇÃO AO 
QUARTUS 
 
 
 
 
 
 
 
 
 
 
OBJETIVO: Familiarizar os alunos com o software EDA (Eletronic Design 
Automation) da Altera - Quartus II Web Edition. Trata-se de uma ferramenta 
computacional de análise e de síntese de projetos que reduz o tempo de 
desenvolvimento de projeto de circuitos digitais.
2 
 
Este tutorial apresenta as características básicas do software Quartus II. Será 
mostrado como o software pode ser utilizado para projeto e implementação de 
circuitos digitais. Ele faz uso de uma interface gráfica para acionar os comandos. 
Seguindo este tutorial, o aluno será capaz de: 
 Criar um projeto 
 Introduzir um diagrama esquemático 
 Sintetizar um circuito usando o diagrama esquemático 
 Simulação do circuito 
1 Começando um projeto 
Cada circuito lógico projetado com o Quartus II é chamado de Project (projeto). O 
software trabalha com apenas um projeto de cada vez e todas as informações 
são armazenadas em um diretório no seu gerenciador de arquivos. Para iniciar 
um novo projeto o primeiro passo é criar um diretório para seus arquivos. 
Ao entrar no programa pela primeira vez, abre-se a janela principal. Na caixa de 
dialogo, selecione a opção Iniciar o software Quartus II. Surge uma nova janela 
denominada “Getting Start with Quartus II software”. Essa janela pode ser omitida. 
A escolha depende dos objetivos e do conhecimento prévio do leitor. Para fechá-la, 
clique no canto superior direito da tela e para desabilitá-la, nas próximas vezes que o 
software for iniciado, marque no canto esquerdo inferior da janela. 
A janela de inicialização do Quartus II, apresentada na figura 1 possui algumas 
opções: 
 Iniciar um tutorial interativo do Quartus II (áudio em inglês); 
 Abrir projeto existente; 
 Abrir projetos recentes; 
 Iniciar um novo projeto. 
Ainda podemos acessar diretamente alguns links importantes no site da Altera: 
literatura, treinamento, etc... 
 
3 
 
 
Figura 1. Tela principal do Quartus II V 13.1.0. 
 
Figura 2. Um exemplo do menu principal. 
4 
 
2 Iniciar um novo projeto 
Para começar a trabalhar em um novo projeto, primeiramente precisamos definir 
um novo project. Temos duas opções para criar um novo projeto: 
 Clicar na opção New Project Wizard, na janela inicial; 
 Selecionar File > New Project Wizard. 
 
Figura 3. Janela 1 de 5 New Project Wizard. 
Use o nome do 
diretório do seu 
projeto 
5 
 
A primeira vez que você abre um novo projeto, uma tela introdutória é apresentada. A 
opção New Project Wizard permite criar um projeto ou informar dados básicos sobre 
ele, como: 
 Nome do projeto e diretório de trabalho; 
 Nome da entidade de projeto de mais alto nível; 
 Arquivos de projeto, outras fontes de arquivos e bibliotecas utilizadas no 
projeto; 
 Dispositivos e famílias usadas no projeto; 
 Ferramentas EDA utilizadas. 
Para avançar, clique no botão Next. Na primeira tela do New Project Wizard digite o 
nome do diretório de trabalho do seu projeto ou localize-o por meio do botão 
(browse), clicando, por exemplo, em C:/altera/13.1/quartus/projetos_01. 
Digite o nome do projeto na caixa de diálogo correspondente ao nome, por exemplo, 
faexsim1, e digite este mesmo nome como nome da entidade de mais alto nível de 
projeto, na caixa de diálogo correspondente. A figura 3 mostra a primeira tela de 
informações do projeto. Clique em Next. 
A janela dois do New Project Wizard não necessita ser preenchida, pois neste caso, não 
existe nenhum arquivo de projeto, nenhuma fonte de arquivo ou biblioteca a ser 
incluída. Clique em Next. 
 
Figura 4. Tela 2 de 5 do New Project Wizard. 
 
A janela três seleciona uma família de dispositivos de fabricação da empresa Altera, 
que podem ser utilizados no projeto; surgem várias famílias de FPGAs e CLPDs. 
6 
 
Selecione, por exemplo, a família Cyclone III, dispositivo EP3C16F484C6, que 
corresponde ao FPGA utilizado no kit de desenvolvimento DE2 da empresa EXSTO 
(Terasic). Clique em Next. 
 
Figura 5. Janela 3 de 5 do New Project Wizard. 
 
Na janela quatro não marque nenhuma opção, pois esse projeto só usa ferramentas do 
software Quartus II e não outras ferramentas EDA. Clique em Next. 
 
A janela cinco é a última do New Project Wizard e apresenta um resumo dos dados 
informados sobre o projeto. 
 
Clique no botão Finish. E a criação do projeto está encerrada. Note que o nome do 
projeto no topo da janela principal do navegador modifica-se para o nome da entidade 
de nível mais alto. 
3 Projeto utilizando o Editor Gráfico 
 
O projeto que será desenvolvido como primeiro exemplo é o faexsim1, automação do 
controle da esteira transportadora de uma máquina de usinagem. 
A tabela verdade é representada pela expressão booleana: 
S PQR PQR PQR PQR PQR    
 
Para implementar esta expressão dada, em lógica programável, no Quartus II, siga os 
procedimentos: 
 
Na janela principal, selecione no menu de arquivos (File), barra de ferramentas, a 
opção novo (New). Abre-se uma caixa de diálogo New. Selecione a opção Block 
7 
 
diagram/Schematic File e clique no botão OK. Surge uma tela denominada Block1.bdf, 
como indica a figura 6, na qual será editado o circuito lógico. 
 
Na parte superior da área de desenho há uma régua vertical com alguns botões que 
disponibilizam as opções de projeto, tais como a biblioteca de componentes, caixa de 
edição de texto, lupa para zoom etc. A inserção de um componente lógico na janela do 
editor gráfico é realizada clicando na barra de ferramentas superior, no botão 
correspondente ao componente desejado (porta lógica, fio, barramento, etc.). Ao clicar 
no componente lógico, desenho de uma porta lógica, abre-se uma janela denominada 
símbolo (Symbol), conforme apresentada também na figura 6. Digite o nome do 
componente lógico no campo nome (Name) e clique no botão OK. 
 
 
Figura 6. Janela Do Editor Gráfico. 
 
Caso não conheça o nome do componente, consultar na caixa bibliotecas (Libraries) 
todos os grupos de componentes do Quartus II. Para isso, basta clicar em um dos 
diretórios da caixa, selecionar o subdiretório correspondente ao grupo do 
componente lógico e clicar no seu nome. 
 
Na caixa bibliotecas, no diretório Libraries clique com o cursor do mouse, selecione o 
subdiretório correspondente à biblioteca primitiva (primitivies). No interior dessa 
biblioteca selecione o subdiretório correspondente à biblioteca lógica (logic), em que 
estão disponíveis as portas lógicas básicas do Quartus II. 
 
Selecione o componente and3. Será inserido o nome do componente no campo nome 
(Name) da janela. Clique no botão OK. O símbolo do componente and3, uma porta 
lógica AND de três entradas, é mostrado na janela maior do editor gráfico. 
 
Quando o componente é selecionado o cursor do mouse deve ser utilizado para 
posicioná-lo na janela. Para fixá-lo, arraste-o até o ponto desejado e clique com o botão 
de seleção (símbolo de uma seta), na barra de ferramentas superior, for pressionado. 
 
8 
 
Como serão utilizadas cinco portas and3, clique com o botão esquerdo do mouse em 
cinco posições diferentes na tela do editor gráfico e depois libere o cursor. Repita os 
passos anteriores para inserir os componentes OR6, um bloco de cinco entradas e três 
portas NOT. 
 
Para girar a porta NOT de forma que fique com a sua saída para baixo, selecione a 
porta, clique com o botão direito do mouse e escolha a opção Rotate by Degrees, opção 
270. A figura 7 apresenta a janela do editor gráfico com a inserção dos componentes. 
Figura 7. Janela do Editor Gráfico com os componentes inseridos. 
 
No projeto é necessário estabelecer as entradas e saídas docircuito lógico, que 
também possuem elementos específicos na biblioteca. Desta forma, insira os terminais 
de entrada e saída dos componentes, repetindo os mesmos procedimentos usados no 
item anterior para inserção dos componentes lógicos. Na barra de ferramentas 
superior selecione o botão correspondente ao componente lógico. Na janela símbolo 
(Symbol) digite input para uma entrada e output para uma saída no campo nome 
(Name) e clique no botão OK. 
 
Caso deseje copiar um terminal de entrada ou saída, após a seleção e inserção na 
janela, clique com o botão esquerdo do mouse tantas vezes quanto for o número de 
cópias. Para liberar o cursor do componente inserido, clique no botão de seleção na 
barra de ferramentas. A figura 8 apresenta a janela do editor gráfico com a inserção 
dos terminais de entrada e saída. 
 
9 
 
 
Figura 8. Janela do editor com os terminais de E/S. 
 
Os terminais de entrada (input) e saída (output) inseridos no item anterior devem ser 
identificados para posterior utilização, os quais devem ter nomes. Com o cursor 
selecione o terminal a ser identificado, com o botão esquerdo do mouse dê um duplo 
clique no terminal (Pin name). Surge uma janela, chamada Propriedades do 
terminal(Pin Properties), conforme mostrado na figura 9. 
 
Figura 9. Janela de propriedades dos terminais de entrada e saída 
 
No campo nome do terminal (Pin name) digite o nome desejado, por exemplo, 
Sensor_P, Sensor_Q e Sensor_R para as entradas, e Sinal_S para as saídas. Clique em 
OK. Repita o processo passo a passo para cada terminal de entrada e para cada 
terminal de saída. 
 
A figura 10 exibe uma janela do editor gráfico com os terminais de entrada e saída 
respectivamente identificados. 
10 
 
 
Após a seleção dos componentes e a atribuição dos nomes dos terminais de entrada e 
saída, vamos interligá-los. Na barra de ferramentas selecione o botão fio ortogonal, 
caso deseje interligar os componentes por meios de fios. Ou então, selecione o botão 
barramento ortogonal, caso deseje interligar os componentes por meio de 
barramentos. 
 
Lembre-se de que um barramento é um conjunto de fios em paralelo. Por exemplo, um 
barramento de oito bits (1 byte) corresponde a oito fios em paralelo, identificados pelo 
nome do terminal seguido da notação [0..7]. 
 
Figura 10. Janela do editor com os terminais identificados. 
 
Existem duas possibilidades de interligação dos componentes no editor gráfico: 
 Conexão dos componentes por fios ou barramentos: reorganize todos os 
componentes na área de desenho, de modo a ficarem dispostos como na figura 
11. Na barra de ferramentas selecione com o cursor do mouse o botão fio 
ortogonal. O cursor muda para uma cruz. Clique com o botão esquerdo do 
mouse no componente origem e com o botão esquerdo pressionando arraste o 
fio até o outro componente destino. Pode-se fazer o caminho indo diretamente 
de um terminal a outro, ou fazê-lo por segmentos de reta. Caso deseje apagar a 
ligação ou o componente, basta selecionar o objeto, que aparece com uma cor 
azul, e pressionar a tecla delete. A figura 11 mostrar a tela do editor gráfico com 
os componentes interligados por meio de fios. 
O projeto deve ser salvo e compilado para verificação da existência de erros básicos de 
sintaxe e semântica. Para salvar o projeto clique no botão correspondente, na barra de 
ferramentas. 
4 Compilando o Circuito Projetado 
O arquivo do diagrama esquemático, block1.bdf, é processado pelas ferramentas do 
Quartus II que analizam o arquivo, sintetizam o circuito, e geram um arquivo para 
implementação posterior em um chip FPGA. Estas ferramentas são controladas pelo 
programa chamado Compiler (compilador). 
11 
 
 
Inicie o Compilador selecionando Processing > Start Compilation, ou clicando no ícone 
 da barra de tarefas (Veja abaixo). 
 
 
 
O processo de compilação tem vários estágios, que compreendem a verificação de 
erros básicos como conexões desnecessárias, pinos e fios sem conexão etc.; a criação de 
diversos arquivos necessários para a programação do FPGA e arquivos de relatórios, 
que apresentam detalhes do processo de síntese como total de elementos lógicos, total 
de pinos, total de bits de memória, etc. Seu progresso é apresentado em uma janela no 
lado esquerdo da janela principal do Quartus. O sucesso ou insucesso da compilação é 
indicado por uma caixa pop-up. (Veja abaixo). 
 
 
 
Clique em OK. Uma janela de mensagens aparecerá na parte debaixo da figura, nela 
são mostradas várias mensagens do andamento do processo de compilação. Em caso 
de erros, as mensagens também serão apresentadas nesta janela. As mensagens de 
Warnings são apresentadas e podem ser ignoradas por enquanto. 
 
12 
 
 
 
Quando a compilação termina, um relatório é gerado (como apresentado acima), 
esta janela é aberta automaticamente. Esta janela pode ser normalmente, 
redimensionada, maximizada ou fechada, e pode ser aberta a qualquer momento 
selecionando Processing > Compilation Report ou clicando no icone . Este 
relatório inclui uma lista de pastas no lado esquerdo da janela. A figura acima 
mostra o Flow Summary, que indica, por exemplo, a necessidade de apenas um 
elemento lógico e 4 pinos para que este circuito seja implementado em um chip 
FPGA. 
 
4.1 Erros 
Durante a compilação o software Quartus II mostra as mensagens geradas em uma 
janela de mensagens. Se o arquivo com o circuito projetado estiver correto, uma 
das mensagens de status que será apresentada será que a compilação foi um 
sucesso e sem erros. 
 
Agora, se o relatório do compilador mostra que há erros, então existe pelo menos 
um erro no diagrama esquemático criado. Neste caso, a mensagem correspondente 
a este erro será gerada e mostrada na janela de mensagens (Messages). Um duplo 
clique nesta mensagem de erro mostrará qual parte do circuito está ocasionando 
este erro. Do mesmo modo, o compilador poderá mostrar algumas mensagens de 
advertência (warning). O detalhamento destas mensagens pode ser encontrado do 
mesmo modo como no caso das mensagens de erro. O usuário pode obter mais 
informações sobre uma mensagem específica de erro ou uma mensagem de 
advertência selecionando-a e pressionando a tecla F1. 
13 
 
5 Simulação do Circuito Projetado 
Antes de implementar o circuito projetado em um chip FPGA, é recomendável que o 
circuito seja simulado. Existem dois tipos de simulação: funcional(Gate Level) e 
temporal (RTL). A simulação funcional verifica os resultados de saída do circuito de 
acordo com as suas entradas. Logo, deve-se criar um arquivo de estímulo para 
verificar a funcionalidade do projeto. 
Para criar o arquivo de estímulos acesse o menu File, na barra de ferramentas da 
janela principal, e selecione New. Será necessário criar as formas de onda desejadas, 
para representar os sinais de entrada. Também será necessário especificar as saídas, 
bem como os pontos internos do circuito que se deseja monitorar. 
Na caixa de diálogo escolha University Program VWF. Clique em OK. Surge a janela do 
editor de forma de ondas, arquivo com extensão .vwf, na qual será realizada a 
simulação funcional do projeto. Esta janela é dividida em quatro partes: (a) régua de 
ferramentas para as configurações da simulação; (b) régua de bases de tempo; (c) 
coluna para os nomes dos pontos de teste com a base de tempo; (d) área das cartas 
de tempo (timing chart) do projeto. 
Para inserir as entradas e saídas do projeto (nós – nodes), na janela do editor de 
forma de Ondas, acesse o menu Edit e selecione a opção Insert Node or Bus. Na caixa 
de diálogo clique no botão Node Finder. 
Surgindo a janela Node Finder, selecione em Filter a opção Pins: all. Pressionando o 
botão List, no quadro Nodes Found aparecem todas as entradas e saídas do projeto, 
identificadas com seus respectivos nomes, conforme a figuralogo abaixo. 
 
Selecione todas as entradas e saída (nodes) e clique na seta à direita. Desta forma as 
entradas e saídas aparecem no quadro Selected Nodes. Pressione OK, fechando a 
janela Node Finder. Pressione novamente OK. 
Na janela Editor de Formas de Ondas surgem as entradas e saídas selecionadas, que 
serão simuladas. Agora vamos atribuir formas de ondas às entradas para verificar a 
saída. Selecione uma das entradas, clicando no nome da entrada, a linha toda será 
selecionada. Clique duas vezes na primeira coluna (nodes). A janela Node Properties 
aparecerá, selecione em Radix a opção binário. Clique em OK. 
Na janela Editor de Formas de Ondas, aparece uma barra vertical de ferramentas, 
com os sinais de estímulos disponíveis. Selecione a entrada Sensor_P, clique no 
14 
 
botão, opção Count value, corresponde a um gerador de onda quadrada. 
A janela Count Value se abre, mostrando várias informações sobre o sinal que será 
gerado: intervalo, período, etc. Selecione nessa janela a opção Transitions Occur, o 
período (Count Every), não deve ser maior que o intervalo. Para este caso, mantenha 
os valores default. No menu Edit escolha o tempo final de simulação (End Time) para 
1.0 s (microssegundos), para poder analisar melhor o comportamento do projeto e 
a largura de grade de tempo de simulação (gride size) para 40.0 ns. 
Para visualizar o sinal de estímulo da entrada Sensor_P, selecione na barra de 
ferramentas o botão Zoom e clique na janela do Editor de Forma de Ondas (botão 
esquerdo do mouse aumenta a visualização e o botão direito diminui). 
Para o sinal Sensor_Q repita os passos anteriores, selecione Radix binário (binary), 
opção Transitions Occur multiplique o valor default por 2. 
Repita para o sinal de entrada Sensor_R exatamente os mesmos passos anteriores, 
opção Transitions Occur multiplique o valor default por 3. A próxima figura apresenta 
os sinais de estímulos de entrada na janela do Editor de Formas de Ondas. 
 
Antes da simulação das entradas e saídas do arquivo waveform.vwf, é necessário 
criar o arquivo de sinais de estímulos. Selecione a barra de ferramentas o menu 
Processing, escolha a opção Generate Functional Simulation Netlist. 
Salve as alterações do arquivo waveform1.vwf. Clique em OK. Salve o arquivo 
waveform1 como faexsim1. Clique em OK. 
Caso não haja nenhum erro com o arquivo de estímulos criado, surge uma janela 
com a mensagem “Functional Simulate Netlist was sucessful”. Clique em OK. 
Para compilar e simular o arquivo faexsim1.vwf, no menu Processing, selecione a 
opção Start Simulation ou clique no botão . Se a compilação ocorrer sem nenhum 
erro, a mensagem “Simulator was sucessful” aparecerá na tela. Clique em OK. 
O resultado da simulação, saída Sinal_S, em função das entradas Sensor_P, Sensor_Q 
e Sensor_R será mostrado na figura abaixo. 
15 
 
 
Para criar um símbolo gráfico, arquivo faexsim1.bsf, clique no canto superior 
esquerdo em faexsim1.bdf e volta para a tela do editor gráfico. Clique no menu File, 
escolha a opção Create/Update. Na janela aberta, selecione a opção Create Symbol 
Files for Current File; aparece outra janela com a mensagem “Created Block Symbol 
File faexsim1”. Clique em OK. 
Para inserir o símbolo gráfico criado, arquivo faexsim1.bsf, em um novo projeto, 
basta proceder como visto anteriormente neste capítulo, ou seja, como se fosse 
inserir um componente lógico qualquer. O símbolo gráfico criado faexsim1 agora faz 
parte da biblioteca (library) do software Quartus II. A figura abaixo apresenta o 
símbolo criado. 
 
6 Bibliografia 
Da Costa, C. Projeto de Circuitos Digitais com FPGA – 2.ed – São Paulo: Érica, 
2012. 
Davies, P.J. Apostila de Laboratório da disciplina Sistemas Digitais - 
University of British Columbia, 2012.

Outros materiais

Outros materiais