FUNDAO DE ENSINO EURPIDES SOARES DA ROCHA CENTRO UNIVERSITRIO EURPIDES DE MARLIA UNIVEM BACHARELADO EM CINCIA DA COMPUTAO
DENISON MENEZES
MARLIA 2008
238
Sumrio
Consideraes Iniciais.................................................................................... 220 2.1 2.2 Notas dos Autores ....................................................................................... 220 Necessrio .................................................................................................... 220 Conhecimento ..................................................................................... 220 Ferramentas .......................................................................................... 220 Hardware .............................................................................................. 220
FPGA ................................................................................................................. 221 3.1 3.2 3.3 Estrutura Interna de um FPGA ................................................................... 221 Conceitos sobre Roteamento ................................................................... 222 FPGA utilizado .............................................................................................. 222
Project Manager.............................................................................................. 224 4.1 4.2 Criando um novo Projeto........................................................................... 224 Schematic Editor ......................................................................................... 225 Adicionando componentes no diagrama e interligando eles..... 226 Criando Macros ................................................................................... 227 Buffers e PADs ....................................................................................... 229 Criando o Netlist................................................................................... 231 Functional Simulation.................................................................................. 232 Criando o Bitstream .................................................................................... 234
7/8/2008
239
Consideraes Iniciais
2.2 Necessrio
2.2.1 Conhecimento
Placa de desenvolvimento XS40 verso 1.2 do fabricante Xess Corporation. FPGA XC4010XLPC84 integrante da famlia XC4000XL do fabricante Xilinx.
7/8/2008
240
FPGA
Ordonez (2003) cita as seguintes configuraes para a arquitetura interna de um FPGA: 1) Matriz simtrica: possui canais de roteamento verticais e horizontais com grande flexibilidade. 2) PLD hierarquico: matriz de blocos lgicos interligados e que podem ser agrupados entre si. 7/8/2008
Fundamentos de Lgica 2009-Anexo-Project Manager e GXSLOAD
241
3) Row-based: blocos lgicos em disposio horizontal com rea dedicada para o roteamento. 4) Sea of gates: blocos logicos de complexidade pequena dispostos em grande numero por unidade de area. Nao h area dedicada para o roteamento.
7/8/2008
242
7/8/2008
243
Project Manager
O Software Project Manager do ambiente Xilinx Foundation F3.1i, Build 3.1.177. um sistema de desenvolvimento que consiste da integrao de um conjunto de ferramentas de softwares e hardware para criar, simular e implementar projetos digitais em FPGA ou CPLD. O Project Manager tambm capaz de gerar os bits de configurao para diversos dispositivos reconfigurveis da Xilinx. Para isso, a ferramenta faz o mapeamento da soluo no dispositivo, e gera os bits de configurao (bitstream) que podem ser enviados para o dispositivo reconfigurvel.
Escolhendo a opo Create a New Project ou pelo caminho File / New Project aparecer janela da figura 4.
7/8/2008
244
Nome do
Famlia da
FPGA
Para construir o diagrama esquemtico do circuito lgico abra o editor esquemtico Schematic Editor. Observe a figura5:
de
Simulao Simulao de
Implementa Programan do o
7/8/2008
245
Nosso exemplo um circuito que apresentar no visor de sete seguimentos o valor de um at nove. 4.2.1 Adicionando componentes no diagrama e interligando eles
Para adicionar um componente clique no cone (Symbols toolbox). Ir abrir a caixa da Figura 6, digite o nome do componente no campo de busca, e selecione-o caso encontre.
Component
Descrio
Busca
7/8/2008
246
4.2.2
Criando Macros
Ao construir um circuito pode ser necessrio criar macros, para reutilizar algum circuito especifico, por exemplo, um contador, ou simplesmente para tornar mais fcil sua compreenso. Para construir macros utiliza Hierarchy Connector, que um terminal I/O, mas no um dispositivo fsico, portanto deve ser usado somente para fornecer conexo entre nveis hierrquicos, correspondendo aos pinos no smbolo da macro. Para adicionar clique no cone ou clique com o boto direito do mouse diretamente no Draw wires quando o mesmo estiver selecionado e escolhendo a opo add Terminal, em seguida ser apresentada uma tela para a configurao do terminal a ser criado conforme a figura 8.
7/8/2008
247
Nome do Terminal
Nome do Terminal
Depois de criado o circuito com os terminais de entrada e sada poder ser criada a macro, para isso clique na opo da barra de ferramentas Hierarchy-> Create Macro Symbol from Current Sheel... conforme demonstrado na a figura 9, ento ser apresentado a tela da figura 10.
7/8/2008
248
Nome do
Comentrio Terminais de
Terminais de
Feito os passos anteriores estar disponvel a macro criada no Symbols toolbox, o smbolo criado no nosso exemplo est na figura 11.
4.2.3
Buffers e PADs
BUFFERS
Buffers so necessrios para sinais de entradas e sadas que vo para pinos de seu dispositivo (FPGA). Esto disponveis no Symbols toolbox, para os buffers de entrada escolhe-se IBF (figura 13) e os de sada OBUF (figura 12). No esquea de adicionar BUFFERS no seu esquemtico ou seu esquemtico no ir compilar.
Figura 12
Figura 13
PADs
Voc ir tambm precisar adicionar pads I/O para buffers de entrada e sada. Estes pads (blocos) representam os pinos atuais no dispositivo XILINX. Os blocos so componentes fsicos na biblioteca XILINX e colocado semelhante a 7/8/2008
Fundamentos de Lgica 2009-Anexo-Project Manager e GXSLOAD
249
qualquer outro componente. Os nomes dos Pads so IPAD (entrada), OPAD (sada) e IOPAD(bidirecional).TODOS OS DISPOSITIVOS DEVEM SER REPRESENTADOS COM UM DESTES PADS! Os Pads devero ser dados um nome e possivelmente um nmero de pino (localizao dos pinos). Estes podem ser feitos dando um clique duplo no pad ou pressionando o boto direito do mouse na opo Symbol Properties... conforme demonstrado na figura 14, para aparecer a janela Symbol Properties.
Na janela Symbol Properties, na rea Paramaeters, no campo Name, selecione LOC e em Description, e informe o nmero do pino da FPGA como pXX, onde XX representa o nmero do pino.Como na figura 15 o pino 19, e depois pressione o boto Add.
7/8/2008
250
No nosso exemplo iremos utilizar apenas opads, para selecionar os LEDs do display de sete segmentos, os pinos correspondentes so demonstrados na figura 16.
4.2.4
Criando o Netlist
Aps a construo do circuito lgico, deve ser criado e exportado o netlist utilizado para compilar o circuito para o FPGA escolhido. A gerao do netlist fornece informaes importantes para o desenvolvimento, como avisos e mensagens de erro. Aps a gerao e exportao do netlist. Para cri-la basta clicar no Menu em OPTIONS pressionando Shift+F2. CREATE NETLIST ou
Quando terminar, uma boa prtica verificar tem erros de projeto ou no. Isto feito clicando no Menu em OPTIONS INTEGRITY TEST. 7/8/2008
Fundamentos de Lgica 2009-Anexo-Project Manager e GXSLOAD
251
Voc pode tambm gerar um netlist EDIF clicando no Menu em OPTIONS EXPORT NETLIST. Se voc no fizer isto, no h problema, o sistema pedir para que seja feito posteriormente.
O primeiro passo adicionar os sinais necessrios para a visualizao, isto pode ser feito clicando no boto (Select Components) ou pelo menu signal Add Signal. Abrir a janela da figura 17, de dois clique no componente desejado na rea Chip Selection, aparecer seus pinos no quadro do lado direito, e ento selecione os pinos que sero visualizados na simulao, depois aperte no boto Close para retornar ao simulador. Caso voc utilize Hierarchy Connector seu sinal se encontra na rea Signals Selection sendo possvel seleciona-lo.
Pinos do componente
Componente selecionado
Tambm possvel adicionar pontos de prova no esquemtico do circuito clicando no cone (Simulation Toolbox), depois clique no componente, aparecer a janela da figura 18, selecione o pino desejado e clique no boto Add.
7/8/2008
252
O segundo passo adicionar estmulos, para isso abra o Select Stimulators clicando no cone . Aparecer a janela da figura 19. Selecione o pino de entrada e selecione a ao desejada no Select Stimulators. Voc pode associar teclas como estimulos para sinais no seu projeto. Depois de voc associar este estmulo, o sinal varia entre 1 e 0 sempre que voc pressionar a tecla correspondente no teclado.
Sadas do contador
Complemento da sada
Depois de Ter entrado com as entradas e sadas a serem simuladas e associado estmulos s entradas resta realizar a simulao. Para iniciar a simulao clique em (Simulation Step), para definir o intervalo dos passos de simulao, selecione uma opo do combobox do seu lado direito.
7/8/2008
253
FPGA escolhido
Nome da verso
Nome da reviso
Os passos do processo de implementao so: traduo, mapeamento, roteamento, temporizao e configurao. Aps a ativao, os passos do processo de implementao seguem na seqncia indicada pelas setas ilustradas na figura 21.
7/8/2008
254
Ao trmino do processo de implementao, exibida mensagem na tela. Caso ocorram erros, ser exibida mensagem de alerta.
Os relatrios gerados por cada fase da implementao podem ser visualizados para verificar estatsticas de ocupao do FPGA, temporizao e eventuais erros ocorridos.
7/8/2008
255
Relatrios de implementao
7/8/2008
256
GXSLOAD
O GXSLOAD(figura 26) faz parte do software GXSTOOLs, e utilizado para fazer a transferncia do arquivo bitstream no FPGA da placa de desenvolvimento. O arquivo com extenso .bit carregado na ferramenta e transferido para o FPGA via porta paralela. Para descarregar o arquivo .bit no FPGA da placa de desenvolvimento XS40, basta buscar e arrastar para a rea FPGA/CPLD de uma janela aberta da ferramenta GXSLOAD, o arquivo .bit que o Project Manager automaticamente salva no caminho Xilinx\active\projects\setseg\xproj\ver1\rev1 dentro de seu diretrio de instalao. Observar que setseg o nome do projeto exemplo.
Na janela do GSXLOAD deve ser escolhido o tipo de placa de desenvolvimento e o nome da porta paralela a ser utilizada para descarregar o arquivo .bit no FPGA. Feito isso, basta clicar no boto LOAD para descarregar.
7/8/2008
257
que
foi
Figura 26 GXSLOAD
Aps receber o arquivo .bit, a placa de desenvolvimento est pronta para os testes prticos.
7/8/2008
258
7/8/2008
259
Bibliografia
ORDONEZ, Edward David Moreno et al. Projeto, Desempenho e Aplicao de Sistemas Digitais em Circuitos Programveis (FPGAs). 1. ed. atual. Pompia, SP: Bless, 2003. 300p. MARTINS, Diego da Silva; MENEZES, Denison. AUTOMAO E CONTROLE DE PULVERIZAO EM MQUINAS AGRCOLAS. 2007. Projeto de Iniciao cientifica - CENTRO UNIVERSITRIO EURPIDES DE MARLIA UNIVEM, Marlia, SP, 2007. XS40, XSP Board V1.2 User Manual Dava Vanden Bout; Pragmatic Logic Design with XILINX Foundation 2.1i
Agradecimentos Agradeo aos alunos Denison Menezes e Diego da Silva Martins pela dedicao, eficincia, senso de responsabilidade, tica e companheirismo no desenvolvimento das atividades de iniciao cientfica intitulado Automao e Controle de Pulverizao em Mquinas Agrcolas que entre muitos outros relevantes resultados gerou tambm esse manual tcnico. Obrigado Ildeberto de Genova Bugatti
7/8/2008
260
Que importa saber o que linha reta quando no se sabe o que retido
7/8/2008