1. A method for composing memory on a programmable platform device comprising the steps of: (A) accepting information about a programmable platform device comprising one or more diffused memory regions and one or more gate array regions; (B) accepting predetermined design information for one or more memories; and (C) composing one or more memory building blocks (i) in said one or more diffused memory regions, (ii) in said one or more gate array regions or (iii) in both said diffused memory and said gate array regions based upon said predetermined design information and said information about the programmable platform device.