I think it may just be confusion. The memory latches the address when the clock goes positive, and if you trigger the address source reg on the positive edge, it really means that the reg input is captured during the positive clock and is actually launched at the end of the clock. Therefore your design is probably OK. To be sure, I suggest do a functional then a timing simulation of just a dff reg as ram address and look at the ram output.
A hint: be sure to connect ALL the ram inputs to avoid a wysiwyg error and use output pins on the ram qa port so synthesis won't throw it away.
The functional sim will show everything happening on the leading edge, but the timing will show the true waveform.