Tutorial Quartus – Versão 20.
1. Introdução
Este tutorial é um guia rápido com o objetivo de apresentar os comandos básicos dos softwares
Quartus Prime Lite Edition versão 20.1 para projeto de sistemas digitais e o Modelsim – Intel FPGA
starter Edition 2020.1 para simulação de circuitos.
2. Criação do projeto
A Figura 1 mostra a tela inicial do software Quartus.
Figura 1 – Tela inicial do Quartus
Para criar um novo projeto, clique em: File-> New Project Wizard ou clique no ícone New
Project Wizard. Veja a Figura 2. O primeiro passo é definir o nome do projeto e a pasta na qual será
armazenado. A Figura 3 mostra o projeto nomeado como tutorial e será gravado na pasta
E:/temporario/tutorialQuartus. Definido estes parâmetros, clicar no botão Next. Se o diretório não
existir, irá aparecer uma mensagem perguntando se deseja criar o diretório. Clique no botão Yes.
Nesta etapa, Figura 4, selecione a opção Empty project. Em seguida, clique no botão Next.
Figura 2 – Criando um novo projeto
Figura 3 – Definição do nome do projeto e da pasta na qual ele será armazenado
Figura 4 – Seleção da opção criar projeto vazio
Nesta etapa é possível inserir arquivos já existentes no projeto. Neste tutorial não será inserido
nenhum arquivo. Neste caso, clique no botão Next. Veja a Figura 5.
Figura 5 – Tela para inserir arquivos pré-existentes no projeto
Para selecionar o dispositivo 5CSEMA5F31C6 para ser configurado, primeiramente selecione
Cyclone V no campo Family. No campo Device, selecione Cyclone V SE Mainstream e no campo
Core Speed a opção 6. A Figura 6 mostra a configuração desta tela. Em seguida, clique no botão
Next.
Figura 6 – Tela para selecionar o dispositivo que será configurado
Na próxima página será necessário selecionar o software de simulação. Selecione o software
ModelSim-Altera no menu Simulation e o formato VHDL Veja a Figura 7. Em seguida, clique no
botão Next.
Figura 7 – Seleção do software de simulação
Na próxima tela, será exibido o resumo do projeto que foi criado. Veja a Figura 8. Clique no
botão Finish.
Figura 8 – Resumo do projeto criado
3. Descrição do circuito
Para descrever o circuito que será implementado no FPGA, utilizaremos um arquivo
esquemático (.bdf). Para inserir este arquivo no projeto, clique em File->New. Na janela que abrir,
selecione a opção Block Diagram/Schematic File. Clique no botão OK. Veja as figuras 9 e 10.
Figura 9 – Criando um novo arquivo
Figura 10 – Selecionando o arquivo do tipo esquemático
Antes de começar a montar o circuito é muito importante salvar o arquivo criado. Clique em
File->Save As... . A janela aberta, já vem com o diretório do projeto selecionado e com o nome do
arquivo esquemático igual ao nome do projeto. Apenas clique no botão Salvar. Veja as figuras 11 e
12.
Figura 11 – Salvando o arquivo criado
Figura 12 – Salvando o arquivo criado
Para inserir os componentes na área de trabalho, dê um duplo clique com o botão esquerdo do
mouse na área de trabalho. Veja Figura 13. Na janela que abrir, digite o nome do componente no
campo Name como mostra a Figura 14. Em seguida, clique no botão OK.
O componente aparecerá na ponta do cursor. Posicione o cursor no local onde o componente
deverá ser colocado e clique com o botão esquerdo do mouse. Repita o procedimento para colocar
todos os componentes que farão parte do circuito. A Figura 15 mostra uma porta E de 2 entradas
(and2), uma porta E de 3 entradas (and3), uma porta OU de 2 entradas (or2) e um inversor (not).
Área de
trabalho
Figura 13 – Área de trabalho para montagem do circuito
Figura 14 – Seleção da porta E de 2 entradas (and2)
Figura 15 – Componentes inseridos na área de trabalho
Para inserir os pinos de entrada e saída, clique no botão mostrado na Figura 14 e selecione
Input para entrada e Output para saída.
Figura 14 – Seleção dos pinos de entrada e saída do circuito
Para nomear as entradas e saídas, dê um duplo clique em pin_name e digite o nome
desejado. Veja a Figura 15. Nomeie as entradas como A, B e C e a saída como S.
Figura 15 – Nomeando os pinos de entrada e saída
Após nomear todos os pinos resta interconectar os elementos do circuito. Para isso, posicione
o ponteiro do mouse sobre o terminal desejado do componente de origem, pressione o botão esquerdo,
mantenha pressionado e arraste até o ponto ou terminal desejado do componente destino, soltando-o
em seguida.
Figura 16 – Interconectando os elementos do circuito
Antes do circuito ser compilado, é necessário associar cada pino de entrada e saída do circuito
com os pinos do FPGA que será configurado. Os pinos do kit DE1-SoC estão conectados nos diversos
dispositivos de entrada e saída da placa. Para saber qual pino está conectado em um determinado
dispositivo, consulte o DE1-SoC User Manual. Para abrir a janela de configuração dos pinos, clique
em Assigments>Pin Planner. Veja a Figura 17.
Para inserir os pinos de entrada e saída do circuito no Pin Planner, digite o seu nome no
campo <<new node>> na coluna Node Name e o número do pino do FPGA na coluna Location. A
Figura 18 mostra a alocação dos pinos ab12, ac12, af9 para as entradas A, B e C e o pino v16 para a
saída S.
Figura 17 – Definição dos pinos do circuito integrado que serão utilizados no projeto
Figura 18 – Alocação dos pinos ab12, ac12, af9 para as entradas A, B e C e o pino v16 para a saída
S
4. Compilando o projeto
Para compilar o projeto, basta clicar no botão Start Compilation. Veja a Figura 19.
5. Simulando o circuito
Para simular o circuito, clique em Tools>>Run Simulation Tool>>Gate Level Simulation.
Veja a Figura 20. Em seguida o software ModelSim será inicializado.
Figura 19 – Compilando o projeto
Figura 20 – Ativando o software para simulação do circuito
No ModelSim, clique na marca + do diretório work. Em seguida, clique com o botão direito
no arquivo do circuito e selecione a opção Simulate. Veja a figura 21.
Figura 21 – Inicializando a simulação do circuito no Modelsim
Na área Objects, clique com o botão direito, selecione a opção Show e desabilite Internal
Signals. Veja a Figura 22. Esta ação habilita apenas os pinos de entrada e saída do circuito.
Figura 22 – Selecionando apenas os pinos de entrada e saída do circuito
Para aplicar um sinal de entrada, clique com o botão direito sobre a entrada desejada na área
Objects, selecione Modify >> Apply Wave.... Veja a Figura 23. Certifique-se que a aba Wave esteja
habilitada.
Figura 23 – Abrindo o menu para configuração de sinais
O sinal que será aplicado no pino selecionado será criado na janela que abriu. Para o pino A,
selecione a opção Clock, modifique o valor End Time para 10 e na opção Time Unit selecione ms,
para uma simulação de 10ms. Veja a Figura 24. Em seguida clique no botão Next.
Na próxima janela, preencha Initial Value com 0, Clock Period com 1, Time Unit com ms e
mantenha Duty Cycle com 50, para configurar um sinal de clock com valor inicial 0, duty cycle de
50% e período de 1ms. Em seguida, clique no botão Finish. Veja a Figura 25.
Preencha a opção tempo de simulação, indicado na Figura 26, com 10 ms. O sinal configurado
aparece na aba Wave. Se não aparecer, clique em algum ponto da área desta aba para habilitar as suas
funções e clique no botão Zoom Full.
Figura 24 – Configurando a duração do sinal de clock para o pino A
Figura 25 – Configurando as propriedades do sinal de Clock para o pino A
Figura 26 – Configurando tempo de simulação e visualizando o sinal configurado
Para definir o sinal da entrada B como uma constante igual a 0, clique com o botão direito
sobre a entrada, selecione Modify -> Apply Wave. Na janela que abrir, selecione Constant no menu
Patterns, preencha com 0 a opção Start Time, com 10 a opção End Time e ms a opção Time Unit.
Veja a figura 27. Em seguida, clique no botão Next.
Figura 27 – Configurando um sinal constante para o pino B
Na próxima janela, preencha a opção Value com 0 para aplicar nível lógico baixo ou 1 para
aplicar nível lógico alto. Veja a Figura 28. Em seguida clique no botão Finish.
Figura 28 – Configurando nível lógico baixo para a entrada B
Repita o procedimento anterior para aplicar um nível lógico alto na entrada C.
Para colocar uma saída na área Wave, clique com o botão direito sobre a saída e selecione a
opção Add Wave. Veja a Figura 29.
Finalmente, para simular o circuito, clique no botão Run. Veja a Figura 30.
6. Programando o FPGA
Com a placa ligada e conectada no computador por meio do cabo USB, clique no botão
Programmer para abrir o ambiente de programação do FPGA. Veja a Figura 31. Na janela do
programador, clique no botão Hardware Setup para selecionar o hardware que será utilizado para
programar o FPGA. Na janela que abrir, selecione a opção DE-SoC no campo Currently selected
hardware. Veja a Figura 32. Em seguida clique no botão Close.
Figura 29 – Adicionando a saída S na área Wave
Figura 30 – Simulando o circuito
Figura 31 – Ativando o ambiente de programação do FPGA
Figura 32 – Selecionando o hardware para programar o FPGA
Após selecionar o Hardware, clique no botão Auto Detect para que o programador identifique
os dispositivos disponíveis para serem programados. Na janela que abrir, selecione a opção
5CSEMA5. Em seguida, clique no botão OK. Veja a Figura 33. Em seguida, clique no botão Yes na
janela que se abre com a mensagem The auto detect device chain ... .
Figura 33 – Detectando os dispositivos disponíveis para serem programados
O dispositivo da placa de desenvolvimento DE1-SOC possui um FPGA e um processador
(HPS – Hard Processor System). Ambos aparecerão na lista de dispositivos. Clique com o botão
direito sobre o FPGA 5CSEMA5 e selecione a opção Change File. Veja a Figura 34. Na janela que
abrir, dê um duplo clique na pasta output_files e selecione o arquivo com a extensão .sof.
Para finalizar, habilite a opção Program/Configure e clique no botão Start para iniciar a
programação. Pronto, agora basta testar o circuito.
Figura 34 – Selecionando o arquivo para ser carregado no FPGA
Figura 35 – Habilitando o FPGA para ser programado.