Você está na página 1de 63

Um guia de utilização do Quartus Prime

Voltado para as disciplinas ELTD11A, ELTD12 e ELTD12A

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal,

Odilon O. Dutra, Rodrigo de P. Rodrigues

06-07-2022
Sumário

Conhecendo o ambiente 1
Interface gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Criando um projeto 4
Projeto a partir de um diagrama esquemático . . . . . . . . . . . . . . . . . . . . . . . . . 4
Utilizando hierarquia (sub-circuitos) . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Projeto a partir de um arquivo de descrição Verilog . . . . . . . . . . . . . . . . . . . . . . 9
Utilizando o assistente de criação de projetos . . . . . . . . . . . . . . . . . . . . . . . . . 11
Compilando o projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Simulando o projeto 19
Arquivo test bench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Configurando o test bench no projeto ativo . . . . . . . . . . . . . . . . . . . . . . . . 19
Interface ModelSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Editor de formas de onda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Time Quest timing Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Simulação timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Máquinas de estados finitos 36

Memórias 39

Protótipo na placa DE10-Lite 48


Designando os terminais físicos de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Exportando as configurações de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Importando configurações de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Programando a placa DE10-Lite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Solução de problemas 54
Sistema operacional Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
libstdc++.so . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Erro ao iniciar a ferramenta ModelSim . . . . . . . . . . . . . . . . . . . . . . . . . . 54

i
Um guia de utilização do Quartus Prime 06-07-2022

Diver USB-Blaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Sistema operacional Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Driver USB Blaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Falha ao iniciar o ModelSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Referências 60

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodriguesii
Conhecendo o ambiente

O software Quartus Prime da Intel/Altera oferece um ambiente de desenvolvimento multiplataforma


completo que se adapta facilmente às necessidades do projetista. Perfazendo um ambiente compre-
ensivo de desenvolvimento de system-on-a-programable-chip (SOPC), o software entrega soluções
para todas as etapas de projeto de _complex programmable logic device (CPLD) e filed programmable
gate array (FPGA) (ALTERA, n.d.).

Além disso, o software permite a utilização tanto da interface gráfica como da interface de linha
de comando. Dessa maneira, o usuário escolhe se deseja utilizar uma interface única ao logo do
ciclo de desenvolvimento do projeto, ou, se deseja utilizar ambas, alternando em cada etapa de
desenvolvimento.

A Figura 0.1 ilustra o fluxo completo de projeto executado pelo software Quartus Prime, incluindo
as verificações necessárias em cada etapa. É importante enfatizar que não é o objetivo do presente
documento o aprofundamento em cada um das etapas, mas sim fornecer um material simplificado
para consulta rápida, facilitando um primeiro contato com o software Quartus Prime.

Interface gráfica

A Figura 0.2 mostra a interface de utilização do ambiente de desenvolvimento Quartus Prime. Na


porção superior se encontram as barras de menus e atalhos da ferramenta. Já na parte inferior, está
localizada a janela de mensagens que informa ao usuário os procedimentos correntes. Essa janela é
fundamental para eventuais procedimentos de debuging, uma vez que as mensagens de erros e avisos
são informadas nessa área.

O painel lateral direito traz um catálogo de circuitos proprietários (IP) disponíveis para o usuário.
Alguns exemplos de IPs são circuitos de memória e PLLs. O painel lateral direito se divide em duas
regiões, sendo a superior uma área que traz uma visão em árvore dos arquivos que fazem parte do
projeto aberto. A região inferior lista todos os eventos realizados pela ferramenta após o início do
processo de compilação / síntese lógica, mostrando o andamento de cada atividade. A região central é
reservada para o editor de códigos nativo do software Quartus Prime. Quando aberto, ocupa essa área
na interface gráfica.

1
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.1: Fluxo de projeto do Quartus Prime.

Figura 0.2: Tela inicial do ambiente de desenvolvimento Quartus Prime.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues2
Um guia de utilização do Quartus Prime 06-07-2022

Os próximos capítulos mostram como realizar alguns procedimentos simples que são necessários
durante o fluxo de desenvolvimento de um projeto digital.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues3
Criando um projeto

Projetos podem ser criados de duas maneiras, basicamente:

1. Utilizando um diagrama esquemático do circuito desejado;


2. utilizando um arquivo contendo a descrição de hardware do circuito desejado.

Ao salvar o arquivo esquemático ou a descrição de hardware, basta marcar a opção de criar um


projeto baseado no arquivo que será salvo. Esse procedimento abre o assistente de criação de projetos
que permite realizar diversas configurações.

Projeto a partir de um diagrama esquemático

A primeira coisa a fazer é criar um desenho esquemático usando o menu File -> New. Escolha a opção
Block Diagram/Schematic File na janela New. O resultado será uma janela como apresentado na
Figura 0.1.

Figura 0.1: Criando um novo desenho esquemico.

Ao pressionar o botão OK (ou dois clicks) uma janela como apresentada na Figura 0.2 será mos-
trada.

4
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.2: Janela de edição de esquemático com destaque para o acesso a biblioteca de símbolos.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues5
Um guia de utilização do Quartus Prime 06-07-2022

Clique no ícone Symbol Tool (Figura 0.2) para acessar a biblioteca de símbolos. O resultado será
igual ao da Figura 0.3.

Figura 0.3: Símbolos que podem ser usados para a edição do diagrama esquemático.

Acessando as bibliotecas disponíveis no painel da esquerda se pode montar qualquer circuito


lógico. Também podem ser escolhidos pinos de entrada ou saída utilizando a biblioteca pin, conforme
mostra a Figura ??.

Figura 0.4: Acesso aos pinos de entrada e saída

A conexão entre os componentes pode ser realiza com um simples clique no pino de cada porta,
conforme mostra a Figura 0.5
Para alterar o nome de um sinal, clique duas vezes no nome do pino. Será apresentada uma janela

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues6
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.5: Conexão entre elementos.

que possibilita a alteração do nome do pino, conforme a Figura 0.6.

Figura 0.6: Alterando um nome de um pino.

Salve o esquemático desenhado e confirme se a opção Create New Project based on this File
está selecionada como mostra a Figura 0.7. Esta opção cria um projeto associado ao esquemático. O
projeto é necessário para permitir a simulação e síntese do circuito em um CPLD ou FPGA.

Ao salvar o projeto, o assistente de projeto será aberto. A partir dessa etapa, siga os passos descritos
na seção Utilizando o assistente de criação de projetos desse manual. Em seguida, compile o projeto
utilizando como referência a seção Compilando o projeto desse manual.

Utilizando hierarquia (sub-circuitos)

Essa técnica consistem em criar um encapsulamento que represente um circuito que já foi previamente
projetado e testado. Dessa maneira, esse circuito é transformado em um bloco que fica disponível para
utilização em qualquer projeto. Essa prática se torna útil, pois, uma vez gerado o bloco de um circuito
que esteja funcionando corretamente, erros de ligação poderão ser minimizados e/ou evitados, além

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues7
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.7: Salvando um esquemático.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues8
Um guia de utilização do Quartus Prime 06-07-2022

de poder utilizá-los em outros projetos. Este é um princípio básico de engenharia cujo princípio é de
que coisas complexas são construídas a partir de blocos menores, menos complexos.

O agrupamento de um circuito consiste em envolvê-lo em um encapsulamento de forma a torná-lo


mais simples de visualizar (o projetista tem acesso primeiramente somente aos pinos de entrada e
saída). O procedimento para “transformar” um circuito em blocos é o seguinte: - Abra a tela com o
circuito que vai ser “transformado” em bloco; - No meu FILE selecione CREATE/UPDATE e depois
selecione CREATE SYMBOL FILES FOR CURRENT FILE; - Aparecerá uma tela para o bloco ser salvo.
Após digitar o nome do arquivo, o botão SALVAR (ou SAVE) deve ser pressionado para gerar o bloco; -
Uma mensagem informando que o bloco foi criado deverá aparecer na tela.

Após criar o bloco, ele poderá ser utilizado em qualquer outro projeto (ou novo diagrama esque-
mático dentro deste mesmo projeto). Para verificar a utilização do bloco, crie um novo diagrama
esquemático. Dentro desse novo diagrama esquemático vá em SYMBOL TOOL. Uma nova pasta de
biblioteca deverá aparecer (o nome dessa nova pasta de biblioteca é PROJECT).

Caso essa nova biblioteca não apareça (isso irá ocorrer quando estiver sendo feito um novo projeto
e o bloco que você deseja inserir é de outro projeto) o procedimento para incluí-la é o seguinte:

• No menu ASSIGNMETS selecione SETTINGS;


• Selecione a categoria LIBRARIES;
• Na opção PROJECT LIBRARY NAME (ou GLOBAL LIBRARY NAME) procure o diretório onde foi
gerado o bloco do circuito;
• Após selecionar o diretório pressione o botão ABRIR (ou OPEN);
• Deverão aparecer os nomes dos arquivos (e subpastas) que estarão dentro do diretório (veri-
fique se neste local se encontra o arquivo com o nome do bloco que foi gerado). Pressione o
botão ABRIR (ou OPEN) novamente, e a janela se fechará, retornando à janela de inclusão de
bibliotecas;
• Pressione o botão ADD e em seguida OK.

Novamente, em SYMBOL TOOL a nova biblioteca deverá aparecer. Ao expandir a biblioteca


deverá aparecer o bloco que foi criado. Com o bloco colocado no diagrama esquemático, dê um click
duplo com o botão do mouse sobre o bloco. Se tudo estiver funcionando corretamente o circuito que
representa este bloco deverá aparecer.

Projeto a partir de um arquivo de descrição Verilog

Para criar um arquivo novo basta clicar em File–> New para abrir uma janela que mostra todas as
opções de arquivo disponíveis no software Quartus Prime. Devemos escolher a opção Verilog HDL
File, conforme mostrado na Figura 0.8.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues9
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.8: Janela de escolha do tipo do novo arquivo.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
10
Um guia de utilização do Quartus Prime 06-07-2022

Após selecionar a opção OK, o editor de códigos do Quartus Prime será aberto na região central da
interface gráfica, conforme ilustrado na Figura 0.9. Devemos, nesse momento, digitar o código Verilog
desejado e salvá-lo em um local onde o usuário possua permissões de escrita e leitura de arquivo.
Além disso, devemos nos certificar de que o nome escolhido para o arquivo seja o mesmo do módulo
Verilog contido no arquivo.

Figura 0.9: Editor de código do Quartus Prime com um módulo Verilog.

O projeto não deve ser salvo no local de instalação do software Quartus Prime, e o caminho
selecionado não deve possuir espaços ou caracteres especiais.

Para salvar nosso arquivo-fonte, basta clicar em File –> Save as que será aberta uma janela para
definir o local onde o projeto será salvo. A Figura 0.10 mostra que nessa janela já existe uma opção
para criar um projeto baseado no arquivo atual, que já vem acionada por padrão. Ou seja, ao escolher
a opção Save, o assistente de criação de projeto será iniciado automaticamente.

Utilizando o assistente de criação de projetos

O assistente de criação de arquivos pode ser iniciado automaticamente ao salvar um novo arquivo, ou
através do menu File –> New project wizard, exibindo sua janela inicial, conforme Figura 0.11.

A tela inicial apenas explica a função do assistente e informa alguns dados necessários para o
projeto. Podemos passar para a próxima tela selecionando a opção Next.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
11
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.10: Salvando o novo arquivo Verilog.

Figura 0.11: Tela inicial do assistente de projetos.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
12
Um guia de utilização do Quartus Prime 06-07-2022

Na tela seguinte, mostrada na Figura 0.12, devemos fornecer ao assistente o caminho onde o
projeto será salvo, o nome do projeto e o nome do módulo Verilog topo de hierarquia do projeto.
Lembre-se que o projeto, o módulo topo de hierarquia e o arquivo topo de hierarquia devem
possuir o mesmo nome. Selecionando a opção Next, passamos para a próxima tela do assistente.

Figura 0.12: Segunda tela do assistente de projetos.

Na terceira tela do assistente, devemos escolher se desejamos um projeto vazio, ou baseado


em algum modelo fornecido pelo software. Podemos selecionar a opção Empty project, conforme
mostrado na Figura 0.13 e selecionar a opção **Next.

Na quarta tela, mostrada na Figura 0.14 devemos incluir todos os arquivos que contenham módulos
necessários ao projeto clicando no símbolo … para procurar os arquivos e em seguida clicar em Add
para adicioná-los ao projeto.

Selecionando Next, passamos para a quinta tela do assistente, conforme ilustrado na Figura 0.15.
Nessa etapa devemos escolher a família e o modelo da FPGA que utilizaremos em nosso projeto. Como
utilizaremos a placa de desenvolvimento DE10-Lite, devemos escolher a família MAX 10 e o modelo
10M50DAF484C7G. Notar que a interface oferece um filtro de busca que facilita a tarefa de encontrar o
modelo correto de FPGA.

Selecionando a opção Next, passamos para a sexta tela, mostrada na Figura 0.16. Aqui devemos
escolher as ferramentas auxiliares que serão utilizadas durante as próximas fases do projeto. Podemos
manter a configuração padrão para nossos projetos.

Selecionando a opção Next, passamos para a tela de resumo dos dados, mostrada na Figura 0.17.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
13
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.13: Terceira tela do assistente de projetos.

Figura 0.14: Quarta tela do assistente de projetos.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
14
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.15: Quinta tela do assistente de projetos.

Figura 0.16: Sexta tela do assistente de projetos.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
15
Um guia de utilização do Quartus Prime 06-07-2022

Nessa etapa devemos apenas conferir os dados selecionados para o projeto para certificarmos que
estão corretos.

Figura 0.17: Tela resumo do assistente de projetos.

Ao selecionar a opção Finish, encerramos o assistente de criação de projetos. O painel lateral


direito da interface gráfica do Quartus Prime mostrará os arquivos de projeto e os procedimentos que
serão executados ao compilar o projeto.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
16
Um guia de utilização do Quartus Prime 06-07-2022

Compilando o projeto

O projeto pode ser facilmente compilado clicando-se em Processing –> Starting Compilation. A
interface do Quartus Prime exibirá barras de progresso informando o andamento de cada um dos
procedimentos em execução. Além disso, informações de avisos e/ou erros são mostrados na janela
de mensagens localizada na região inferior da interface gráfica.

Após uma compilação bem sucedida, a interface gráfica deve exibir um resumo sobre procedi-
mento e mostrando a utilização de elementos da FPGA, conforme mostrado na Figura 0.18.

Figura 0.18: Interface gráfica após compilação.

Podemos verificar a visão ao nível de transferência de registos utilizando o menu Tools –> Netlist
Viewers –> RTL Viewer, conforme mostrado na Figura 0.19.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
17
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.19: Visão RTL do projeto.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
18
Simulando o projeto

O ambiente de desenvolvimento Quartus Prime oferece duas maneiras de simular um projeto:

1. Utilizando um arquivo de test bench, programado em linguagem Verilog;


2. criar diretamente os sinais de estímulo através do editor de formas de onda.

Em qualquer das duas opções, o software de simulação ModelSim será utilizado. A única diferença
é que a simulação utilizando o editor de formas de onda oferece uma interface proprietária, mais ami-
gável, enquanto a simulação através do arquivo de test bench utiliza a interface do próprio ModelSim,
mais complexa.

Esse capítulo mostra como configurar o Quartus Prime para realizar simulações através do arquivo
de test bench além de ensinar os procedimentos básicos para a simulação usando o editor de formas
de onda. Esse documento não mostra como programar o arquivo de test bench.

Arquivo test bench

Uma configuração de test bench está sempre associada ao projeto ativo na ferramenta Quartus Prime.
Assim, para que as opções de configuração de test bench estejam disponíveis no Quartus Prime, um
projeto deve estar aberto e já ter sido compilado.

Configurando o test bench no projeto ativo

Para realizar a simulação usando um arquivo de test bench, é necessário informar à ferramenta Quartus
Prime a localização desse arquivo. Para isso, basta usar o menu Assignments–>Settings. Será aberta
a janela de propriedades, conforme mostra a Figura 0.1.

Nessa janela, deve ser selecionada a opção Simulation, na categoria EDA Tool Settings no painel
lateral esquerdo. O painel lateral direito mostra as configurações atuais de simulação. Verifique se o
simulador ModelSim-Alera está configurado. O formato da netlist de saída deve ser Verilog HDL, a
escala ttemporal de 1 ps, e o diretório de saída, simulation/modelsim. Essas são as configurações
padronizadas para projetos que utilizam a linguagem Verilog.

19
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.1: Janela de propriedades.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
20
Um guia de utilização do Quartus Prime 06-07-2022

Na seção NativeLink settings, deve ser selecionada a opção compile test bench e o botão Test
Benches… deve ser acionado para abir a janela de configurações do test bench, conforme Figura 0.2.

Figura 0.2: Janela de configurações do test bench.

Nessa janela, basta clicar no botão New para iniciar a configuração de um novo perfil de test bench.
Será aberta uma nova janela contendo as informações a serem preenchidas, conforme Figura 0.3
Devem ser preenchidos o nome do arquivo de test bench e o nome do módulo de teste Verilog
contido no arquivo. O caminho do arquivo de test bench deve ser inserido no campo File Name ou
acionando-se o botão … na frente do campo e clicando no botão Add. Para confirmar, basta clicar Ok
nas duas janelas anteriores e em Apply na janela inicial. Para finalizar, basta clicar em Ok na janela
inicial.
Se o usuário clicar em Ok sem antes selecionar a opção Apply na janela inicial, as configura-
ções não serão salvas, e o procedimento completo deve ser refeito.
Para iniciar uma simulação funcional, basta acionar o menu Tools–>Run simulation tool–>Func-
tional simulation. Para iniciar uma simulação temporizada, basta acionar o menu Tools–>Run
simulation tool–>Timing simulation.

Interface ModelSim

Após acionar qualquer tipo de simulação, Functional simulation ou Timing Simulation a janela da
ferramenta ModelSim será aberta, conforme mostram as Figura ?? 0.5.
Na parte superior se encontra a barra de ferramentas. O painel Transcript que mostra mensagens
ao usuário fica posicionado na parte inferior. O painel lateral esquerdo mostra todos os módulos que
fazem parte do projeto em simulação, enquanto os painéis centrais mostram a lista de sinais e os
trechos procedimentais, respectivamente. No painel lateral direito podem ser exibidos os códigos
Verilog utilizados ou as formas de onda da simulação, bastando selecionar as abas inferiores.
A utilização avançada dessa ferramenta de simulação não faz parte do escopo desse guia, en-
tretanto destacam-se as principais ferramentas utilizadas: zoom in, zoom out, zoom fit e adição de

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
21
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.3: Informações do test bench.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
22
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.4: Janela da ferramenta ModelSim com um código Verilog no painel lateral direito.
\label{fig:ModelSim_1

Figura 0.5: Janela da ferramenta ModelSim com as formas de onda no painel lateral direito.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
23
Um guia de utilização do Quartus Prime 06-07-2022

cursores.

Editor de formas de onda

Para utilizar o editor de formas de onda, basta criar arquivo University Program VWF através do menu
File–>New. Na janela aberta, mostrada na Figura 0.6, selecione a opção University Program VWF.

Figura 0.6: Selecionando o arquivo VWF para criar a simulação.

O editor de formas de onda será exibido na tela, conforme mostra a Figura 0.7.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
24
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.7: Editor de formas de onda.

Podemos configurar o tempo de simulação e o tamanho da grade de visualização através das


opções Edit–>End time e Edit–>Grid size, respectivamente. As Figuras 0.8 e 0.9 mostram as janelas
de configuração abertas para configurar as duas propriedades.

Após as configurações iniciais da simulação, devemos adicionar os sinais de entrada (estímulos)


a serem visualizados na simulação. Para tanto, basta utilizar o menu Edit–>Insert–>Insert node or
bus…. Será aberta a janela mostrada na Figura 0.10 que traz as propriedades dos sinais a serem
inseridos.

Nessa janela, devemos clicar sobre o botão Node Finder. Uma nova janela será aberta, conforme
mostra a Figura 0.11.

Nessa janela, clicamos no botão List para exibir todos os sinais de entrada definidos no projeto. A
lista de pinos é então exibida, conforme a Figura 0.12.

Basta escolher os sinais desejados e usar os botões > ou > > e clicar sobre o botão OK para finalizar.
A janela atual é fechada e a anterior recebe o foco. Podemos alterar alguma propriedade do sinal como
base numérica de exibição, por exemplo, e clicar novamente no botão OK para fechar a janela.

Após essa configuração inicial, devemos definir os estímulos nas entradas do circuito. Para tanto,
podemos usar os botões da barra de ferramentas do editor de forma de onda, mostrados na Figura
0.13, que fornecem as opções: forçar estado indefinido, forçar nível lógico baixo, forçar nível lógico
alto, alta impedância, nível baixo fraco, nível alto fraco, inverter o sinal, inserir uma contagem, definir

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
25
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.8: Janela de configuração do tempo de simulação.

Figura 0.9: Janela de configuração do tamanho da grade.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
26
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.10: Janela Node finder.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
27
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.11: Janela de lista de sinais.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
28
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.12: Janela da lista de sinais com os sinais exibidos.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
29
Um guia de utilização do Quartus Prime 06-07-2022

um sinal quadrado de clock, definir um valor arbitrário ou definir valores aleatórios. Cada uma dessas
ferramentas apresentará janelas de configurações próprias que não são discutidas nesse tutorial por
serem intuitivas.

Figura 0.13: Botões da barra de ferramentas.

Para realizar alterações nos sinais, basta clicar sobre o nome do sinal, mostrado no painel da
esquerda, para selecionar o intervalo completo de simulação para esse sinal e em seguida clicar sobre
uma das ferramentas. Outra maneira de editar o sinal é selecionar apenas um trecho da simulação
com o mouse e em seguida clicar sobre a ferramenta desejada.

No nosso exemplo, utilizemos um sinal quadrado para testar um circuito inversor. Para criar esse
sinal, clicamos sobre o sinal de entrada no painel da esquerda, selecionando todo o intervalo de
simulação e utilizamos a ferramenta de clock, que exibe a janela mostrada na Figura 0.14.

Figura 0.14: Janela de lista de sinais.

Após clicar em OK, o sinal selecionado assumirá forma de onda configurada, conforme mostra a
Figura ??.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
30
Um guia de utilização do Quartus Prime 06-07-2022

É importante notar que se o sinal de saída tiver sido selecionado para acompanhamento da simulação,
o mesmo não será editável, sendo esse sinal gerado pelo simulador após a realização da simulação.

Tendo definido completamente o vetor de testes, deve-se salvar o arquivo de entrada do simulador
(o arquivo .vwf). Para isto, clique em File -> Save, ou então use as teclas de atalho Ctrl + S ou ainda,
use o ícone correspondente da barra de ferramentas. Se você optar por um nome diferente do sugerido
pelo software , será necessário incluir este arquivo na simulação. Para isso vá em Processing ->
Simulator Tool. Em Simulation input coloque o nome do arquivo salvo, como aparece na Figura 0.15.

Para rodar a simulação, temos duas opções: a simulação funcional que trata de um caso ideal,
servindo para verificar se a lógica usado no projeto está correta; ou a simulação com temporização que
inclui atrasos de propagação de sinais sobre o projeto desenvolvido, útil para avaliar o desempenho
do circuito perante alguma especificação de temporização. É importante saber que os dispositivos
da família MAX10 não possuem modelos de atrasos de propagação, sendo inútil a simulação com
temporização. Entretanto, dispositivos da família Cyclone IV GX possuem tais modelos, podendo se
beneficiar desse tipo de simulação.

Para rodar uma simulação funcional, basta utilizar o menu Simulation–>Run Functional Simu-
lation. Para rodar uma simulação com temporização, basta usar o menu Simulation–>Run Timing
Simulation. Utilizando-se qualquer uma das opções, a janela de resultados será exibida na tela,
conforme mostra a Figura 0.16.

É importante notar que as saídas são mostradas nessa nova janela, após a simulação.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
31
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.15: Adicionando o arquivo de simulação ao projeto.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
32
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.16: Resultado da simulação funcional.

Time Quest timing Analyzer

A ferramenta Time Quest Timing Analyzer oferece uma interface com diversos recursos para a verifica-
ção de características de temporização do projeto, conforme mostra a Figura 0.17.
No painel lateral esquerdo encontram-se as configurações das condições de operação (fast, slow,
typical), os relatórios a serem gerados pela ferramenta, e uma lista de tarefas necessárias para a
configuração inicial da ferramenta. Na parte inferior existe um console que mostra as mensagens das
operações realizadas. Além disso, a ferramenta pode ser iniciada a partir do Quartus Prime através da
opção Tools–> Timing Analyzer. A configuração inicial consiste em um duplo clique sobre as opções
Create timing netlist, Read SDC file e Update timing netlist no painel lateral esquerdo, conforme a
mostra a 0.18.
Essa sequência de operações cria a netlist do circuito, importa o modelo de temporização (SDC
File) e atualiza a netlist com os atrasos de propagação do modelo. Após essa configuração inicial, basta
gerar os relatórios desejados com um duplo clique nas opções disponíveis no painel. A Figura 0.19
ilustra o exemplo de um relatório de frequência máxima de operação do sinal de clock.

Simulação timing

Procedimento para realizar uma simulação timing para as versões do Quartus prime superiores a 18.1.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
33
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.17: Interface gráfica da ferramenta Timing Analyzer.

Figura 0.18: Configuração da ferramenta Timing Analyzer.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
34
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.19: Exemplo de relatório da freuqência máxima de operação.

• 1. Usar a FPGA EP4CGX15BF14C8 da família cyclone IV.

• 2. Assignments –> Settings –> Simulation –> More EDA Netlisting...(botão).

• 3. Na opção: Generate functional simulation netlist, colocar OFF.

• 4. Compilar novamente.

• 5. Iniciar a simulação Gate level.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
35
Máquinas de estados finitos

O ambiente de desenvolvimento Quartus II possui diversos tipos de codificação de estados para atender
as mais diversas aplicações. Entretanto, para usar uma codificação definida pelo usuário, é necessário
realizar um procedimento de configuração inicial.

Para tanto, se pode utilizar o menu Assignments–>Settings para abrir a janela de configurações
gerais do projeto, conforme mostra a Figura 0.1.

Figura 0.1: Configurações gerais do projeto.

As configurações de máquina de estados finitos estão associadas ’a compilação do projeto e,por-


tanto, podem ser especificadas na opção Compiler settings, no painel esquerdo da janela e acionando
o botão Advanced Settings (Synthesis) para abrir a lista de propriedades de compilação, conforme a
Figura 0.2.

A propriedade a ser configurada é State Machine Processing, que por padrão exibe o valor Auto.
Clicando sobre o valor padrão, abre-se uma lista contendo todos tipos de codificação disponíveis

36
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.2: Lista de propriedades de compilação.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
37
Um guia de utilização do Quartus Prime 06-07-2022

na ferramenta Quartus II. Basta agora, selecionar a opção User-Encoded e acionar o botão OK para
voltar à janela anterior. Para finalizar acione o botão Apply para que as alterações tenham efeito, e em
seguida, acione o botão OK para sair. Se o botão OK for acionado diretamente, as alterações não
são salvas, e o procedimento precisa ser feito novamente.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
38
Memórias

A utilização de memórias pelo Quartus Prime não é feita de uma única maneira. Aqui será apresentada
a utilização de um bloco de memória através do IP Catalog. Este aplicativo encontra-se no menu Tools
ou em Ip Catalog, conforme mostra a Figura 0.1. Ele também pode ser acessado ao lado direito da
janela inicial como mostra a Figura 0.2.

Figura 0.1: Acessando o IP Catalog através do menu Tools.

Na tela da Figura 0.2 deve-se selecionar a opção RAM: 1-PORT. Na mesma tela, deve-se selecionar
a família na qual será utilizada a memória (MAX10) e a opção Verilog deverá estar selecionada. Deve-se
também especificar o nome de arquivo de saída . Grave o arquivo com o nome bloco_memoria no
diretório criado para a execução deste projeto ( Assegure-se que não haja caracteres Non ASCII,
espaços e sinal de menos). A Figura 0.3 ilustra esses passos a serem seguidos.
Uma nova janela será aberta e as informações sobre a memória deverá ser fornecida. Preencha os
campos com as informações apresentadas na Figura ??. Nesta etapa será definido o tipo de bloco de

39
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.2: Acessando o IP Catalog através da página inicial.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
40
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.3: Etapas para a criação do bloco de memória.

memória a ser utilizado. Nesse exemplo, utilizaremos o bloco M9k, que é o bloco de memória BRAM
do dispositivo). Selecione também a opção Single Clock, já que utilizaremos a memória funcionando
com apenas um clock. O tamanho total da memória (tamanho de cada palavra e quantas palavras
poderão ser armazenadas) também será definido. Para este exemplo, serão utilizadas palavras de 4
bits em 32 posições.

Após fornecer as informações pressione NEXT e siga as informações apresentadas nas Figuras de
0.5 a 0.9 . Deste ponto em diante serão utilizados os padrões fornecidos pelo programa.

Após finalizar o processo de criação da memória, um bloco semelhante ao apresentado na Figura


0.10 será disponibilizado para a criação do circuito proposto.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
41
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.4: Definindo as propriedades do bloco de memória.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
42
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.5: Configurações para o exemplo - I.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
43
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.6: Configurações para o exemplo - II.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
44
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.7: Configurações para o exemplo - III.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
45
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.8: Configurações para o exemplo - IV.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
46
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.9: Configurações para o exemplo - V.

Figura 0.10: Bloco de memória criado.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
47
Protótipo na placa DE10-Lite

Para testar nosso projeto na placa de desenvolvimento DE10-Lite, devemos associar os sinais de entrada
e saída aos terminais desejados FPGA. Para tanto, é necessário conhecer o diagrama esquemático
da placa de desenvolvimento para compreendermos em quais terminais estão ligados os periféricos
(leds, chaves, botões, displays, etc). Dessa maneira, devemos sempre consultar o manual da placa de
desenvolvimento para assegurar um planejamento correto dos sinais de E/S do nosso projeto (Terasic
2017).

Designando os terminais físicos de E/S

Iniciamos o procedimento de associação dos terminais usando o menu Assignments–>Pin Planner


para abir a interface de edição de pinagem, conforme mostra a Figura 0.1.

Figura 0.1: Interface de edição de pinagem.

48
Um guia de utilização do Quartus Prime 06-07-2022

Essa interface possui uma série de funcionalidades que não serão discutidas nesse guia de utiliza-
ção. Direcionaremos o foco apenas para as funcionalidades mais básicas que nos permitem obter um
protótipo funcional.

Nessa interface nos interessa o painel inferior que traz a lista de sinais envolvidos em nosso projeto.
Devemos nos preocupar com os dados a serem preenchidos nas colunas Location e I/O standard.

Tomando como exemplo um circuito inversor simples que possui uma entrada e uma saída, se
deseja conectar a entrada à chave SW0 e a saída ao LEDR0 da placa, conforme mostra a Figura 0.2.

Figura 0.2: Placa de desenvolvimento DE10-Lite, a chave SW0 e o LEDR0 são os componentes mais à
direita.

Para tanto, devemos consultar o manual da placa de desenvolvimento para entender em quais
terminais da FPGA esses periféricos estão conectados, conforme ilustram as Figuras 0.3 e 0.4 que
mostram tabelas de referência retiradas do manual da placa DE10-Lite (Terasic 2017).

Percebemos que a chave SW0 está conectada ao terminal PIN_C10 da FPGA enquanto o LEDR0
está conectado ao terminal PIN_A8. Além disso para os dois componentes a coluna I/O standard deve
ser preenchida com a opção 3.3-V LVTTL.

Para finalizarmos a atribuição de pinos devemos preencher esses dados na interface de pinagem,

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
49
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.3: Conexão das chaves SW0:SW9.

Figura 0.4: Conexão dos leds LEDR0:LEDR9.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
50
Um guia de utilização do Quartus Prime 06-07-2022

colocando os dados PIN_C10 e PIN_A8 na coluna Location para os terminais de entrada e saída,
respectivamente; e o dado 3.3-V LVTTL na coluna I/O standard para ambos sinais de entrada e saída.

Realizado esse procedimento, basta minimizar (sem fechar) o editor de pinagem para retornar à
interface do Quartus Prime, afim de compilar novamente nosso projeto, incluindo as informações de
pinagem.

Assegure-se que uma nova compilação tenha sido realizada após a atribuição da pinagem.
Do contrário, não será possível programar a placa de desenvolvimento.

Exportando as configurações de E/S

Podemos salvar as configurações de pinagem em um arquivo .csv que pode ser posteriormente im-
portado em outro projeto. Esse procedimento agiliza o desenvolvimento de projetos que possuem
muitos de sinais de E/S. Para tanto, após realizar as configurações de pinagem, basta utilizar o menu
File–>Export e salvar o arquivo .csv no local desejado.

Importando configurações de E/S

Para importar um arquivo .csv com as configurações de pinagem previamente definidas, basta, na
interface do Quartus Prime usar o menu Assignments–>Import Assignments e apontar para o local
onde o arquivo está salvo. Assegure-se que uma nova compilação tenha sido realizada após
importar as configurações de pinagem. Do contrário, não será possível programar a placa de
desenvolvimento.

Programando a placa DE10-Lite

Para descarregar o projeto na placa de desenvolvimento, basta usar o menu Tools–>Programmer


para acessar a janela de programação, conforme mostra a Figura 0.5.

É importante conferir se o hardware selecionado é o USB-Blaster. A janela de programação


também deve informar o arquivo .sof na primeira coluna, o dispositivo alvo na segunda coluna e a
caixa de seleção Program/Configure deve estar selecionada. Caso não haja hardware aparente, basta
acionar o botão Hardware setup no painel da esquerda. Será aberta uma janela para seleção de
hardware, conforme a Figura 0.6.

Para selecionar o hardware apropriado, basta procurar por USB-Blaster na lista. Se a lista estiver
vazia, significa que o driver da placa de desenvolvimento não foi corretamente instalado, consulte a

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
51
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.5: Janela de programação.

Figura 0.6: Janela de seleção de hardware.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
52
Um guia de utilização do Quartus Prime 06-07-2022

seção Solução de problemas para mais informações. Uma vez que as configurações estejam corretas,
basta acionar o botão Start no painel lateral esquerdo. Será mostrado um indicador de progresso na
parte superior direta da janela. Após a programação, a placa exibirá os leds em meio brilho, indicando
que o processo de gravação foi finalizado.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
53
Solução de problemas

Esse capítulo mostra a solução dos problemas mais comuns encontrados por alguns usuários ao
instalar ou utilizar o ambiente de desenvolvimento Quartus Prime em conjunto com a ferramenta de
simulação ModelSim.

Sistema operacional Linux

Esse guia de solução de problemas considera a utilização do sistema operacional Ubuntu 19.10. Entre-
tanto, deve funcionar para versões superiores do sistema operacional.

libstdc++.so

Um erro muito comum na inicialização do software Quartus II está relacionado com a biblioteca
libstdc++. A ferramenta traz uma versão antiga dessa biblioteca localizada em /home/gustavo/in-
telFPGA_lite/19.1/quartus/linux64 enquanto o sistema operacional possui uma versão mais nova e
compatível com a antiga. Dessa maneira, a ferramenta inicia normalmente, mas o erro é mostrado no
terminal.

Para resolver esse problema, basta renomear os arquivos libstdc++.so para libstdc++.so_old, e
libstdc++.so.6 para libstdc++.so.6_old.

Erro ao iniciar a ferramenta ModelSim

Esse erro ocorre ao iniciar a ferramenta ModelSim tanto através do editor de formas de onda quanto do
arquivo de testbench. Para solucioná-lo basta instalar as seguintes bibliotecas no sistema operacional:
libx11-6:i386, libxext6:i386 e libncurses5:i386, conforme mostrado abaixo.

$sudo apt install libx11-6:i386 libxext6:i386 libncurses5:i386

54
Um guia de utilização do Quartus Prime 06-07-2022

Diver USB-Blaster

Para instalar o driver USB-Blaster da placa de desenvolvimento DE10-Lite, basta criar um arquivo
denominado 51-usbblaster.rules em /etc/udev/rules.d, com o seguinte conteúdo mostrado abaixo.
Reinicie o computador para as modificações tomarem efeito.

SUBSYSTEMS=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001",


↪ MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6002",
↪ MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6003",
↪ MODE="0666"

Sistema operacional Windows

Esse guia de solução de problemas considera a utilização do sistema operacional Windows 10. Entre-
tanto, deve funcionar para outras versões do sistema operacional.

Driver USB Blaster

As Figuras 0.1 a 0.5 ilustram o procedimento de instalação do driver USB-Blaster para a comunicação
com a placa de desenvolvimento DE10-Lite. 6.2.2

Falha ao iniciar o ModelSim

Muitas vezes a ferramenta ModelSim falha na inicialização devido a uma falha de configuração no
Quartus Prime. O local de instalação da ferramenta ModelSim deve ser informado ao Quartus Prime,
conforme demonstrado nas Figuras 0.6 e 0.7. O caminho da ferramenta ModelSim deve ser:

C:\intelFPGA_lite\18.1\modelsim_ase\win32aloem

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
55
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.1: Acessando o dispositivo USB-Blaster com a placa conectada.

Figura 0.2: Atualizando o driver.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
56
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.3: Procurar drivers no computador local.

Figura 0.4: Caminho de instalação do driver.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
57
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.5: Driver atualizado com êxito.

Figura 0.6: Configurando o Quartus Prime.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
58
Um guia de utilização do Quartus Prime 06-07-2022

Figura 0.7: Local de instalação na linha ModelSim-Altera.

Gabriel Fanelli, Gustavo Della Colletta, Leonardo B. Zoccal, Odilon O. Dutra, Rodrigo de P. Rodrigues
59
Referências

ALTERA. n.d. Introduction to the Quartus II Software. 10.0 ed. INTEL/ALTERA.


Terasic. 2017. De10-Lite User Manual.

60

Você também pode gostar