8.3 Logic Synthesis Techniques