A design function with well-defined interfaces.
a design block for a specific chip that handles a well-defined piece of functionality
A block of logic or data that can be used in making application-specific integrated circuits (ASICs) and field programmable gate arrays (FPGAs)