• Nenhum resultado encontrado

9 Simula¸ c˜ ao e Teste da Arquitetura Proposta

9.4 Simula¸ c˜ ao e Teste da Arquitetura

Com o aux´ılio do software Quartus II Web Edition vers˜ao 5.0, a arquitetura proposta foi mapeada no FPGA EPF10K70RC240. De 3744 elementos l´ogicos dispon´ıveis, foram utilizados 3224 (86%). Devido a pequena quantidade de l´ogica do FPGA dispon´ıvel para a realiza¸c˜ao dos testes na arquitetura proposta, os blocos de configura¸c˜ao BCERP e BCGN tiveram que ser adaptados. Desta forma, para que a arquitetura 3x3 pudesse ser inteiramente mapeada no FPGA, os pacotes de dados e de configura¸c˜ao foram reduzidos de 32 bits para 17 bits, distribu´ıdos da seguinte forma:

• 1 bit para o sentido leste-oeste ou oeste-leste; • 2 bits para a varia¸c˜ao no eixo x;

• 1 bit para o sentido norte-sul ou sul-norte; • 2 bits para a varia¸c˜ao no eixo y;

• 3 bits para a instru¸c˜ao de processamento; • 2 bits para a identifica¸c˜ao do lugar; • 6 bits para a quantidade de marcas.

No processo de simula¸c˜ao, foi realizado o procedimento definido a seguir. Deve-se inicializar a arquitetura com um n´ıvel l´ogico alto no sinal inicializar dos blocos BCERPs, BCGNs e roteadores. Depois, deve-se enviar os pacotes de configura¸c˜ao para o bloco BCGN e para todos os blocos BCERPs. Ap´os o envio de todos os pacotes de confi- gura¸c˜ao, deve-se esperar o retorno dos pacotes de finaliza¸c˜ao de configura¸c˜ao de todos os blocos BCERPs. Ao receber esses pacotes, deve-se enviar um n´ıvel l´ogico alto no si- nal 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 no lugar de entrada L1 implementado no bloco BCERP(1,1) e, observar o comportamento da arquitetura com rela¸c˜ao ao disparo das transi¸c˜oes mapeadas, ou seja, deve-se esperar pacotes de dados contendo informa¸c˜oes re-

ferentes ao disparo das transi¸c˜oes, a busca de n´umeros pseudo-aleat´orios, ao sincronismo

de conflito, entre outras possibilidades.

No processo de teste da arquitetura proposta, utilizou-se a placa educacional UP2 que possui o FPGA EPF10K70RC240. No processo de s´ıntese realizado na arquitetura, o c´odigo VHDL descrito foi mapeado nesta placa UP2. Devido a quantidade de pinos de entrada da arquitetura (43 pinos), foram confeccionados m´odulos em VHDL que imple- mentam duas mem´orias ROMs, como apresentado na figura 9.5.

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. Os m´odulos foram devida- mente implementados no FPGA e interligados ao sistema de roteamento. Os pacotes de configura¸c˜ao mostrados nas tabelas de 9.1 at´e 9.7, foram armazenados na mem´oria ROM e enviados, posteriormente, para a programa¸c˜ao dos blocos BCERPs e do bloco BCGN.

Na etapa de execu¸c˜ao da rede implementada na arquitetura 3x3, foram enviados pacotes de dados de sincronismo de tempo e pacotes de dados para a adi¸c˜ao de marcas no lugar L1 da Rede de Petri.

Figura 9.5: Sistema utilizado para o teste da arquitetura 3x3 no FPGA

No exemplo da tabela 9.8 encontram-se alguns pacotes de dados que foram armaze- nados na mem´oria ROM e enviados para a arquitetura proposta na realiza¸c˜ao do teste da Rede de Petri apresentada na figura 9.3.

Tabela 9.8: Pacotes de dados armazenados na mem´oria ROM e utilizados no processo de execu¸c˜ao da Rede de Petri

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

000 00 000001 Produ¸c˜ao de uma marca do tipo e

001 01 000001 Produ¸c˜ao de uma marca do tipo f (soma finalizadora) 001 00 000000 Sincronismo de tempo

No processo de mapeamento da Rede de Petri da figura 9.3, a arquitetura levou 3, 42µs para enviar os 133 pacotes ou 4256 bits de configura¸c˜ao armazenados na mem´oria ROM. A Rede de Petri implementada na arquitetura levou em torno de 5, 35µs para a produ¸c˜ao de trˆes marcas do tipo g no lugar L9, ap´os o envio de uma marca do tipo e e uma marca do tipo f para o lugar L1. Na tabela 9.9 apresenta-se a marca¸c˜ao da Rede de Petri em cada tempo l´ogico at´e a produ¸c˜ao de marcas no lugar de sa´ıda L9. Dois pacotes de dados foram enviados logo ap´os a configura¸c˜ao da arquitetura. Estes pacotes adicionaram duas marcas no lugar L1, uma do tipo e e outra do tipo f, como mostrado na tabela 9.9 no tempo l´ogico 0. Ap´os 3, 48µs, contando a partir do in´ıcio da configura¸c˜ao, a arquitetura armazenou estas duas marcas. Na tabela 9.9 encontra-se toda a dinˆamica da rede (marca¸c˜ao da rede em cada tempo l´ogico) e o seu correspondente tempo f´ısico no qual a arquitetura atingiu a marca¸c˜ao esperada.

Tabela 9.9: Marca¸c˜ao da Rede de Petri

Tempo L1 L2 L3 L4 L5 L6 L7 L8 L9 Tempo Descri¸c˜ao

L´ogico Arq.

0 1e 1e 0f 0g 0f 1e 0f 0f 0g Armazenamento das marcas

1f 1g 0g 3, 48µs enviadas no lugar L1

1 0e 1e 0f 0g 0f 1e 0f 0f 0g Transi¸c˜ao T1 habilitada

0f 1g 0g 3, 53µs T1 = 1un.

2 0e 3e 2f 3g 0f 1e 0f 0f 0g Disparo da transi¸c˜ao T1

0f 1g 0g 4, 2µs

3 0e 1e 0f 0g 0f 1e 0f 0f 0g Transi¸c˜oes T2, T3 e T4 habilitadas

0f 1g 0g 4, 47µs T2 = 2un. / T3 = 3un. / T4 = 1un.

4 0e 1e 0f 0g 0f 1e 1f 0f 0g Disparo da transi¸c˜ao T4 0f 1g 0g 5, 00µs T2 = 1un. / T3 = 2un. 5 0e 1e 0f 0g 1f 1e 1f 0f 0g Disparo da transi¸c˜ao T2 0f 2g 0g 6, 07µs T3 = 1un. 6 0e 1e 0f 0g 1f 3e 1f 0f 0g Disparo da transi¸c˜ao T3 0f 2g 2g 6, 78µs 7 0e 1e 0f 0g 0f 3e 0f 0f 0g Transi¸c˜ao T5 habilitada 0f 2g 0g 6, 82µs T5 = 2un. 8 0e 1e 0f 0g 0f 3e 0f 0f 0g T5 = 1un. 0f 2g 0g – 9 0e 1e 0f 0g 0f 3e 0f 1f 0g Disparo da transi¸c˜ao T5 0f 2g 0g 8, 46µs 10 0e 1e 0f 0g 0f 1e 0f 0f 0g Transi¸c˜ao T6 habilitada 0f 1g 0g 8, 5µs T6 = 3un. 11 0e 1e 0f 0g 0f 1e 0f 0f 0g T6 = 2un. 0f 1g 0g – 12 0e 1e 0f 0g 0f 1e 0f 0f 0g T6 = 1un. 0f 1g 0g – 13 0e 1e 0f 0g 0f 1e 0f 0f 3g Disparo da transi¸c˜ao T6 0f 1g 0g 8, 77µs

V´arios testes foram realizados na arquitetura 3x3 modificando-se os valores armaze- nados nas posi¸c˜oes da mem´oria ROM para o mapeamento de diferentes Redes de Petri, as quais possuiam transi¸c˜oes com/sem probabilidade de disparo e com/sem conflito es- trutural. Diferentes pacotes de dados tamb´em foram armazenados para a verifica¸c˜ao do comportamento da arquitetura ao receber pacotes de sincronismo de tempo, pacotes de adi¸c˜ao de marcas de tipos diferentes, pacotes contendo somas finalizadoras, entre outras possibilidades. Alguns destes testes est˜ao dispon´ıveis no CD-ROM anexado a esta tese.

9.5

Coment´arios

Foram comentados, neste cap´ıtulo, os processos utilizados para a simula¸c˜ao e teste da arquitetura proposta. Uma arquitetura 3x3 composta de 9 roteadores interligando oito blocos BCERPs e um bloco BCGN foi mapeada num FPGA. Alguns modelos de Redes de Petri foram descritos e mapeados na arquitetura. Pacotes de configura¸c˜ao foram enviados, por meio de uma mem´oria ROM, para todos os blocos BCERPs e para o bloco BCGN da arquitetura 3x3 e, pacotes de dados foram enviados, por meio de outra mem´oria ROM, para a verifica¸c˜ao do comportamento da arquitetura diante da adi¸c˜ao de diferentes marcas em diferentes lugares das Redes de Petri implementadas.

No pr´oximo cap´ıtulo encontram-se as considera¸c˜oes finais sobre a arquitetura proposta e algumas sugest˜oes para trabalhos futuros.