ABSTRACT

Reuse is an established technique in modern design methodologies to reduce the complexity of designing a system. Design reuse complements a design methodology by providing precharacterized components that can be put together to perform the desired function. Together with abstraction and refinement techniques, design reuse is at the basis of such methodologies as platform-based design [1-3]. A platform consists of a set of library elements, or resources, that can be assembled and interconnected according to predetermined rules to form a platform instance. One step in a platform-based design flow involves mapping a function or a specification onto different platform instances, and evaluating its performance. By employing existing components and interconnection structures, reuse in a platform-based design flow shifts the functional verification problem from the verification of the individual elements to the verification of their interaction [4,5]. This technique can be used at all the levels of abstraction in a design in order to come to a complete implementation.