Broadly speaking, a device for addressing a shared resource is disclosed.
The device includes at least one register in communication with the
shared resource. The at least one register is configured to hold an
address that is to be provided to the shared resource upon receipt of a
clock signal. The device also includes a multiplexer for providing a next
address to the at least one register. The multiplexer is disposed outside
of a critical timing path for addressing the shared resource. The device
for addressing the shared resource allows multiple users to be connected
to the shared resource without adversely affecting both a speed of the
shared resource and a number of users that can be achieved in an actual
implementation of the shared resource.