Hello,
According to your description of the component behaviour it seems that there is a wait for a read access. Look at the join picture. If I understand well, your component has the same behaviour than the first picture, which has a wait parameter of 1. The second has no wait and the read data is provided on the same clock cycle than the request.
If I misunderstood the behaviour of your component, sorry.
Trick : you can write "00000000" & counter instead of what you wrote. You can even write X"00" & counter (X is to tell that the value is given in hexadecimal base)
Jérôme