You may also want to look at the Quartus II templates under Edit -> Insert Template. The Full Designs category has a sub-category for inferred RAMs and ROMs. I prefer to infer when I can and instantiate a megafunction when I must. The software will automatically create a MIF to model the initial contents specified by your HDL. However, the Update Memory Initialization File feature doesn't work with inferred RAMs as far as I know. That is, you can't edit the auto-generated MIF and invoke this feature to update the programming file with the new memory contents. You must edit your HDL and recompile.