## 1 Introduction and Problem Formulation
Such a class is an extension of the ordinary Petri nets; however, they additionally contain input and output signals that permit communication with the environment [6; 13; 32]. These extensions can capture real-world phenomena, such as reading from sensors or activating tasks [33]. Input (logical) signals are associated with transitions while outputs are assigned to places [11]. In the interpreted Petri net, a transition must additionally fulfil a logical equation of its input signals to be fired. This is an extended rule of an ordinary Petri net, where the firing of a transition requires a token at all input places only. However, this rule can be considered as a great advantage of interpreted Petri nets, since input signals may be used to resolve conflicts in non-free choice nets [13]. In short, a conflict in a Petri net corresponds to a non-deterministic situation, where two or more transitions may be fired. Therefore, such input signals may resolve conflicts very easily and comfortably. Finally, output signals are associated with places. Usually, they represent operations executed by the Petri net-based system. Sometimes, such signals can also trigger (activate) associated tasks especially in management systems [5]. In conclusion, it should be noted that interpreted Petri nets are live and bounded (or safe) by their definition. This is a huge advantage of this class, since the described system is assured to be absent of deadlocks and to have a finite number of states. On the other hand, such an excessive demand requires a solid examination of the system at the early prototyping stage. Finally, let us briefly introduce Field-Programmable Gate Arrays (FPGAs) and relate them to Petri nets. In general, an FPGA is a hardware device that can be reprogrammed in order to perform specific logic operations. A typical FPGA consists of logical blockswhose core is a _look-up table_ (LUT) [34]. LUTs are in charge of the realization of combinational logic (usually up to 5-6 variables). Furthermore, FPGAs include flip-flops to perform sequential operations. Due to their flexibility, and high performance, FPGAs have found applications in a multitude of industries, including aerospace, automotive, and telecommunications [35; 36]. It is worth noting that advanced FPGA platforms allow for dynamic partial reconfiguration [37; 38; 39]. This allows for changing the behavior of a part of the system without turning off the device. Thus, it has found application in special critical fields such as Mars missions [40]. Leveraging Petri nets to model control systems, especially when targeting FPGA implementation is beneficial also due to their concurrent nature [41]. It should be underlined that both--Petri nets and FPGAs--are concurrent by nature. Contrary to the sequential systems, where particular operations are performed in sequence, concurrent systems allow for simultaneous operations at the same time. Therefore, FPGAs seem to be an excellent destination for the implementation of Petri-net based systems [13; 42; 43]. In general, the implementation of the Petri net-based concurrent system within FPGA is a relatively easy process. The modeled system is transformed to the hardware description language (HDL), which is a base for further realization within the FPGA. In short, the functionality of particular places and transitions of a Petri net are translated into the set of equations that are written within the hardware language Verilog or VHDL (Very High Speed Integrated Circuit Hardware Description Language) [44]. Going into detail, each place of a Petri net is assigned to one flip-flop in a sequential circuit [13]. Thus, a set of flip-flops active at the same time reflect the current marking (state) of the system. Similarly, transitions are transformed into logical functions (combinational circuit) [43]. Those functions stimulate flip-flops associated with places. Finally, output signals are directly assigned to the particular places [13; 43].