Tutorial do Quartus Web Edition
1 – Para adquirir o software
1. Acesse o site da Altera: http://www.altera.com 2. Clique no link download.
Figura 1 – http://www.altera.com
3. Na página aberta, escolha na seção “Altera University Program Software”, o software “Quartus II Web Edition (versão 4.2 incluindo Service Pack 1)”
Figura 2 - https://www.altera.com/support/software/download/altera_design/quartus_we/dnl-quartus_we.jsp
4. Na página aberta, escolha o arquivo de instalação “quartusii_50_sp1_web_edition_single.exe” para download.
Figura 3 - https://www.altera.com/support/software/download/altera_design/quartus_we/dnl-quartus_we.jsp
Esta é versão 5.0 com Service Pack 1 do software Quartus II Web Edition, a última versão lançada quando este tutorial foi escrito. Novas versões e atualizações estão sendo sempre lançadas. Caso seja mais conveniente, existe a opção de envio do CD de instalação do software pelo correio. Para solicitar um CD, siga o seguinte procedimento:
1. Clique no link “You can request Quartus II Web Edition software on CD” (veja extremidade inferior da Figura 3).
2. Na janela aberta, preencha o formulário para entrega do CD via correio e clique em “Submit Request”.
O site ainda permite o cadastramento de perfil de usuário, dispensando o preenchimento de formulários toda vez que se for solicitar um CD ou uma licença, que é obrigatória (próximo item). Para cadastramento, basta clicar no botão Sign Me Up, na página da Figura 4 e seguir o procedimento necessário.
2 – Para adquirir a licença obrigatória
Para rodar o Quartus, é necessário adquirir e configurar uma licença obrigatória gratuita. Procedimento:
1. Clique no link “Get a license file”, ao lado do ícone de download do arquivo de instalação (ver Figura 3).
2. Preencha um formulário semelhante ao da Figura 4, ou então crie ou use sua conta de usuário.
3. Após clicar no botão Submit Request, a página da Figura 5 é aberta. Nela, deve-se preencher o campo número NIC (Network Interface Card), que é o endereço físico da placa de rede e também escolher entre licença Standard (a ser usada para fins comerciais) ou a licença Academic (para uso em projetos acadêmicos). O número NIC é obtido (desde que o computador tenha placa de rede) através do comando do MS-DOS ipconfig /all. Um exemplo de saída deste comando é mostrado na Figura 5.
Figura 4 - You can request Quartus II Web Edition software on CD
Figura 5 – Obtenção do número NIC
No caso do exemplo acima o número NIC a ser digitado é 00C04FA392EF (número de 16 dígitos hexadecimais sem os traços).
Figura 6 – Pesquisa
Pronto! O arquivo de licença, bem como as instruções para configuração da mesma serão enviados para o e-mail cadastrado. Depois de configurada a licença, é só começar a usar o software.
3 – Para criar um novo projeto e compilar
1. Execute o Quartus
2. Tela inicial do Quartus:
Figura 8 – Tela inicial do Quartus
3. A primeira coisa a fazer é criar um desenho esquemático. Use o menu File -> New
Figura 9 – Criando um desenho esquemático
4. Digite o nome da folha de esquemático. Utilize a opção Block Diagram/Schematic File na janela New. O resultado será uma janela como apresentado na Figura 10.
Figura 10 – Janela de edição de esquemático com destaque para o acesso a biblioteca de símbolos.
5. Clique no ícone Symbol Tool (Figura 10) para acessar a biblioteca de símbolos. Após o resultado será igual ao da Figura 11.
Expandir a linha que indica o
local das bibliotecas
disponíveis
Figura 11
5. Para este tutorial, será utilizado apenas uma porta E de duas entradas. Acessando a biblioteca, como indicado na Figura 11, escolher uma porta and2 e dois pinos de
entrada e um de saída. Os pinos podem ser acessados na lista de bibliotecas (Figura 12).
Figura 12 – Acesso aos pinos de entrada e saída
6. A conexão pode ser realiza com um simples click no pino de cada porta. A Figura 13 ilustra esta operação.
Ao aproximar o ponteiro do mouse próximo ao
ponto de interesse o cursor muda seu aspecto.
Figura 13 – Conexão entre elementos
7. Para alterar um nome de um sinal, clique duas vezes no nome do pino. Será apresentado uma janela que possibilita a alteração do nome do pino (Figura 14).
Figura 14 – Alterando um nome de um pino.
8. Salve o esquemático desenhado como porta e, confirme se a opção Create New Project based on this File está selecionada. 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 (Figura 15).
9. Como neste momento, não existe o interesse de escolher um dispositivo CPLD ou FPGA, podemos optar na Figura 16, pelo botão Finish.
Esta opção aparece após pressionar o botão Finish. Como desejamos continuar a utilizar o software Quartus II, aceite a opção selecionada e clique no
botão OK.
Figura 16 – Finalizando o auxiliar para criar um projeto
10. Compile o projeto (Figura 17).
Figura 17 – Compilando um projeto
11. Não existindo erros, a etapa de compilação está finalizada (Figura 18). Agora é necessário simular o circuito para confirmar a sua operação correta.
Figura 18
Durante a compilação, todas as mensagens são exibidas na guia Processing da janela Messages. Algumas das mensagens podem ter sua origem localizada no projeto ou em algum arquivo fonte. Algumas mensagens são agrupadas. Para expandir um grupo de mensagens, clique no ícone +. Para tentar localizar a origem de uma mensagem – é uma prática muito útil na correção de erros de código – basta dar um clique duplo sobre a mensagem à qual deseja-se localizar sua origem.
Por exemplo, clicando-se duas vezes sobre a primeira mensagem de erro (as mensagens de erro são as mensagens em vermelho, enquanto as mensagens warning são exibidas em azul e as mensagens meramente informativas são exibidas em verde).
4 – Simulando o Projeto
Tendo sido corretamente compilado o projeto, a próxima etapa do desenvolvimento é a simulação lógica do projeto, que serve para validar a lógica a ser implementada.
Para esta finalidade, os seguintes passos devem ser seguidos:
1. Criar um novo arquivo, do tipo Vector Waveform File (.vwf) (veja Figura 19)
2. Na janela aberta (Figura 20), clicar com o botão direito do mouse na área indicada e escolher Insert Node or Bus...
3. Clicar no botão Node Finder.(veja Figura 21)
4. Selecionar Pins: all e clicar no botão List (veja Figura 22)
5. Selecionar tudo e clicar no botão indicado pela seta do mouse na Figura 23. 6. Clicar em Ok.
7. Clicar em Ok novamente.
Figura 19 – Novo arquivo .vwf
Figura 21 – Node Finder
Figura 22 – Inserção de Sinais
Selecione um nó e
pressione o botão >, ou
para adicionar todos os
sinais ao simulador
utilize o botão >>.
8. Para esta simulação escolheu-se definir o tempo final de simulação como sendo 160 ns. Para definir este tempo, utilize o menu Edit -> End Time...
9. Coloque 160 ns para o End Time e clique em Ok.
Figura 24 – End Time
10. Para fazer com que todo o intervalo de tempo de simulação apareça na tela, é preciso definir o zoom. Para isto, vá ao menu View -> Zoom...
11. Escolha a opção Show Range e entre com 0 ns para Start Time e 160 ns para End Time.
12. Selecione o sinal a e clique no botão indicado na Figura 26. 13. Escolha o período para o sinal a como 40 ns e clique Ok.
14. Faça o mesmo para o sinal b, só que para este atribuindo um período de 80 ns.
Figura 25 – Zoom
Figura 27 – Ajuste do período do sinal de clock
15. Selecione o sinal a, pressione e segure a tecla Ctrl e em seguida selecione o sinal b também.
16. Clique no botão INV da barra de ferramentas, conforme indicado na Figura 28.
Figura 28 – Invertendo os sinais a e b
17. Selecione (clicando, agarrando e arrastando o mouse) o sinal a entre os instantes 150 ns e 155 ns.
18. Atribua o valor 1 ao sinal neste intervalo de tempo. Para isto, use o botão Forcing High da barra de ferramentas (indicado na Figura 29) ou o botão INV, utilizado anteriormente.
19. 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. 20. Nomeio o arquivo como e2.vwf e clique Ok para confirmar.
21. Pronto. É só rodar a simulação. Para tal finalidade, use o menu Processing -> Start Simulation, Ctrl + I ou o ícone correspondente na barra de ferramentas.
22. A saída do simulador deve ser semelhante à mostrada na Figura 30.
23. Para visualizar todo o intervalo de tempo simulado, faça o ajuste de zoom indicado nos passos 10 e 11.
24. Feito este ajuste, têm-se as formas de onda indicadas na Figura 31.
Figura 30 – Saída do simulador
Figura 31 – Formas de onda resultantes da simulação
Na Figura 31, observa-se que a lógica implementada está funcionando conforme esperado, com a saída apresentando um atraso de 10 ns em relação à entrada.
Caso se deseje aumentar o zoom para melhor visualização das ondas, basta clicar no botão da barra de ferramentas Waveform Editor. Para aumentar o zoom, clique com o botão esquerdo do mouse em algum ponto da forma de onda. Clicando com o botão direito do mouse, reduz-se o zoom.
5 – Programando o dispositivo
Caso o projeto tenha sido compilado e simulado sem erros, pode-se então gravar o dispositivo. Para isto, é necessário informar ao software em qual dispositivo Altera a lógica será implementada.
Caso se tenha deixado em aberto a escolha do dispositivo quando se criou o projeto (veja Figura 12) é necessário agora especificar o mesmo. Para isso clique em Assignments -> Device. Caso o dispositivo já tenha sido escolhido, desconsidere este procedimento.
O download dos dados de configuração dos dispositivos pode ser feito através dos cabos de comunicação ByteBlasterMV, ByteBlaster II ou USB-Blaster. A programação dos dispositivos pode ser feita nos modos Passivo Serial, Ativo Serial, JTAG ou In-Socket.
Porém, antes de programar o dispositivo, é necessário atribuir os sinais de entrada e saída aos pinos reais do dispositivo. Isto é feito através do Pin Planner (menu Assignment -> Pin Planner). Uma janela semelhante à da Figura 32 é aberta. A Figura 33 apresenta a convenção para os símbolos utilizados que pode ser obtida através do menu View – Pen Legend Window.
Para atribuir um sinal a um pino, basta selecionar um pino na figura que representa o chip (Figura 34) e executar dois cliques simultâneos. Como exemplo (veja Figura 35), a entrada a foi colocada no pino 19, a entrada b no pino 20 e a saída s no pino 41.
Note a alocação
de pinos.
Figura 34 – Sinais atribuídos aos pinos
Alocação final
Indicação dos
pinos alocados
Figura 35 – Alocação final dos pinos
Na atribuição dos sinais aos pinos alguns cuidados devem ser tomados. Alguns pinos são utilizados para comunicação com o PC durante o processo de gravação do dispositivo. Deve-se evitar usar estes pinos. Caso o projeto possua interface com sinais de clock, preset ou
clear (por exemplo, na implementação de flip-flops), existem pinos no CI específicos para estes sinais.
Depois de atribuídos os sinais aos pinos, o projeto deve ser novamente compilado. Para a programação de um dispositivo, é usado um arquivo do tipo Chain Desciption File (.cdf), que armazena o nome do dispositivo, seu número, e informações de programação e de hardware.
Para criar um arquivo .cdf, vá ao menu Tools -> Programmer (Figura 36). Para configurar a gravação de um dispositivo no modo JTAG, siga os seguintes passos:
1. Clique no botão Hardware Setup. A caixa de diálogo Hardware Setup é aberta. 2. Clique em Add Hardware. A caixa de diálogo Add Hardware se abre.
3. Na lista Hardware type, selecione ByteBlasterMV or ByteBlaster II. 4. Clique Ok.
5. Clique Close.
Figura 36 – Seleção do Programador
Clique em Hardware Setup
Figura 37 – Escolha do Programador
Ligue o cabo ByteBlasterMV da porta paralela do PC ao gravador, ligue a alimentação do gravador, e então clique Start.
Figura 38 – Configuração final antes da programação do dispositivo.
Antes de gravar, selecione a opção Program/Configure. Depois clique no botão Start e acompanhe no campo progress o progresso da gravação (Figura 38).
Observe na janela Messages se não existem mensagens de erro. Se não existirem erros, isto significa que o dispositivo já está gravado, podendo-se então utilizá-lo.