quartusii

Upload: olwenntaron

Post on 07-Jan-2016

3 views

Category:

Documents


0 download

DESCRIPTION

Instructions to operate

TRANSCRIPT

  • Laboratrio de Sistemas, Processadores e Perifricos

    Introduo ao Quartus II

    Prof. Julio C. D. de Melo DELT/EEUFMG

    1. Introduo

    O Quartus II um programa da ALTERA orientado ao projeto e implementao de circuitos lgicos nas suas famlias de dispositivos lgicos programveis FPGA (baseada em memria RAM) e CPLD (baseada em memria FLASH). Ele uma ferramenta de desenvolvimento com ambiente integrado que incorpora utilitrios para entrada de projetos lgicos, compilao do projeto e sua simulao. Alm disto, atravs do cabo apropriado, possvel gravar uma FPGA ou CPLD com o projeto lgico desenvolvido. Uma verso WEB est disponvel para download no site

    http://www.altera.com/ (clicar no item Download Quartus II Web Edition). necessria a obteno de uma licena de instalao, obtida no mesmo site.

    A entrada de projeto possui dois modos de operao bsicos: editor grfico (coberto nesta aula prtica) e editor em modo texto (prximas aulas), este ltimo voltado para a edio de aplicaes em linguagens de descrio de hardware, tais como AHDL, VHDL ou Verilog HDL. A compilao e a simulao so etapas subsequentes atravs do qual possvel verificar se h erros de lgica e corrig-los.

    2. Objetivos O editor grfico usualmente empregado para circuitos de baixa complexidade ou para conexo entre projetos

    de forma rpida. Atualmente, a nfase no uso de linguagens de descrio de hardware, por apresentar uma srie de vantagens: incluso de comentrios, projeto da lgica implementado pelo software e no pelo usurio, verificao de erros de lgica, otimizao do projeto e outras. Nesta primeira prtica, a nfase apresentar o ciclo de desenvolvimento com o Quartus II: entrada do projeto lgico, compilao, simulao e gravao.

    2.1. Entrada do projeto lgico O Quartus II trabalha com o conceito de projeto, que engloba os arquivos de entrada de um circuito lgico, os

    arquivos de simulao e vrios outros que ele cria quando compila o projeto. Assim, a etapa inicial, antes da entrada do circuito propriamente dito, a entrada ou definio do arquivo que contm a lgica a ser sintetizada.

    Para criar um novo projeto, deve ser utilizado o assistente de criao de novo projeto, selecionando o diretrio onde o projeto ser armazenado. Por convenincia, deve ser criado um novo diretrio com o nome da aula (Aula 1, por exemplo) e dado o mesmo nome ao projeto, porm substituindo o espao por um trao sublinhado (Aula_1). Nas opes seguintes, deve ser selecionado o dispositivo EP2C70F896C7 da famlia Cyclone II para terminar a criao do projeto. Note que o arquivo lgico ainda no foi especificado.

    Para criar um projeto lgico baseado em diagrama lgico, basta criar um novo arquivo na forma de diagrama lgico (Block Design File, na linguagem do Quartus II) na janela que for aberta. Para adicionar um componente lgico ao editor grfico, d um clique duplo sobre a rea de edio e, na caixa de dilogo que abrir em seguida, selecione o smbolo navegando nas pastas em Libraries, ou digite seu nome no campo Name (por exemplo, or2 para uma porta lgica or com duas entradas, input para uma entrada, output para sada, etc.).

    Qualquer circuito lgico criado pelo usurio atravs do editor grfico pode ser definido como um componente que, por sua vez, poder ser empregado no projeto de outro circuito. Para tal, aps ter salvo o arquivo correspondente ao circuito, deve-se selecionar a opo para criao do seu smbolo lgico.

    2.2. Compilao do projeto lgico Uma vez que o projeto tenha sido criado e um arquivo de entrada de projeto adicionado, a prxima etapa

    consiste em compilar o projeto, ou seja, traduz-lo para um formato que possa ser carregado numa FPGA ou CPLD. O compilador realiza vrias operaes nesta traduo:

    anlise e sntese do projeto, levando em considerao os requisitos de temporizao

    adaptao do projeto ao dispositivo especificado

    criao do arquivo de gravao do dispositivo

    criao do arquivo de simulao do projeto Aps a compilao do projeto, o Quartus II gera um relatrio que contm uma srie de mensagens de alertas e

    de erros que devem ser analisadas para verificar o grau dos problemas a serem resolvidos. No caso de erros, obrigatrio corrig-los antes de continuar. No caso de alertas, aconselhvel verificar se elas no implicam em algum erro de lgica que leve a funcionamento errado do projeto. Para quaisquer arquivos de entrada de projeto, clicando-se duas vezes numa mensagem de erro abre uma janela com o arquivo com problemas e posiciona o cursor prximo provvel causa, permitindo a sua rpida correo.

    2.3. Simulao do projeto lgico A etapa seguinte a uma compilao sem erros do projeto consiste da sua simulao. Para isto, utilizado um

    editor de forma de ondas, atravs do qual os sinais de entrada so definidos e os sinais de sada so gerados pelo

  • Curso de Engenharia Eltrica da UFMG Sistemas, Processadores e Perifricos

    Prof. Julio C. D. de Melo DELT/EEUFMG - 2

    simulador, que usa para isto o projeto lgico como base para sua deduo. Atravs da anlise dos sinais lgicos, o projetista determina se o comportamento do projeto o esperado. Se no for, ele deve voltar etapa de entrada de projeto para corrigir o erro ou alter-lo, compil-lo novamente e simul-lo. Este ciclo se repete at que o projetista tenha assegurado que o comportamento do projeto atende aos seus requisitos originais.

    2.4. Gravao do cdigo no dispositivo Se o resultado da simulao est correto ou seja, est de acordo com os seus requisitos lgicos, uma etapa que

    nem sempre realizada consiste em configurar o dispositivo lgico escolhido (FPGA ou CPLD) com o projeto lgico, de tal forma que o comportamente nele se assemelhe e esteja o mais prximo possvel daquele obtido do simulador. Como este processo pode envolver a gravao de um contedo de memria FLASH, diz-se tambm que o dispositivo gravado ao invs de configurado.

    Em projetos hierrquicos, tipicamente a simulao limitada aos mdulos menores e a gravao aos mdulos de maior complexidade ou mesmo limitado ao mdulo final, da a importncia na simulao dos mdulos intermedirios, j que nem sempre seu comportamento ser verificado no dispositivo.

    3. O kit DE2 da Altera

    O mdulo experimental que ser utilizado em laboratrio nas prticas de VHDL o kit DE2 da Altera, cuja fotografia apresentada abaixo. Ele contm, alm de uma FPGA EP2C35672C6N, dispositivos perifricos tais como LEDs, chaves, interfaces de udio e vdeo e interface Ethernet, alm de memrias RAM e FLASH. Todos estes dispositivos esto disponveis para uso, sendo descritos nos manuais de usurio e referncia, disponibilizados no site da disciplina.

    Um aspecto muito importante da gravao, e que definida na etapa de entrada do projeto, a atribuio de

    pinos, ou seja, em quais pinos do dispositivo lgico uma determinada entrada ou sada vai estar disponvel. Para todos os sinais do projeto principal definidos como entrada ou sada (ou bidirecionais, se for o caso), deve ser feita a atribuio a um pino do dispositivo que seja compatvel. Nos dispositivos da Altera, alguns dos pinos tm atribuio preferencial (exemplos: sinais de relgio, sinais de habilitao de portas tri-estado, sinais de inicializao) ou mesmo obrigatria (todos os sinais de alimentao, sinais de configurao do dispositivo) e no esto disponveis para atribuio a funes lgicas do usurio.

    Para a placa DE2, seu manual de usurio apresenta a atribuio que feita para todos os perifricos e componentes disponveis, desde os passivos, tais como as chaves liga/desliga, chaves de presso, LEDs vermelhos e verdes, visores de 7-segmentos e visor de cristal lquido, at os ativos, tais como memrias RAM e FLASH, codec de udio, codificador e decodificador de vdeo, interface Ethernet e outros. Para facilitar seu uso, foi disponibilizado um arquivo de atribuio padro da placa que identifica todos estes dispositivos, bastando fazer uso de seu nome, como definido nele, para ter acesso ao dispositivo. O arquivo tem o nome DE2_pin_assignments.csv e se encontra disponvel no site da disciplina.

  • Curso de Engenharia Eltrica da UFMG Sistemas, Processadores e Perifricos

    Prof. Julio C. D. de Melo DELT/EEUFMG - 3

    Assim, se o objetivo acender o LED vermelho identificado no kit DE2 como LEDR0, basta atribuir a um pino de sada o nome LEDR[0] (note a presena do subscrito [0]). Se se deseja acender todos os 18 LEDs vermelhos, a atribuio seria a um vetor de nome LEDR[17..0]. Da mesma forma, a atribuio aos outros dispositivos deve seguir a nomenclatura definida no arquivo de atribuio de pinos.

    4. Parte Experimental

    A parte experimental consiste em realizar um projeto de luzes rtmicas: os LEDs verdes sero acionados numa ordem cclica, um de cada vez, comeando do LED direita (LEDG0) e acendendo sucessivamente os LEDs esquerda at o LEDG7, quando a sequncia invertida e os LEDs so acesos se deslocando direita. Esta sequncia se repete sem parar. Como o objetivo nesta primeira aula prtica o aprendizado do Quartus II e do kit DE2, ser utilizada a entrada de projeto atravs do editor grfico mas, a partir da prxima aula, ser utilizado apenas a linguagem VHDL.

    O diagrama de blocos do projeto de ativao dos LEDs verdes mostrado na figura abaixo (arquivo Luz_ritmica.bdf). Salve este arquivo em seu diretrio de trabalho antes de iniciar as atividades.

    Notem que, ao contrrio do que ser feito com o uso da linguagem VHDL, a lgica do funcionamento do circuito foi desenvolvida por algum, que teve o trabalho de derivar as equaes lgicas e identificar os blocos necessrios. Em VHDL, o objetivo fazer com que o compilador tenha esta funo, deixando o projetista livre para tarefas mais nobres.

    4.1. Atividade 1 Nesta atividade, voc dever verificar o funcionamento do projeto das luzes rtmicas no kit DE2. Para isto,

    proceda como a seguir, onde os comandos ou selees a serem feitos no Quartus II esto identificados:

    1. Criar um novo projeto: File New Project Wizard. Uma janela se abre informando sobre os prximos passos. Clique em Next.

    2. Na janela de definio do diretrio de trabalho e do nome do projeto, selecione o seu diretrio de trabalho na primeira janela de edio, utilizando o boto de seleo de diretrio direita, e entre com o nome Luz_ritmica (trao sublinhado, sem acento), como mostrado a seguir. O Quartus II utiliza o mesmo nome para o projeto da mdulo principal.

    Selecione aqui

    Nome do projeto

  • Curso de Engenharia Eltrica da UFMG Sistemas, Processadores e Perifricos

    Prof. Julio C. D. de Melo DELT/EEUFMG - 4

    3. Na janela de identicao do arquivo que contm o projeto lgico, selecione o arquivo com o nome Luz_ritmica.bdf, clique em Add (o nome do arquivo deve aparecer na janela de arquivos do projeto) e em Next.

    4. Na janela de definio do dispositivo lgico, selecione a famlia Cyclone II e o dispositivo do kit DE2 (EP2C35672C6N), como mostrado abaixo.

    5. Selecione Next e Finish na prxima janela. O projeto foi criado e, para ver o diagrama lgico, d um duplo clique no nome do arquivo na janela de navegao do projeto, no canto superior esquerdo.

    Para ter uma viso geral do diagrama lgico, selecione

    ViewFull Screen (para sair da viso geral faa o mesmo).

    6. Note que foram utilizados os nomes dos dispositivos de entrada e sada como definidos para o kit DE2, tais como LEDG[7..0]. Falta, agora, indicar para o Quartus II o nome do arquivo que contm

    tais atribuies. Para isto, selecione AssignmentsImport Assignments e selecione o arquivo DE2_pin_assignments.csv.

    7. O projeto est pronto para ser compilado. Para isto, selecione na barra de ferramentas a seta roxa

    direita ou, no menu, a opo Processing Start Compilation.

    8. Aps a compilao do projeto, o relatrio gerado pelo Quartus II deve ser analisado para verificar os erros ou alertas identificados. No caso do projeto das luzes rtmicas, a grande maioria das mensagens de erro est relacionada definio de atribuiao de pinos que no esto sendo utilizados e podem, por isso, ser ignoradas.

    9. Antes de verificar o funcionamento do projeto no kit, aconselhvel verificar seu funcionamento

    atravs de sua simulao. Para isso, crie um arquivo de formas de onda selecionando File New Vector Waveform File. Na janela que se abrir, clique com o boto direito na linha logo abaixo da coluna identicada como Name e selecione as opes Insert e Insert Node or Bus no menu suspenso. Na prxima janela selecione Node Finder e, na janela que se abrir, clique no boto List para list-los. Selecione os sinais CLOCK_27, LEDG e SW utilizando a tecla de controle (CTRL) no teclado e passe-os para a janela da direita clicando em > na barra central. Clique em OK para aceitar esta seleo, selecione hexadecimal com o base dos sinais (Radix) e clique em OK para os sinais serem adicionados ao arquivo de simulao.

    10. Na simulao, h dois parmetros a serem definidos e que podem variar em funo do projeto: o tempo de durao da simulao e a grade a ser utilizada para os sinais de relgio e seleo de sinais.

    Para o primeiro, selecione EditEnd Time e selecione 2 us como tempo de durao da simulao. Para

  • Curso de Engenharia Eltrica da UFMG Sistemas, Processadores e Perifricos

    Prof. Julio C. D. de Melo DELT/EEUFMG - 5

    o segundo, selecione EditGrid Size e selecione 100 ns como o tamanho da grade. Para ver a janela de simulao completa, selecione com o boto direito posicionado na rea de visualizao dos sinais a opo Zoom e, em seguida, Fit in Window, ou tecle CTRL-W. Toda a janela de 2us ser visualizada.

    11. Para definir a forma de onda adequada para o pulso de relgio, clique no sinal CLOCK_27 e toda a

    forma de onda ser selecionada. Clique na barra de ferramentas esquerda no smbolo (Overwrite clock) e aceite a sugesto de perodo de 100ns, como definido pelo tamanho da grade. O sinal agora ser substitudo por um sinal de onda quadrada com este perodo.

    12. Salve o arquivo de simulao e aceite a sugesto do nome, que dever ser igual ao do projeto lgico.

    13. Para simular o projeto, selecione Processing Start Simulation ou clique no smbolo na barra de ferramentas superior. O projeto ser simulado e os sinais de sada sero definidos no relatrio de simulao produzido, como mostrado abaixo. Note que a cada instante um dos LEDs verdes aceso e a sequncia se inverte sempre que o LED[0] ou o LED[7] atingido.

    14. Uma vez verificado o funcionamento correto atravs da simulao, o cdigo gerado pelo Quartus II pode ser descarregado no kit DE2, atravs da ferramenta de programao. Esta ferramenta ativada

    atravs do smbolo da barra de ferramentas ou atravs do comando ToolsProgrammer. Na janela que se abre, clique no boto Add File e selecione o arquivo Luz_ritmica.sof. Em seguida, clique em Start e o arquivo ser enviado ao kit, para configurao da FPGA e o funcionamento do projeto nela poder ser verificado. Observao importante: a chave RUN/PROG deve estar na posio RUN.

    Todos estes passos devero ser tomados para cada aula de laboratrio, alterando-se apenas a forma de entrada

    do projeto que, a partir da prxima aula, ser baseada na linguagem VHDL. 4.2. Atividade 2 O relgio do circuito lgico da atividade 1 era o boto 0 mas para podermos ver a sequncia dos LEDs mais

    rapidamente, sem ao manual, necessrio ligar um relgio de uma frequncia adequada e a atividade 2 consistir em fazer uma pequena alterao no diagrama lgico para permitir o acionamento dos LEDs periodicamente. Note que h nele um bloco denominado contador que no est sendo usado e cuja entrada est ligada a trs sinais:

    um sinal de relgio, denominado CLOCK_27 (27MHz) e que disponvel no kit DE2

    dois sinais associados s chaves SW[0] e SW[1] Sua tarefa consiste em ligar a sada deste bloco (CLKO)

    no sinal CLK0, bastando mover a linha que tem o rtulo CLKO, que est conectada ao boto KWY[0], recompilar o cdigo e carreg-lo na FPGA, como mostrado na figura ao lado. Verifique que agora os LEDs se acendem sequencialmente, numa velocidade determinada pelas chaves SW[0] e SW[1].

    4.3. Atividade 3 A atividade 3 consiste em manter os LEDs vermelhos apagados, eliminando suas sadas do diagrama lgico e

    verificando seu funcionamento.