• Sonuç bulunamadı

BÖLÜM II MATERYAL VE METOT

Fotoğraf 3.24. Hypnum bambergeri Schimp

Utilizando o software Quartus II Web Edition vers˜ao 5.0, o bloco BCERP foi mapeado no FPGA EPF10K70RC240. De 3744 elementos l´ogicos dispon´ıveis, 1625 (43%) foram usados, e de 189 pinos, utilizaram-se 59 (31%). No processo de simula¸c˜ao, foi realizado o procedimento definido a seguir. Deve-se gerar um sinal de rel´ogio e inicializar o bloco BCERP (sinal inicializar no n´ıvel l´ogico alto). Depois, deve-se enviar os pacotes de confi- gura¸c˜ao para que o bloco seja devidamente programado. Ap´os o envio de todos os pacotes de configura¸c˜ao, deve-se esperar o retorno de um pacote de finaliza¸c˜ao de configura¸c˜ao. Ao receber este pacote, deve-se enviar um n´ıvel l´ogico alto no sinal finalizar configuracao, indicando o final da etapa de configura¸cao. Terminada a etapa de configura¸c˜ao, deve-se enviar pacotes de dados de sincronismo de tempo ou pacotes de dados para a adi¸c˜ao de marcas nos lugares de entrada implementados no bloco BCERP e, observar o comporta- mento do bloco com rela¸c˜ao ao disparo da transi¸c˜ao mapeada, ou seja, deve-se esperar pacotes de dados contendo informa¸c˜oes referentes ao disparo da transi¸c˜ao, a busca de

n´umero pseudo-aleat´orio, ao sincronismo de conflito, entre outras possibilidades.

No processo de teste do bloco BCERP, utilizou-se a placa educacional UP2 que possui o FPGA EPF10K70RC240. No processo de s´ıntese realizado no bloco BCERP, o c´odigo VHDL descrito foi mapeado nesta placa UP2. Devido a quantidade de pinos de entrada do bloco BCERP (25 pinos), foram confeccionados m´odulos em VHDL que implementam duas mem´orias RAMs, como apresentado na figura 8.10.

Figura 8.10: Sistema utilizado para o teste do bloco BCERP no FPGA

As mem´orias s˜ao utilizadas para o envio de pacotes de configura¸c˜ao e de dados nas

etapas de programa¸c˜ao e de processamento da arquitetura proposta. Os m´odulos foram

devidamente implementados no FPGA e interligados ao bloco BCERP. No exemplo da tabela 8.11 encontram-se os pacotes de configura¸c˜ao enviados, por meio da mem´oria RAM,

para a programa¸c˜ao do bloco BCERP. Esta configura¸c˜ao refere-se a um lugar de entrada que possui uma marca armazenada e a uma transi¸c˜ao que n˜ao est´a em conflito estrutural com outras transi¸c˜oes e n˜ao possui probabilidade de disparo. No processo de an´alise de disparo da transi¸c˜ao, o bloco BCERP configurado se comunica com trˆes blocos BCERPs.

Tabela 8.11: Pacotes de configura¸c˜ao armazenados na mem´oria RAM

Instru¸c˜ao Dado de Configura¸c˜ao A¸c˜ao 00000 000000000000001 Marca 1 <= 1 00001 000000000000000 Marca 2 <= 0 00010 000000000000000 Marca 3 <= 0 00011 000000000000000 Marca 4 <= 0 00100 000000000000010 Arco 1 <= 2 00101 000000000000000 Arco 2 <= 0 00110 000000000000000 Arco 3 <= 0 00111 000000000000000 Arco 4 <= 0 01110 111111111111111 Sem probab. 01111 000000000000110 Num arm <= 6 10000 000000100000100 MR <= 2 Tempo <= 1 11010 000000010000000 Cont MR <= 1 10001 000000000100010 Sem conflito

Pont Pac Final <= 1 Pont Pac Inic <= 2 10010 000000000010000 Pac 1(cab.) <= 2

Pac 1(carga ´util) <= 4 10011 000000000001000 Pac 2(cab.) <= 1

Pac 2(carga ´util) <= 5 10100 000000000011000 Pac 3(cab.) <= 3

Pac 3(carga ´util) <= 6 01101 000000000111000 Config. <= 7

Na etapa de execu¸c˜ao do bloco BCERP, deve-se enviar pacotes de dados de sincro- nismo de tempo e pacotes de dados para a adi¸c˜ao de marcas no lugar de entrada implemen- tado e observar o comportamento do bloco com rela¸c˜ao ao disparo da transi¸c˜ao mapeada. No exemplo da tabela 8.12 encontram-se os pacotes de dados que foram enviados, por meio da mem´oria RAM, para a realiza¸c˜ao deste teste no bloco BCERP configurado.

Tabela 8.12: Pacotes de dados armazenados na mem´oria RAM

Inst. Ident. Dado A¸c˜ao Proc. Lugar

001 00 000000000000001 Marca 1 <= Marca 1 + 1 (finalizador) 000 00 000000000000001 Marca 1 <= Marca 1 + 1 001 00 000000000000000 Sincronismo de tempo

V´arios testes foram realizados no bloco BCERP modificando-se os valores armazena- dos nas posi¸c˜oes das mem´orias RAMs para o mapeamento de transi¸c˜oes diferentes, ou seja, com/sem probabilidade de disparo e com/sem conflito estrutural. Diferentes pacotes

tamb´em foram armazenados para a verifica¸c˜ao do comportamento do bloco BCERP ao re- ceber pacotes de sincronismo de tempo, de conflito, pacotes de disparo, de impossibilidade

de disparo, pacotes que carregam n´umeros pseudo-aleat´orios, entre outras possibilidades.

O bloco BCERP foi mapeado em outros FPGAs para a verifica¸c˜ao da quantidade de l´ogica gasta para a sua implementa¸c˜ao e da quantidade de blocos BCERPs que podem ser inclu´ıdos em um FPGA. No FPGA EP1S10F780C5, da fam´ılia STRATIX, um bloco BCERP utiliza apenas 10% de elementos l´ogicos dispon´ıveis e em FPGAs maiores, como o EP2C70F896C8, da fam´ılia CYCLONE II, utilizou-se apenas 1116 elementos l´ogicos de 68416 dispon´ıveis (1%). Neste FPGA ´e poss´ıvel o mapeamento de at´e 60 blocos BCERPs.

8.6

Coment´arios

Neste cap´ıtulo foi descrito o bloco b´asico de configura¸c˜ao dos elementos de uma Rede de Petri (BCERP). A arquitetura do bloco BCERP possui cinco componentes digitais ca- pazes de realizar a decodifica¸c˜ao de pacotes, a an´alise de disparo, a resolu¸c˜ao de conflito, o disparo da transi¸c˜ao e o envio de pacotes para o sistema de comuni¸c˜ao. A arquite- tura possui um banco de mem´oria, utilizado ou para enviar pacotes de dados quando a transi¸c˜ao implementada disparar ou para realizar o sincronismo de tempo. A arquitetura tamb´em possui quatro somadores/subtratores, registradores para armazenar as quantida- des de marcas dos lugares, registradores para armazenar as quantidades necess´arias para o disparo da transi¸c˜ao (arcos de entrada) e registradores para armazenar os endere¸cos de blocos BCERPs auxiliares. A arquitetura possui ainda contadores de tempo, de men- sagem a enviar, de mensagem a receber e de sincronismo/comunica¸c˜ao para a resolu¸c˜ao de conflito. O bloco apresenta registradores para armazenar a permiss˜ao de disparo, a

probabilidade de disparo da transi¸c˜ao e os n´umeros pseudo-aleat´orios provenientes de um

bloco BCGN ou de outro bloco BCERP. A implementa¸c˜ao do bloco BCERP em FPGAs modernas n˜ao utiliza muita l´ogica, o que permite a inclus˜ao de diversos blocos BCERPs

num ´unico FPGA.

No pr´oximo cap´ıtulo comentam-se sobre os processos de simula¸c˜ao e de teste da ar- quitetura proposta.

9

Simula¸c˜ao e Teste da

Benzer Belgeler