1. A process for mapping a user-defined memory design to memories of a base platform for an IC that contains a plurality of memory sets, each containing a plurality of memories, the process comprising steps of: a) selecting an optimal memory set from the plurality of memory sets for the design, and b) optimally mapping the design to a plurality of memories of the selected memory set.