1. A method to design a semiconductor product, the method comprising the steps of: (a) selecting an application set, the application set comprising a description of a partially manufactured semiconductor slice having a plurality of physical resources of at least a transistor fabric, the application set further comprising a plurality of shells representative of a plurality of logical resources corresponding to the physical resources of the slice, and further comprising the necessary tools to further develop the slice into the semiconductor product; (b) reading a customer requirement comprising the desired configuration of the semiconductor product; (c) storing the description of the physical resources of the slice in a resource database; (d) allocating a portion of the transistor fabric to the customer requirement; (e) generating any required RTL and/or synthesis scripts necessary for the allocated transistor fabric; and (f) verifying that the allocated transistor fabric and the generated RTL and/or synthesis scripts meet a plurality of standards set forth by the plurality of shells.