https://fpgaer.tech/?p=533 - Part 1, what is an arbiter?<p>https://fpgaer.tech/?p=542 - Part 2, implementing and testing a fixed-priority arbiter<p>https://fpgaer.tech/?p=622 - Part 3, Round-robin VHDL arbiter, code and testbench
All the sources for the designs and testbenches were tested on Vivado and are available at GitHub. For the generic implementations I used unconstrained ports, which gives much simpler and compact code than using generic parameters.<p>The implementation of the round-robin arbiter uses a very clever and (again) compact algorithm.