Combinational Design -- Designing Library Components -- Design Reuse -- HDL Based Design