Explanation : Pipelining is a method to execute a program
breaking it in several independent sequence of
stages.
In that case pipeline stages can’t have different
delays, no dependency among consecutive
instructions and sharing of hardware resources
should not be there.