EXSTO -Apostila CPLD

Embed Size (px)

Citation preview

Exsto TecnologiaKit Educacional CPDL

Apostila de CPLD (Dispositivos Lgicos Programveis)

Exsto Tecnologia Ltda Ltda.R. Vereador Jos Eduardo da Costa, 169 Santa Rita do Sapuca MG CEP: 37540-000 +55 35 3471 6898 www.exsto.com.br

CPLD (Dispositivos Lgicos Programveis)

2

Reviso A B

Principais Autores - Tiago Coelho Magalhes - Jos Domingos Adriano - Tiago Coelho Magalhes - Jos Domingos Adriano

Descrio da Verso Verso inicial

Data de Trmino 20/03/2007

Alterao para novo formato do 16/12/2007 kit

Copyright 2007 por Exsto Tecnologia Ltda. Todos os direitos reservados

Desenvolvido e produzido com orgulho no Brasil

Exsto Tecnologia Ltda R. Vereador Jos Eduardo da Costa, 169 Santa Rita do Sapuca MG CEP: 37540-000 +55 35 3471 6898 www.exsto.com.br

Exsto Tecnologia

CPLD (Dispositivos Lgicos Programveis)

3

NDICE

PGINA

Introduo .............................................................................................................................................. 4 1 O software QUARTUS II ............................................................................................................... 5 1.1 Instalao.................................................................................................................................. 5 1.1.1 Instalao do Quartus II 7.1 ............................................................................................ 5 1.1.2 1.1.3 1.1.4 2 Criando o Primeiro Projeto ............................................................................................. 5 Compilao do Projeto .................................................................................................... 7 Gravao.......................................................................................................................... 8

A linguagem VHDL........................................................................................................................ 9 2.1 2.2 Histrico ................................................................................................................................... 9 Vantagens de uso.................................................................................................................... 10

2.3 Introduo linguagem .......................................................................................................... 11 2.3.1 Entidade ........................................................................................................................ 11 2.3.2 2.3.2.1 2.3.2.2 2.3.3 2.3.3.1 2.3.3.2 2.3.4 Corpo da arquitetura ..................................................................................................... 12 Descrio Comportamental....................................................................................... 12 Descrio por fluxo de dados .................................................................................... 12 Classe de objetos ........................................................................................................... 12 Tipos de dados escalares ........................................................................................... 13 Tipos de dados compostos ........................................................................................ 13 Operadores.................................................................................................................... 14

Exsto Tecnologia

CPLD (Dispositivos Lgicos Programveis)

4

Introduo

Uma caminhada de 200 km sempre comea com um simples passo. (Provrbio chins) Procuremos acender uma vela em vez de amaldioar a escurido. (Provrbio chins) Este material didtico tem como funo guiar o aluno durante todo o seu aprendizado da linguagem VHDL, e gui-lo tambm em todas suas experincias junto ao Kit CPLD LE desenvolvido pela Exsto Tecnologia (www.exsto.com.br). Esta apostila trata de todo o processo para a criao de projetos utilizando CPLDs, desde a instalao do software de desenvolvimento Quartus II, at o prprio desenvolvimento com a linguagem VHDL. Temos o propsito de explorar os conceitos abordados e imediatamente prover a integrao do aluno com o prazer da prtica, tornado seu aprendizado mais interessante e consistente. Todo o contedo terico aqui abordado acompanhado de experincias prticas, fomentando a vontade do aluno e aplicar o conhecimento de forma imediata, permitindo que ele possa criar a partir dos conhecimentos adquiridos. Em toda apostila foi adotada uma forma de trabalho que permite o aluno visualizar os contedos tericos seguido de exerccios prticos e propostos. Eles esto dispostos no caderno de exerccios no final da apostila, permitindo que o aluno possa desenvolver seu pensamento em torno do tema recm abordado.

Exsto Tecnologia

CPLD (Dispositivos Lgicos Programveis)

5

1 O software QUARTUS IIEste software pode ser facilmente adquirido de maneira gratuita, para finalidade didtica. um software da Altera, sendo que no site www.altera.com , encontra-se para ser realizado o download. Aps a realizao do download e antes de realizar a instalao, o usurio deve requerer uma licena (gratuita) no prprio site da altera. Sendo que para isto deve-se realizar um cadastro no site e posteriormente enviar o endereo fsico da mquina na qual se deseja instalar o software do QUARTUS II. Assim que receber a licena o usurio pode instalar o software que tem uma validade de 6 (seis) meses, sendo que aps este perodo para continuar utilizando o software, necessrio apenas requerer outra licena no site.

1.1 Instalao1.1.1 Instalao do Quartus II 7.1Para instalar o Quartus II basta seguir os passos apresentados no manual do kit.

1.1.2 Criando o Primeiro ProjetoCrie um novo documento. V a File e clique em New. Aparecer a seguinte janela:

Nesta janela pode-se escolher qual o tipo de linguagem em que ir se trabalhar, se em VHDL, linguagem em blocos, etc. Criaremos um arquivo VHDL. Selecione a opo VHDL File como na figura acima e aperte OK. Abrir uma janela de texto, onde ser digitado todo o cdigo. Salve este documento com o nome da entidade a ser criada. Por exemplo, criaremos um cdigo que faa uma contagem de 0 a 9999. de costume chamar a entidade do projeto, ou seja, a entidade externa, com o nome da aplicao em si, como na figura a seguir:

Exsto Tecnologia

CPLD (Dispositivos Lgicos Programveis)

6

Note que o arquivo, ainda com nome sem especificao, apresenta uma entidade chamada CONTADOR. Esta parte de cdigo ainda no nos interessa, mas este nome de grande importncia para criao de um projeto, pois, se apresentar nomes diferentes, o compilador no reconhecer este arquivo e gerar um erro. Agora salve este arquivo como CONTADOR. Aparecer uma janela para criao de um novo projeto.

Selecione a opo SIM e nas janelas posteriores, clique em NEXT at a janela de seleo do chip. No KIT CPLD LE trabalharemos com o CPLD EPM3064ALC44-10, da famlia MAX3000A. As especificaes de famlia e chip devem estar de acordo com o CPLD que se quer trabalhar, como na figura a seguir:

Exsto Tecnologia

CPLD (Dispositivos Lgicos Programveis)

7

Selecione NEXT at que haja a opo FINISH. Clique nela e pronto!! Voc acaba de criar um novo projeto no QUARTUS II. Para a criao de projetos com tipos de linguagem diferentes, somente mude de opo quando for gerado o New File.

1.1.3 Compilao do ProjetoDepois de finalizado, o projeto deve ser compilado atravs do atalho . Nesta etapa, o software apontar os erros, caso existam. Logo aps, realiza-se a declarao de pinos para que seja possvel a gravao do projeto em um PLD.

Exsto Tecnologia

CPLD (Dispositivos Lgicos Programveis)

8

Clique em Pins no menu Assignments. Uma rea para declarao dos pinos ser aberta. Depois de declarados os pinos, o projeto deve ser compilado novamente.

1.1.4 GravaoO ltimo passo para que se possa ento efetuar o teste do prottipo a gravao do projeto na placa da Altera e para executar esta operao, utiliza-se o atalho . Na rea de configurao apresentada, preciso assegurar que as opes de hardware estejam corretas atravs do atalho . Caso no haja hardware selecionado, em Add Hardware selecione manualmente ByteBlaster.

Exsto Tecnologia

CPLD (Dispositivos Lgicos Programveis)

9

Ainda preciso selecionar a opo Program/Configure. Outras opes como verificao da gravao so tambm disponibilizadas. Clique em Start para iniciar gravao. Verifique antes se a placa de gravao encontra-se alimentada e devidamente instalada na porta paralela do computador.

2 A linguagem VHDL2.1 HistricoNas dcadas de 70 e 80 foi posto em prtica um programa do Departamento de Defesa (DoD) americano, para desenvolvimento de circuitos integrados de alta velocidade, denominado VHSIC e originado da preocupao de domnio das tecnologias envolvidas. Desde o princpio, anteviu-se o problema de representao dos projetos segundo uma linguagem que fosse comum s vrias empresas envolvidas e que permitisse uma documentao fechada e clara para projetos de complexidade crescente. Nesta mesma poca, j havia no mercado de computao a chamada crise do software, caracterizada pela dificuldade de gesto, documentao e sistematizao do ciclo de vida do software (que envolve, em termos gerais, todas as atividades de relativas sua criao e uso)1. O problema surgiu inicialmente no software porque era no software que se desenvolviam as aplicaes, que tornavam o produto particular para um uso especfico. Isso fazia com que um grande volume de projetos fosse conduzido, quase sempre com muita complexidade e pouco mtodo. No hardware a questo era mais bem controlada, pois os projetos eram, em geral, mais genricos, especialmente para o hardware digital. Os projetos de microprocessadores, que eram os mais complexos, visavam na maior parte dos casos o uso geral. Um mesmo microprocessador seria utilizado em vrias aplicaes, seria reproduzido e testado aos milhes. Isso significava que o Exsto Tecnologia

CPLD (Dispositivos Lgicos Programveis)

10

investimento em um nico projeto poderia ser muito maior, inclusive em termos de especificao e testes. A evoluo da metodologia de projeto de software foi ento natural, em funo dos argumentos sustentados pela crise. Hoje ainda grande o desenvolvimento de novos mtodos e a busca por uma linguagem descritiva universal, como o UML, para especificao e projeto de software orientado a objetos. A questo preocupante quanto ao hardware, para o programa VHSIC americano, era que alguns fatos indicavam para uma evoluo do mercado que faria surgirem problemas semelhantes aos apresentados pela crise de software. Entre estes fatos: A fabricao de circuitos integrados deixava de ser exclusiva de alguns poucos fabricantes. Surgiam empresas especializadas na fabricao de projetos de terceiros, o que permitiria, em conjunto com o desenvolvimento de tecnologias de fabricao menos custosas, a criao de CIs de uso especfico para certas aplicaes. As novas tecnologias de fabricao (abaixo de 2m, na poca) permitiam um aumento de densidade dos CIs, com conseqente aumento de complexidade. Surgiam componentes de lgica programvel (PLDs e PALs), inicialmente de pequena densidade, mas que poderiam evoluir para densidades muito maiores rapidamente. Tais componentes poderiam criar como de fato ocorreu posteriormente, um grande mercado de projetos de pequena escala e aplicaes especficas, muito parecidas com o mercado de projetos de software. A criao de uma linguagem de descrio de hardware patrocinada pelo programa e, em paralelo algumas outras linguagens criadas pela indstria, foi ento uma decorrncia natural. Em 1987, o VHDL foi normalizado pelo IEEE, tornando-se um padro mundial, ao lado do Verilog, uma alternativa tambm expressiva no mercado de projetos de hardware. Hoje, praticamente todas as ferramentas de desenvolvimento de hardware computadorizadas aceitam essas linguagens como entrada, de forma que um projeto baseado em VHDL ou Verilog pode ser implementado com qualquer tecnologia.

2.2 Vantagens de usoA alternativa para uso de uma linguagem formal de descrio de hardware como o VHDL a descrio por diagramas esquemticos. O VHDL apresenta as seguintes vantagens: Em sistemas seqenciais, o detalhamento da lgica de controle realizado pelas ferramentas de automao do projeto, o que evita a trabalhosa e limitada aplicao das tcnicas manuais tradicionais; O objetivo do projeto fica mais claro que na representao por esquemticos, nos quais a implementao se sobrepe inteno do projeto; Exsto Tecnologia

CPLD (Dispositivos Lgicos Programveis)

11

O volume de documentao diminui, j que um cdigo bem comentado em VHDL substitui com vantagens o esquemtico e a descrio funcional do sistema; O projeto ganha portabilidade, j que pode ser compilado em qualquer ferramenta e para qualquer tecnologia. comum, na indstria, o uso de FPGAs e CPLDs para produes iniciais ou de menores escalas em projetos que posteriormente possam ser implementados em ASICs. Todas as implementaes podem usar o mesmo cdigo VHDL.

2.3 Introduo linguagemSer explanada uma breve introduo linguagem VHDL, os principais tpicos sero abordados, ou seja, estudaremos os pontos bsicos para iniciar uma programao nesta linguagem.

2.3.1 EntidadeUma entidade de projeto (design entity) uma abstrao que descreve um sistema, uma placa, um chip, uma funo ou, at mesmo, uma porta lgica. Uma entidade composta por duas partes: declarao da entidade e arquitetura. Na declarao de uma entidade, descreve-se o conjunto de entradas e sadas. A arquitetura (architecture) descreve as funes realizadas pela entidade. No exemplo dado abaixo, a entidade PORTAE possui duas entradas, a e b, e uma sada, s, que definem o port da entidade. Os ports correspondem a pinos e so tratados como objetos de dados. Pode-se atribuir ou obter valores. Cada entrada ou sada possui um modo (mode) de operao. Os quatro modos possveis so: In: entrada; Out: sada: os pinos definidos como sada no podem ser utilizados como entradas, nem seus valores utilizados na lgica interna; Buffer: sada com possibilidade de realimentao; Inout: substitui qualquer um dos outros, mas seu uso deve ser limitado aos casos em que o pino deva ser utilizado como entrada e sada, para clareza na descrio. No exemplo a seguir, realizada a operao lgica E entre os pinos de entrada a e b na arquitetura principal. Note que a sada s recebe o valor da operao. Exemplo 1: entity PORTAE is Port( a, b: in bit; s: out bit ); end PORTAE; arquitecture MAIN of begin s