This text outlines an effective methodology for creating reusable designs for use in a System-on-a-Chip (SoC) design methodology. It is an attempt to capture and improve on current practices in the industry, and to give a coherent, integrated view of the design process.