Introduo ao MAX+plus II 1. Apresentao Este tutorial visa introduzir o usurio iniciante s ferramentas do MAX+plus II da Altera. O MAX+plus II um ambiente para projeto de sistemas digitais baseados nos dispositivos lgicos programveis (PLDs - Programmable Logic Devices) fabricados pela Altera. Essa companhia norte-americana uma das lderes do mercado mundial de lgica programvel. Esses PLDs nada mais so do que uma matriz de blocos lgicos formados por portas lgicas e flip-flops. Esses blocos lgicos so interligados por meio de uma rede de interconexo e o conjunto blocos lgicos/rede de interconexo pode ser programado para implementar diferentes funes lgicas. Conforme a estrutura de seus blocos lgicos e da rede de interconexo, esses PLDs recebem denominaes diferentes: FPGA (Field Programmable Gate Array) ou CPLD (Complex Programmable Logic Device). O MAX+plus II um ambiente que integra um conjunto de ferramentas as quais permitem ao projetista desenhar um diagrama lgico (esquemtico) ou especificar o circuito atravs de uma linguagem de descrio de hardware, simular o funcionamento do circuito especificado e sintetiz-lo mapeando-o para os CPLDs da Altera. Alm disso, h uma srie de ferramentas que possibilitam a anlise dos tempos do circuito (timing), a edio dos leiautes interno e externo do dispositivo, entre outras. Neste tutorial introdutrio, sero exercitadas apenas as ferramentas de entrada de projeto atravs de diagramas esquemticos (desenho do circuito lgico) e de simulao funcional do circuito. Ele servir tambm para apresentar o ambiente do MAX+plus II. 2. Preparando o seu disco para o tutorial Antes de iniciar a utilizao do MAX+plus II, necessrio criar um diretrio em seu disco rgido onde sero armazenados os seus arquivos de projeto. Ao executar um projeto, o MAX+plus II gera uma srie de arquivos que devem ser armazenados em um diretrio especfico ao projeto em execuo. Portanto, para cada projeto novo a ser feito, conveniente se criar um diretrio prprio. Para criar um diretrio especfico para esse tutorial, no Explorer do Windows, crie as seguintes pastas: C:\Temp C:\Temp\Altera C:\Temp\Altera\Tutorial Se algum dos diretrios acima j existir, voc no precisa cri-lo.
Introduo ao MAX+plus II 2
Cesar Albenes Zeferino
3. Carregando o MAX+plus II Para carregar o MAX+plus II, selecione o boto Iniciar (Start) do Windows 95/98 e carregue o programa MAX+plus II Baseline. Aps o processo de carga, apresentado o ambiente do MAX+plus II:
Figura 1 - Ambiente de trabalho do MAX+plus II. Nesse ambiente, voc pode identificar os seguintes itens: (a) barra de nomes: onde mostrado o nome do projeto corrente e do arquivo em primeiro plano; (b) barra de menu: apresenta um menu com itens que variam em funo da ferramenta em uso; (c) barra de ferramentas: inclui atalhos para a ativao de comandos e ferramentas; (d) paleta: inclui cones relativos a comandos especficos ferramenta em uso; (e) barra de mensagens: onde so apresentadas mensagens de auxlio ou advertncia; (f) rea de trabalho: onde so ativadas as janelas, caixas de dilogo e menus popup das ferramentas em uso. OBS: Nas sees que seguem, o acesso s opes do Menu so indicada por expresses como "Ative [Menu] File > New", a qual significa: posicione o cursor sobre a opo File da barra de menu e, no submenu apresentado, selecione a opo New. (a) (b) (c) (d) (f) (e) Introduo ao MAX+plus II 3
Cesar Albenes Zeferino
4. Ativando o Editor Grfico Nesta seo, voc inicializar a ferramenta Graphic Editor, a qual lhe permitir desenhar um circuito lgico utilizando smbolos pr-definidos e armazenados em bibliotecas. Siga os passos abaixo (ao realizar cada passo, leia completamente as instrues do passo antes de iniciar o que instrudo): 1. Ative [Menu] File > New. Na caixa de dilogo New, certifique-se de que a opo Graphic Editor File esteja selecionada e pressione OK. Uma janela do Editor Grfico apresentada. Observe na rea da paleta (barra lateral esquerda) aparece uma srie de cones referentes a comandos especficos do Editor Grfico. 2. Observe o contedo da barra de nomes, maximize a janela do Editor Grfico e Observe novamente o contedo da barra de nomes. 3. Ative [Menu] File > Save As. A caixa de dilogo Save As apresentada. Na caixa Directories, selecione o caminho C:\Temp\Altera\Tutorial e, na caixa File Name, entre com o nome Mux2x1. Pressione OK. 4. O arquivo salvo com a extenso default .GDF (Graphic Design File - arquivo de projeto grfico). 5. Ative [Menu] File > Project > Set Project to Current File. Observe o contedo da barra de nomes. Essa opo define que o projeto ter o mesmo nome do arquivo corrente.
NOTA: Um projeto no MAX+plus II formado por um ou mais arquivos de entrada, os quais podem ser grficos ou no. O nome do projeto pode ser igual ao nome do arquivo de mais alto nvel dentro da hierarquia do projeto. Se o projeto tiver apenas um arquivo de entrada, mais do que natural que o nome do projeto seja o mesmo desse arquivo. 5. Desenhando um circuito lgico no Editor Grfico Nesta seo voc aprender a desenhar um circuito lgico no Editor Grfico. O circuito a ser desenhado mostrado na Figura 2. O circuito consiste de um multiplexador de duas entradas (A e B) para uma sada (Z), com a seleo dada pela entrada Sel. Se Sel igual a 0, a sada Z ligada entrada A. Se Sel igual a 1, a sada Z ligada entrada B.
Figura 2 - Multiplexador 2x1 a ser desenhado.
A T E N
O Introduo ao MAX+plus II 4
Cesar Albenes Zeferino
Para construir o circuito da Figura 2, siga os passos abaixo: 6. Posicione o mouse sobre a rea de trabalho do Editor Grfico e pressione o seu boto esquerdo para definir o ponto onde ser inserido o smbolo desejado. 7. Ative [Menu] Symbol > Enter SymbolA caixa de dilogo Enter Symbol apresentada. Na caixa Symbol Name entre com nome and2. Pressione OK. O smbolo para a porta AND com duas entradas inserido. 8. Observe que no smbolo da porta lgica existem dois rtulos, um com o seu nome e outro com um ndice (no caso, 1). Esse ndice apenas informa o nmero do objeto conforme a sua ordem de insero no esquema. O prximo receber o ndice 2 e assim por diante. 9. A ttulo de exerccio, posicione o mouse sobre o smbolo and2, pressione o seu boto esquerdo e o mantenha pressionado. Arraste o mouse para qualquer posio e libere o boto pressionado. Utilize esse procedimento quando voc quiser mover algum smbolo. 10. Repita os passos 6 e 7 para entrar com os smbolos abaixo (um a um): and2 not or2 input (trs cpias ou instncias) output 11. Procure arranjar os smbolos em posies semelhantes s da Figura 2. 12. Para desenhar as linhas de ligao, posicione o mouse sobre o ponto de acesso do smbolo (entrada/sada). O cursor muda seu formato de flecha para o formato do sinal +. Pressione o boto principal (esquerdo) do mouse e, mantendo-o pressionado, arraste o mouse em direo ao smbolo com o qual voc deseja fazer a conexo. Se necessrio quebrar a linha em 90 0 , libere o boto, pressione-o novamente e arraste o mouse na nova direo at alcanar o smbolo destino. Se necessrio, libere e pressione novamente o referido boto para obter outra quebra de 90 o . 13. Se voc liberar o boto do mouse sobre uma linha j existente, um ponto de n ser inserido. Se ele no for desejado, faa um duplo-clique sobre o mesmo para remov- lo. 14. Para entrar com o nome dos pinos de entrada e de sada, faa um duplo-clique sobre o texto PIN_NAME para selecion-lo e entre com o nome desejado. No caso deste tutorial, entre com os mesmos nome utilizados na Figura 2: A, B, Sel e Z. 15. Salve o arquivo. Introduo ao MAX+plus II 5
Cesar Albenes Zeferino
6. Verificando erros no projeto Para verificar a ocorrncia de erros de edio, na barra de ferramentas, faa um clique sobre o boto Save and Check, mostrado na Figura 3. . Figura 3 - Boto Save and Check.
A janela do Compilador ativada e uma etapa de extrao de netlist realizada para verificar a existncia de erros no arquivo de entrada. Caso ocorra algum erro uma janela de mensagens ser apresentada para informar o tipo de erro encontrado. Se a verificao do seu projeto no apresentou nenhum erro, selecione a linha ligada sada Z e apague essa linha. Aps isso, ative o boto Save and Check e observe as mensagem de advertncia (em azul) e de erro (em vermelho). Fazendo um duplo-clique sobre qualquer uma das mensagens, o Editor Grfico apresentado em primeiro plano e o smbolo relacionado com a mensagem selecionado. Para esclareces eventuais dvidas com relao s mensagens, pressione o boto Help on Message. Corrija o erro, restaurando a linha entre a porta OR e a sada Z e ative o boto Save and Check novamente. Caso no haja nenhum erro em seu diagrama, prossiga com o tutorial. 7. Compilando o projeto Nesta etapa do tutorial, voc ir realizar uma compilao funcional do circuito. Para isso, siga os passos abaixo: 16. Feche a janela de mensagens do Compilador e a janela do Editor Grfico. Se a janela do Compilador no estiver aberta, ative [Menu] MAX+plus II > Compiler. A janela do Compilador ser apresentada. 17. Ative [Menu] Processing > Functional SNF Extractor. Observe na janela do Compilador que as etapas Logic Synthesizer, Fitter e Assembler so ignoradas. Alm disso, a etapa Timing SNF Extractor e substituda por uma etapa chamada Functional SNF Extractor. Isso configura o Compilador para no realizar a sntese lgica e o mapeamento tecnolgico e para ignorar a temporizao do circuito (timing) ao gerar o arquivo de netlist para simulao. Ou seja, orienta o Compilador a desprezar todos os tempos de atraso do circuito, como voc poder observar durante a simulao. 18. Pressione o boto Start do Compilador. Quando a compilao for concluda, uma caixa de mensagem indicando sucesso na compilao ser apresentada. Pressione OK e feche a janela do Compilador. Introduo ao MAX+plus II 6
Cesar Albenes Zeferino
8. Simulando o projeto Nesta etapa do tutorial, voc far uma simulao funcional do multiplexador, sem considerar tempos de atraso das portas lgicas. A simulao ser realizada com o objetivo de verificar se o circuito desenhado cumpre a funo desejada, conforme descrito na tabela verdade abaixo:
Tabela 1 - Tabela verdade e equao lgica do multiplexador.
Sel Z 0 A ou seja, Z = Sel.A + Sel.B 1 B
Para tal, voc dever desenhar o diagrama de tempos das entradas A, B e Sel. Aps realizar a simulao, o Simulador desenhar o diagrama de tempos da sada Z. Um diagrama de formas de onda, com as entradas e a sada supracitadas, mostrado na Figura 4.
Figura 4 - Diagrama de formas onda do multiplexador.
Para obter um diagrama semelhante a esse, siga os passos abaixo: 19. Ative [Menu] File > New Na caixa de dilogo New, selecione a opo de tipo de arquivo Waveform Editor File. Certifique-se de que a opo de tipo de arquivo .scf esteja selecionada. Essa extenso refere-se a arquivos de formas de onda para simulao. Pressione OK. 20. A janela do Editor de Formas Onda (Waveform Editor) apresentada. Maximize essa janela. 21. Ative [Menu] File > Save as. O nome mux2x1.scf sugerido. Pressione OK. 22. Ative [Menu] View > Fit in Window para visualizar o todo intervalo de simulao do arquivo (0.0ns a 1.0s). 23. Ative [Menu] Node > Enter Nodes from SNF. Na caixa de dilogo correspondente, pressione, em seqncia, os botes List (para listar os nodos de Introduo ao MAX+plus II 7
Cesar Albenes Zeferino
entrada e sada), => (para copiar esses nodos para a caixa de seleo) e OK para confirmar. Os nodos A, B, Sel e Z so inseridos na janela do Editor de Formas de Onda. 24. Observe que, por default, as entradas foram inicializadas com valor 0 e a sada com valor X (indeterminado). Isso ocorre porque o Simulador ainda no foi executado e os valores no intervalo de simulao ainda no so conhecidos. 25. Com o boto esquerdo do mouse, selecione a linha Sel no intervalo de 400.0ns a 800.0ns. Aps, ative [Menu] Edit > Overwrite > High (1) para estabelecer Sel em nvel alto no intervalo selecionado. 26. Posicione o mouse sobre o nome da entrada B e pressione o seu boto esquerdo para selecionar esse sinal durante todo o intervalo de simulao. Ative [Menu] Edit > Overwrite > Clock Na caixa de dilogo apresentada, pressione OK. Uma forma de onda perodica (perodo de 200.0ns) desenhada. 27. Repita o passo acima para a entrada A, entretanto, na caixa de dilogo Overwrite Clock, entre com o valor 2 na caixa Multiply by e pressione OK. Uma forma de onda repetitiva com perodo de 400.0 ns (2200.0ns) desenhada. 28. Ative [Menu] MAX+plus II > Simulator. A janela do Simulador apresentada. 29. Na janela do Simulador, pressione o boto Start. A simulao efetuada e uma caixa de mensagens apresentada, pressione OK. 30. Feche a janela do Simulador e maximize a janela do Editor de Formas de Onda. 31. Observe a sada Z e analise o resultado para verificar se ele corresponde especificao apresentada na Tabela 1. 32. Por fim, salve o arquivo e feche a janela do Editor de Formas de Onda. 9. Criando um smbolo para o projeto Muitas vezes, um projeto pode ser reutilizado em um projeto maior sendo estruturado dentro de uma hierarquia. Nesse caso, necessrio disponibilizar uma forma de o arquivo de projeto do nvel superior "chamar" o arquivo de projeto do nvel inferior na hierarquia (como uma chamada de funo em uma linguagem de programao). Isso feito atravs do uso de um smbolo que oferea uma interface de acesso s entradas e sadas do bloco do nvel inferior. Para criar um smbolo para o multiplexador, siga os passos indicados abaixo: 33. Certifique-se de que a janela do Editor Grfico esteja aberta e em primeiro plano. 34. Ative [Menu] File > Create Default Symbol. Aparentemente, no acontece nada, contudo, se o smbolo j tiver sido criado, uma caixa de mensagem ser apresentada para adverti-lo a respeito disso e perguntar se voc deseja sobrescrever no smbolo j existente. Confirme, pressionando OK. Para visualizar o smbolo criado, ative [Menu] File > Edit Symbol. A janela do Editor de Smbolo ser e nela voc pode visualizar o smbolo. Alm disso, voc pode modificar o smbolo, alterando a posio das entradas e sadas ou incluindo textos Introduo ao MAX+plus II 8
Cesar Albenes Zeferino
explicativo, entre outras aes. Contudo, a edio de smbolos foge do escopo deste tutorial. 10. Criando um projeto hierrquico Agora imagine que voc precise projetar um multiplexador com quatro entradas (4x1) baseado em instncias do multiplexador 2x1 criado previamente. Para tal, voc precisar criar um novo arquivo grfico (Mux4x1.gdf), defini-lo como projeto corrente, instanciar smbolos do Mux2x1, instanciar smbolos das entradas e da sada, compil-lo e simul-lo. 10.1 Criao do arquivo de projeto Siga os procedimentos indicados abaixo: 35. Feche todas as janelas abertas dentro do ambiente do MAX+plus II. 36. Ative [Menu] File > New. Na caixa de dilogo New, certifique-se de que a opo Graphic Editor File esteja selecionada e pressione OK. 37. Ative [Menu] File > Save As. A caixa de dilogo Save As apresentada. Na caixa Directories, selecione o caminho C:\Temp\Altera\Tutorial e, na caixa File Name, entre com o nome Mux4x1. Pressione OK. 38. Ative [Menu] File > Project > Set Project to Current File. 10.2 Desenhando o circuito lgico Como referncia, baseie-se na figura abaixo que ilustra uma implementao do multiplexador 4x1 e siga os passos indicados.
Figura 5 - Multiplexador 4x1 a ser desenhado.
39. Posicione o mouse sobre a rea de trabalho do Editor Grfico e pressione o seu boto esquerdo para definir o ponto onde ser inserido o smbolo desejado. Introduo ao MAX+plus II 9
Cesar Albenes Zeferino
40. Ative [Menu] Symbol > Enter Symbol A caixa de dilogo Enter Symbol apresentada. Na caixa Symbol Name, selecione o smbolo mux2x1 e pressione OK. O smbolo do multiplexador 2x1 inserido. 41. Repita o passo 40 para entrar com outros dois smbolos do multiplexador 2x1. 42. Entre com seis (06) smbolos de pino de entrada (input) e um (01) smbolo de pino de sada (output). Para isso, ative [Menu] Symbol > Enter Symbole, na caixa de dilogo Enter Symbol, digite o nome do smbolo a ser inserido. 43. Defina os nomes dos pinos baseando-se na Figura 5. 44. Com base na Figura 5, posicione os smbolos adequadamente e desenhe as conexes entre os smbolos. 45. Salve o arquivo. 10.3 Compilando o projeto Nesta etapa do tutorial, voc ir realizar uma compilao funcional do projeto. Para tal, certifique-se de que essa opo esteja selecionada. Para isso, siga os passos abaixo: 46. Caso a janela do Compilador no esteja aberta, ative [Menu] MAX+plus II > Compiler. A janela do Compilador ser apresentada. 47. Ative [Menu] Processing e verifique se a opo Functional SNF Extractor est selecionado com o marcador "". Se no estiver, clique sobre essa opo para selecion-la. 48. Pressione o boto Start do Compilador. Quando a compilao for concluda, pressione OK na caixa de dilogo apresentada e feche a janela do Compilador. 10.4 Visualizando a hierarquia do projeto Voc pode visualizar a estrutura hierrquica do projeto utilizando o Mostrador de Hierarquia. Para isso, siga os passos abaixo: 49. Ative [Menu] MAX+plus II > Hierarchy Display. A janela do Mostrador de Hierarquia ser apresentada. A janela Mostrador de Hierarquia apresenta uma estrutura em rvore com os diferentes nveis de hierarquia no projeto. Clicando em qualquer um dos cones apresentados, voc pode abrir o arquivo associado. Essa ferramenta muito til para navegar entre os arquivos de um projeto. 50. Feche a janela do Mostrador de Hierarquia. 10.5 Simulando o projeto Agora voc dever realizar a simulao do seu projeto. Para tal, baseie-se no diagrama de formas de onda mostrado na Figura 6, o qual ilustra as formas de onda que voc dever desenhar nas entradas, assim como a forma de onda a ser obtida na sada Z aps a simulao. Introduo ao MAX+plus II 10
Cesar Albenes Zeferino
Figura 6 - Diagrama de formas de onda do multiplexador 4x1. Para obter um diagrama semelhante a esse, siga os passos abaixo: 51. Ative [Menu] File > New Na caixa de dilogo New, selecione a opo de tipo de arquivo Waveform Editor File. Certifique-se de que a opo de tipo de arquivo .scf esteja selecionada. Essa extenso refere-se a arquivos de formas de onda para simulao. Pressione OK. 52. A janela do Editor de Formas Onda (Waveform Editor) apresentada. Maximize essa janela. 53. Ative [Menu] File > Save as. O nome mux4x1.scf sugerido. Pressione OK. 54. Ative [Menu] View > Fit in Window para visualizar o todo intervalo de simulao do arquivo (0.0ns a 1.0s). 55. Ative [Menu] Node > Enter Nodes from SNF. Na caixa de dilogo correspondente, pressione, em seqncia, os botes List (para listar os nodos de entrada e sada), => (para copiar esses nodos para a caixa de seleo) e OK para confirmar. Os nodos Sel1, Sel0, D, C, B, A e Z so inseridos na janela do Editor de Formas de Onda. 56. Ative [Menu] Options > Grid Size... e, na caixa de dilogo aberta, digite 50ns. Essa ao diminuir o espaamento entre as linhas de grade do editor de forma de ondas, permitindo o desenho de ondas quadradas com perodos menores. 57. Desenhe as formas de onda utilizando o recurso de gerao de uma onda quadrada peridica, selecionando todo o intervalo do nodo desejado, ativando [Menu] Edit > Overwrite > Clock e fornecendo o valor inicial (Starting Value) e o fator multiplicador de perodo (Multiplied By) correspondente, conforme indicado abaixo. Nodo Starting Value Multiplied By Sel1 0 8 Sel0 0 4 D 1 2 C 0 2 B 1 1 A 0 1 Introduo ao MAX+plus II 11
Cesar Albenes Zeferino
58. Ative [Menu] MAX+plus II > Simulator. A janela do Simulador apresentada. 59. Na janela do Simulador, pressione o boto Start. A simulao efetuada e uma caixa de mensagens apresentada, pressione OK. 60. Feche a janela do Simulador e maximize a janela do Editor de Formas de Onda. 61. Observe a sada Z e analise o resultado para verificar se ele corresponde ao apresentado na Figura 6. 62. Por fim, salve o arquivo e feche a janela do Editor de Formas de Onda. Introduo ao MAX+plus II 12
Cesar Albenes Zeferino
APNDICES Dica para documentao de seus projetos Muitas vezes voc precisa imprimir o diagrama esquemtico (desenho do circuito lgico) do seu projeto. Contudo se voc utilizar o tamanho de folha padro fornecido inicialmente para a elaborao do projeto, pode ser que ela seja grande demais. Nesse caso no momento da impresso o seu desenho ficar muito pequeno em proporo folha. Para ajustar o tamanho da folha execute o passo abaixo: 1. Verifique se o tamanho da folha realmente adequado, maximizando a visualizao da mesma. Para isso, ative [Menu] View > Fit in Window 2. Ative [Menu] File > Size... e na, caixa de dilogo aberta, selecione a opo de tamanho (A, B, C, D, E, F, G ou H) e a orientao (Horizontal ou Vertical) mais adequada ao seu projeto (dica: escolha a opo de tamanho imediatamente menor). Confirme pressionando OK. 3. Verifique novamente se o tamanho selecionado foi o desejado. Se no, repita o passo anterior. Atalhos Para a grande maioria das seqncias de ativao utilizadas acima, existem atalhos alternativos alcanados pela combinao de teclas, uso de botes (cones) da barra de ferramentas ou da paleta e menus de popup. Procure descobrir esses atalhos. Para saber mais A maior fonte de informao sobre o MAX+plus II o seu Help on-Line. Utilize-o sempre que necessrio acessando-o atravs da barra de menu ou pelos seus atalhos. Voc pode obter maiores informaes sobre a Altera diretamente no seu site na Internet: http://www.altera.com Para instalar o MAX+plus II em seu computador Siga os procedimentos indicados na tabela da seo Material da pgina da disciplina ou acesse o atalho disponvel na seo Material para obter o arquivo com as instrues para efetuar o download do arquivo (> 50 Mbytes) diretamente do site da Altera e obter o arquivo de licena. Voc pode obter a ltima verso do arquivo de intalao do MAX+plus II (Baseline) diretamente no site da Altera (seo Download) ou, tambm, fazer o download das verses 9.0 (31,8 MB) ou 10.0 (50,3 MB) atravs do ftp pblico do Curso de Cincia da Computao da Univali pelo endereo: ftp://200.169.63.92/_Disciplinas/Eletronica/ (Obs: a palavra Disciplina precedida por uma caracter "_"). Contudo, voc ainda precisa fazer o download do arquivo com as instrues para a obteno do arquivo de licena do software.