A queuing structure is based on a set of FIFOs, storing data from different sources and an arbitration mechanism selecting the most suitable requestor according to a predefined algorithm. This component implements a queuing system based on FIFOs and a weighted round robin arbitration scheme. The typical usage of this queuing structure is to buffer data from multiple sources, select the highest priority and drive it to a shared resource such as a communication link or processing unit. This component contains the verified RTL Verilog code of the FIFO structure and a round robin arbiter.