Uma arquitetura reconfigurável e multiprocessada para a implementação física de Redes de Petri foi desenvolvida em VHDL e mapeada sobre um FPGA. Convencionalmente, as Redes de Petri são transformadas em uma linguagem de descrição de hardware no nível de transferências entre registradores e um processo de síntese de alto nível é utilizado para gerar as funções booleanas e tabelas de transição de estado para que se possa, finalmente, mapeá-las num FPGA (Morris et al., 2000) (Soto and Pereira, 2001). A arquitetura proposta possui blocos lógicos reconfiguráveis desenvolvidos exclusivamente para a implementação dos lugares e das transições da rede, não sendo necessária a descrição da rede em níveis de abstração intermediários e nem a utilização de um processo de síntese para realizar o mapeamento da rede na arquitetura. A arquitetura permite o mapeamento de modelos de Redes de Petri com diferenciação entre as marcas e associação de tempo no disparo das transições, sendo composta por um arranjo de processadores reconfiguráveis, cada um dos quais representando o comportamento de uma transição da Rede de Petri a ser mapeada e por um sistema de comunicação, implementado por um conjunto de roteadores que são capazes de enviar pacotes de dados de um processador reconfigurável a outro. A arquitetura proposta foi validada num FPGA de 10.570 elementos lógicos com uma topologia que permitiu a implementação de Redes de Petri de até 9 transições e 36 lugares, atingindo uma latência de 15,4ns e uma vazão de até 17,12GB/s com uma freqüência de operação de 64,58MHz.
A multiprocessed reconfigurable architecture aimed at physical implementation of Petri Nets has been developed in VHDL, and mapped onto an FPGA. Conventionally, Petri nets are described with a hardware description language at the register transfer level, and a high level synthesis process is used to generate the boolean functions and the state transition tables needed to map them onto an FPGA (Morris et al., 2000) (Soto and Pereira, 2001). The proposed architecture has reconfigurable logic blocks especially developed for the implementation of the places and transitions of the Petri net, so, neither it is necessary to translate the Petri net model to obtain descriptions at intermediate abstraction levels, nor a synthesis process to map the net onto the architecture is in order. Petri net models that can tell tokens apart as well as Petri nets with timed transitions can be implemented. The architecture comprises a reconfigurable array of processors, and a dynamic communication system connecting the processors of the array. Each processor of the array represents the behavior of a Petri net transition, and the communication system has a number of routers to direct data packets among the processors. The proposed architecture was validated on a 10,570 logic elements FPGA with Petri Nets of up to 9 transitions and 36 places, achieving 15.4ns latency and 17.12GB/s throughput with 64.58MHz clock frequency.