In ROM once data entered cannot be changd.....
RAM is a erasable memory...
ROM unit takes lessr power and delay when it is exclusivly built up....
So there is the diff....
Technically speaking you cannot design ram in vhdl there are separate IP core available for that you can just write a code that will mimic the logic of ram...
The other part abt the logic you told is right