semiconductor packaging techniques for combining multiple components into a single package to function together