Você está na página 1de 10

FPGA PARA TODOS: UM PROJETO PARA A DISSEMINAO DA TECNOLOGIA DE LGICA PROGRAMVEL

Francisco dson Nogueira de Mlo emelo@ifsc.edu.br Instituto Federal de Santa Catarina, Departamento Acadmico de Metal-Mecnica Avenida Mauro Ramos, 950 Centro 88020-300 Florianpolis Santa Catarina Roberto Alexandre Dias roberto@ifsc.edu.br Instituto Federal de Santa Catarina, Departamento Acadmico de Metal-Mecnica Avenida Mauro Ramos, 950 Centro 88020-300 Florianpolis Santa Catarina Reginaldo Steinbach reginaldo.ifsc@gmail.com Instituto Federal de Santa Catarina, Mestrado Profissional em Mecatrnica, Departamento Acadmico de Metal-Mecnica Avenida Mauro Ramos, 950 Centro 88020-300 Florianpolis Santa Catarina Resumo: Neste artigo apresenta-se a evoluo do ensino de Lgica Programvel no IFSC, ministrado em cursos de nvel superior e mdio. Esta experincia possibilitou a proposta de uma plataforma integrada de apoio ao ensino de Lgica Programvel, baseado em um conjunto de trs iniciativas: um curso introdutrio; um sistema modular de kits didticos e um portal de internet. Esta proposta comea agora a ser implementada na forma de um projeto financiado pelo Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico (CNPq) chamado FPGA para Todos. Palavras-chave: Lgica Programvel, FPGA, Kits didticos 1 INTRODUO

A tecnologia de Lgica Programvel tem apresentado, ao longo dos ltimos anos, um crescimento muito expressivo em diversos aspectos, seja pela caracterstica de integrao, intrnseca a essa tecnologia, alm do desenvolvimento de solues tecnolgicas que agregaram mais funcionalidades aos componentes, possibilitando a um grande nmero de empresas a sua aplicao em projetos de produtos, das mais diversas reas. Essa tendncia de crescimento pode ser observada atravs de pesquisas que apontaram que o mercado de PLD (de Programmable Logic Device) movimentou em 2010 cerca de 3,5 bilhes de dlares e a expectativa que em 2016 este nmero chegue a 9,6 bilhes (WINTERGREEN RESEARCH INC, 2011). Como o projeto de equipamentos eletrnicos portteis vem se tornando mais desafiador, pela exigncia de agregar cada vez mais funcionalidades aos dispositivos, um melhor desempenho essencial para garantir vantagem competitiva. Mesmo com este avano mercadolgico dos Dispositivos Lgicos Programveis, constata-se que as instituies de ensino nacionais, seja em nvel superior ou mdio, no tem conseguido atender a demanda de formao de profissionais qualificados a desenvolver solues com esta tecnologia. A grande maioria dos cursos na rea de engenharia, seja da rea eltrica ou eletrnica, tem abordado este assunto de forma superficial, mais a ttulo de exemplo, e como uma disciplina das fases mais finais dos cursos. Neste artigo sero abordados, alm dos conceitos relacionados a esta tecnologia, os esforos realizados no IFSC, quanto disseminao desta tecnologia, nos vrios nveis de

ensino. Tambm ser apresentado um projeto em execuo, com financiamento do CNPq, que visa a criar uma plataforma de disseminao desta tecnologia, no meio acadmico nacional. 2 DISPOSITIVOS LGICOS PROGRAMVEIS

Segundo a Xilinx (XILINX INC, 2011), podemos classificar Dispositivos Lgicos em duas grandes categorias: Lgica Fixa: Como o nome sugere, so dispositivos cuja funo lgica definida no momento da fabricao, no podendo esta ser alterada. Fazem parte desta categoria os dispositivos ASIC (de Application Specific Integrated Circuit), que so concebidos e construdos, desde a sua mscara de silcio, com uma finalidade pr-definida, imutvel. Como os ASIC tm um altssimo custo de desenvolvimento, sua utilizao s justificada para uma produo em larga escala. Lgica Programvel: Os PLDs permitem o um desenvolvimento mais dinmico, pois o comportamento do dispositivo lgico pode ser projetado atravs de uma IDE (de Integrated Development Environment), ou seja, um software de desenvolvimento e testada no mesmo instante diretamente no dispositivo, e este dispositivo exatamente igual ao que ser utilizado na produo do equipamento. Por estas caractersticas o PLD tornou-se, imediatamente, uma soluo para a integrao de projetos, em sistemas de menor escala de produo. Podem-se classificar os PLDs em trs categorias, quanto complexidade: SPLDs (de Simple Programmable Logic Devices) - Um SPLD um dispositivo de baixa capacidade de lgica, constitudo basicamente, por uma matriz de lgica programvel do tipo E-OU e, nos dispositivos do tipo GAL de (de Generic Array Logic), macroclulas de controle de sada, com um dispositivo de registro e recursos como inverso de lgica, realimentao de sada, e outros. CPLDs: (de Complex Programmable Logic Devices) - Um CPLD um dispositivo de maior capacidade (tipicamente, at 10.000 portas equivalentes), e integra um conjunto de blocos matriciais de lgica, cada um composto por um conjunto de macroclulas lgicas, e ainda uma estrutura de interconexo entre os blocos de lgica e blocos de controle de Entrada e Sada. FPGAs: (de Field Programmable Gate Arrays) - FPGAs esto no topo de evoluo dos PLDs, e so, a princpio, construdos a partir de uma composio matricial de blocos de lgica, segmentos de conexo, chaves de interconexo e blocos de controle de E/S. Componentes mais recentes incluem estruturas adicionais, como memrias, microprocessadores, e outros. 2.1 Aplicao de Dispositivos Lgicos Programveis Desde que integra em um nico componente, com altssima densidade, uma grande quantidade de circuitos lgicos, um PLD a soluo cada vez mais adotada em sistemas digitais, dos mais simples aos mais complexos. Entre diversos exemplos que poderiam ser citados: SPLDs e CPLDs so progressivamente utilizados em dispositivos de consumo para a compactao de circuitos de comando e controle; FPGAs permitem a construo de complexos sistemas em reas como telecomunicaes, sistemas embarcados, equipamentos mdicos, e muitas outras. interessante observar que um nico FPGA permite a implementao, em seus blocos lgicos, de diversos microprocessadores ou microcontroladores de um sistema embarcado. Aqui, convm ressaltar um aspecto que marca a distino na aplicao de microcontroladores e FPGAs: neste ltimo, uma grande quantidade de processos ocorre de

modo concorrente (simultneo), enquanto um microcontrolador executa sequencialmente um conjunto de instrues em um programa. 2.2 Principais Fornecedores de Componentes A Xilinx e a ALTERA dominam o mercado de PLDs, com uma fatia superior a 86%, (MITRA, 2011), deixando o restante dele para fabricantes como a Lattice Semicondutor, Actronyx, Actel e Tabula. Os dois lderes do mercado competem com solues similares de componentes de alto desempenho, placas de desenvolvimento e avaliao, software de desenvolvimento e propriedades intelectuais. 2.3 Fluxograma de Projeto de um PLD O desenvolvimento de um projeto em PLD passa por uma sequncia de etapas (Figura 1), desde a especificao detalhada do seu objetivo at a sua finalizao, quando estar pronto para uma linha de produo. Ao longo do fluxo de projeto, a verificao de um erro, ou a necessidade de atender a uma modificao da especificao pode impor um retorno ao estgio inicial de entrada do projeto. Este retrocesso pode ser custoso e, portanto importante que a especificao e o desenvolvimento de cada etapa de projeto sejam acuradamente executadas.

Figura 1: Etapas de um projeto com PLD 2.4 Ferramentas de Desenvolvimento Existem hoje no mercado varias ferramentas de desenvolvimento para PLDs. Estas ferramentas podem ser oferecidas pelos fabricantes dos componentes, ou de empresas como Sigasi, a Synopsys e a MentorGraphics, que produzem solues especializadas para determinadas etapas do processo, como a codificao em VHDL, a sntese lgica, a simulao e a verificao do cdigo. Alm disso, os fabricantes de componentes, como Xilinx, ALTERA e Lattice Semiconductors oferecem, alm das solues proprietrias para o desenvolvimento, a opo de incorporar solues de terceiros, atendendo s necessidades e convenincias de seus usurios. A ALTERA, por exemplo, descontinuou sua soluo proprietria para simulao, e incorporou sua IDE o ModelSim, da MentorGraphics. 3 LGICA PROGRAMVEL NO IFSC

A utilizao de Lgica Programvel como apoio pedaggico ao ensino de Eletrnica Digital e Arquitetura de Microcontroladores no IFSC teve incio no ano de 2001 quando, por iniciativa de um grupo de estudos que contava com professores, alunos e ex-alunos do Curso Tcnico de Eletrnica do IFSC, construiu-se um primeiro conjunto didtico, apresentado na Figura 2. Este sistema era modular, com um kit central de CPLD baseado no EPM7128 da

ALTERA, e mdulos perifricos com funes diversas. O kit foi baseado em um chip da ALTERA, o CPLD EPM7128, da Famlia MAX7000S. Este Mdulo foi utilizado na formao de professores e tcnicos, no ambiente de desenvolvimento integrado Max+Plus II, da ALTERA. A utilizao do mesmo tornou o aprendizado de eletrnica digital mais atraente e efetivo.

Figura 2: Kit de CPLD desenvolvido no IFSC em 2001. Um novo conjunto didtico, baseado em placas mais compactas e baratas foi desenvolvido em 2003 (MELO & ZAPELINI, 2003), incluindo um kit para o microcontrolador AT89S8252, de arquitetura 8051, proporcionando um ganho de qualidade nos trabalhos desenvolvidos nas disciplinas de Microcontroladores e de Dispositivos Lgicos Programveis, a partir daquele ano no Curso Tcnico de Eletrnica e no Curso Superior de Tecnologia em Sistemas Digitais do IFSC. Devido ao seu baixo custo, a nova placa de CPLD pde ser adquirida por vrios alunos, e o conceito de trabalho experimental ultrapassou as fronteiras da sala de aula: de posse destas ferramentas os alunos podiam testar seus experimentos em casa, em seu prprio tempo, o que incentivou mais a criatividade. Para dar suporte ao uso dos kits, em aulas prticas e no desenvolvimento de exerccios de projeto, construiu-se um conjunto de pginas de internet com alguma documentao e exemplos de aplicao dos kits e dos perifricos (MELO, 2011). Em 2007, ministrou-se pela primeira vez a disciplina de Dispositivos Lgicos Programveis, de 40h, para o Curso de Ps-Graduao Latu Sensu em Desenvolvimento de Sistemas Eletrnicos, do Instituto Federal de Santa Catarina. No ano de 2008, buscando reduzir ainda mais os custos da experimentao didtica, desenvolveram-se dois novos kits didticos, um para microcontroladores PIC, da Microchip, e outro que permite a utilizao de duas arquiteturas de microcontroladores da ATMEL, AVR e 8051. Para caracterizar o impacto desta iniciativa, no segundo semestre 2009 praticamente todos os alunos das disciplinas de Microcontroladores do Curso Tcnico de Eletrnica e Sistemas Digitais do Curso Superior de Mecatrnica, ambos do IFSC, adquiriram as placas de circuito impresso e os componentes do mdulo de microcontroladores, para montarem seus prprios kits. Em 2010, desenvolveu-se o novo conjunto modular de kits didticos, descrito na seo 4 deste artigo. 4 KIT MODULAR DE DESENVOLVIMENTO EM SISTEMAS DIGITAIS

O Kit Modular de Desenvolvimento em Sistemas Digitais, com mdulo de lgica programvel, uma evoluo dos sistemas anteriores. Nesta nova verso, buscou-se a simplificao do seu uso e a uma reduo substancial do seu custo, de modo a tornar a sua aquisio e construo acessvel aos alunos. Suas principais caractersticas so:

Um novo padro de conexo dos mdulos, permitindo a montagem sobre matriz de contatos, que por ser simples, permite que novos perifricos sejam rapidamente desenvolvidos pelos alunos, em exerccios de projeto; O baixo custo das placas, para uma produo em pequena escala; Uma construo simples permitindo que os estudantes montem seus prprios mdulos. A Figura 3 mostra o kit de CPLD, baseado no componente EPM7064, da ALTERA. A Figura 4 mostra os kits de microcontrolador AT89S8253 (a) e de Atmega328P (b), e a placa de interface USB (c).

Figura 3: Kit de CPLD de baixo custo.

Figura 4: Outros mdulos centrais da plataforma de kits didticos. A Figura 5 mostra os mdulos perifricos do sistema, que so: a) chaves, b) mostrador de 7 segmentos, c) teclado numrico, d) mostrador de 6 algarismos, e) botes e f) leds.

Figura 5: Mdulos perifricos do conjunto didtico para Sistemas Digitais. 5 O PROJETO FPGA PARA TODOS

No final de 2010 iniciou-se, com financiamento do Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico (CNPq), o Projeto de Disseminao da Tecnologia

de Lgica Programvel nos Institutos Federais de Educao, Cincia e Tecnologia. Este projeto prev trs iniciativas bsicas: um portal dedicado difuso da tecnologia; o desenvolvimento de um novo conjunto de kits didticos; um curso bsico de capacitao em Lgica Programvel. 5.1 Portal da Lgica Programvel Esta plataforma composta de kits didticos versteis e de baixo custo, seguindo os conceitos de facilidade de utilizao e de modularidade, j validados na experincia de ensino no IFSC, alm de apostilas, tutoriais e projetos de referncia, entre outros. Para dar subsdio aos interessados em conhecer e utilizar esta tecnologia, e com o objetivo de atender um pblico diversificado, desde entusiastas sem formao especfica, profissionais da rea e professores interessados em atualizar seus cursos, iniciou-se o desenvolvimento de um Portal abordando assuntos relacionados Lgica Programvel e Microeletrnica, onde se podero encontrar contedos interessantes e dinmicos sobre a rea, como: Tutoriais em texto e em vdeo; Repositrio de documentos; Exemplos de aplicao; Fruns; Wikis; Espao para troca de experincias e projetos na rea. A Figura 6 apresenta o pgina principal atual do Portal, que est sendo desenvolvido utilizando a plataforma Joomla!.

Figura 6: Pagina principal do Portal da Lgica Programvel. 5.2 Um curso bsico de lgica programvel O Curso Bsico de Lgica Programvel do Projeto FPGA para Todos com uma carga horria prevista de 40 horas-aula, dever garantir uma compreenso bsica dos componentes,

das principais etapas do fluxo de desenvolvimento de um projeto, de sua execuo em um ambiente de desenvolvimento e das principais estruturas da linguagem VHDL. Dever prover suporte experimentao, apoiada nos kits didticos, e aos progressos individuais posteriores do aluno, com recursos fornecidos pelo portal. Uma primeira aplicao do curso permitir a avaliao do material desenvolvido, orientando ajustes a serem executados. 5.3 Novos kits de lgica programvel Como uma plataforma de suporte ao curso, e experimentao, um novo conjunto de mdulos didticos est sendo projetado, mantendo as caractersticas de modularidade, interdisciplinaridade e baixo custo. O kit de CPLD deve ser atualizado para incluir um componente mais moderno, de maior capacidade e com novos recursos de tecnologia. Ainda, um mdulo de FPGA compatvel com o conjunto deve ser acrescentado a ele. O desenvolvimento deste novo conjunto de kits ser elaborado aps a primeira avaliao dos atuais materiais, nos experimentos do curso bsico. 6 EXEMPLO DE PROJETO E MODELO DE DESENVOLVIMENTO

Projetos que apresentem algum desafio estimulam a criatividade dos estudantes. Um prottipo rudimentar de elevador didtico, mostrado na Figura 7, foi construdo para uso em exerccios de aplicao dos kits didticos. Para experimentao, sua construo pode ser completada com os seguintes elementos: Um mdulo central (de CPLD, de microcontrolador ou de USB conectado a um computador) controla o sistema; Um mdulo de rels comanda o acionamento do motor; Um conjunto de interruptores do tipo fim de curso determinam o andar em que o elevador se encontra; Um mdulo de botes permite a chamada do elevador;

Figura 7: Prottipo de um elevador didtico Aqui, descrevem-se as etapas do projeto da lgica de controle do elevador, para movimento entre dois pisos apenas, e para gravao no kit de CPLD, como seria desenvolvido em um primeiro exemplo em sala de aula.

6.1 Especificao Bsica O equipamento deve se mover entre dois pisos do prottipo, com um boto para comando de subida um para comando de descida, e um boto de emergncia, que deve fazer parar imediatamente o motor do elevador. Na partida do sistema, o elevador deve se deslocar para o piso trreo, caso no se encontre ali ou no piso superior. Detalhes tcnicos da implementao do circuito e uma nomenclatura para sinais seriam discutidos, para definio do funcionamento desejado da lgica de controle. 6.2 Mquina de Estados Aps um estudo das especificaes do sistema, determina-se que uma mquina de estados melhor o descreveria, para a posterior construo do cdigo-fonte em VHDL. O diagrama de estados da mquina, apresentado na Figura 8, proposto e discutido.

Figura 8: Diagrama de estados para o controle do elevador 6.3 Entrada do Cdigo-fonte, em VHDL A prxima etapa no projeto consiste na entrada do cdigo-fonte, em VHDL. Deve ser previsto um treinamento bsico enfocando o manuseio da ferramenta de edio de cdigo do Quartus II Web Edition (Figura 9), de modo a garantir o aproveitamento de seus muitos recursos como colorizao de texto, numerao de linhas, gabaritos para as principais estruturas da linguagem, e outros.

Figura 9: IDE do Quartus II.

6.4 Anlise e Sntese O cdigo gerado em VHDL ser verificado nesta etapa, e a sntese gera um arquivo de diagrama de conexes de lgica do componente, que permitir a etapa de simulao funcional, que se segue. 6.5 Simulao A simulao funcional RTL (de Register Transfer Level), por ocorrer em nvel de registradores e no de portas lgicas, permite uma verificao inicial da lgica introduzida no projeto. Aqui, o ModelSim a soluo adotada, pois a ferramenta j includa no pacote Quartus II Web Edition, da ALTERA. A Figura 10 apresenta os resultados da simulao, um conjunto de formas de onda, nas quais se pode verificar o atendimento s especificaes previamente definidas.

Figura 10: Janela de simulao do ModelSim. 6.6 Roteamento, Compilao Completa, Gravao e Verificao do Funcionamento: Aqui, se verifica uma vantagem do uso de componentes de lgica programvel: A definio dos pinos do projeto no PLD feita no ambiente do Quartus II, em funo das convenincias do sistema. Aps uma compilao completa, tm-se o projeto pronto para gravao no PLD. Uma etapa importante do fluxograma de desenvolvimento com PLDs, a simulao em nvel de portas (Gate-level simulation) no executada nesta abordagem introdutria, mas deixada para uma etapa posterior do curso. A gravao do projeto executada sobre o CPLD, sem que seja necessrio remov-lo da placa do kit, e ento o sistema poder ser testado, e o seu funcionamento verificado. 7 CONCLUSES

Apresentou-se aqui a experincia de professores do IFSC no desenvolvimento de solues de suporte ao ensino de Sistemas Digitais. A Lgica Programvel merece um espao mais significativo nos currculos dos cursos tcnicos e superiores de Engenharia e de Tecnologia. Prope-se aqui que o ensino do tema adote uma abordagem prtica aos componentes, linguagens e ambientes de desenvolvimento, aspectos de projeto e construo de circuitos atravs da experimentao facilitada, a disponibilidade de informao em nosso idioma e uma capacitao introdutria para professores ainda no afeitos tecnologia. A expectativa do grupo de professores e alunos envolvidos no Projeto FPGA para Todos que a disponibilizao dos diversos recursos didticos previstos nas suas iniciativas

contribua efetivamente no sentido de popularizar a aplicao da Lgica Programvel entre instituies de ensino de nvel mdio e superior. Agradecimentos Os autores agradecem ao Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico (CNPq) pelo apoio financeiro ao projeto FPGA para Todos. REFERNCIAS BIBLIOGRFICAS MELO, Francisco Edson Nogueira de. Kits Didticos /de Desenvolvimento. Disponvel em: <http://www.edsonmelo.trix.net/professor/kits/>. Acesso em: 29 jun. 2011. MELO, Francisco Edson N. de; ZAPELINI, Wilson B. Um Equipamento Didtico Constitudo de Mdulos de Microcontrolador e de PLD. Anais: XXXI Congresso Brasileiro de Ensino de Engenharia. Rio de Janeiro: Instituto Militar de Engenharia, 2003. MITRA, SRAMANA. PLD Overview: Xilinx and Altera. Disponvel em: <http://www.sramanamitra.com/2009/10/14/pld-overview-xilinx-and-altera/>. Acesso em: 29 jun. 2011. WINTERGREEN RESEARCH INC. Programmable Logic ICs Market Shares and Forecasts Worldwide: 2010 to 2016. Disponvel em: <http://wintergreenresearch.com/ reports/Programable_Logic_ICs.htm>. Acesso em: 15 jun. 2011. XILINX INC. What is Programmable Logic? Disponvel em: <http://www.xilinx.com/ company/about/programmable.html>. Acesso em: 29 jun. 2011.

FPGA FOR ALL: A PROGRAMMABLE LOGIC TECHNOLOGY DISSEMINATION PROJECT


Abstract: This paper shows the Programmable Logic teaching evolution in Federal Institute of Santa Catarina, ministered in technical and undergraduate courses. This practice made possible the project of an integrated platform to support Programmable Logic teaching , based in a set of three initiatives: a introductory course; a didactic modular system of kits and an internet portal. This proposal begins now to be implemented as a project called FPGA for All, funded by Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico (CNPq). Key-words: Programmable Logic, FPGA, didactic kits.

Você também pode gostar