FPGA Simple RAM Model - Why is the address delayed?
It is a write-first (write-before-read) RAM, so the address is delayed to see the new value at dataout port. If dataout was delayed, we would see the old value at dataout port and it would become a read-first RAM.