simulated memory should act like a RAM (one clock delay from addr -> data valid) and not like a combinatorial LUT