Designing Hardware and Software for Reuse | MenrvaBooks