Part Ⅰ Circuits Models 1 Introduction 2 Background 3 Hardware Modeling Part Ⅱ Architectural-Level Synthesis and Optimization 4 Architectural-Level Synthesis and Optimization 5 Scheduling Algorithms 6 Resource Sharing and Binding Part Ⅲ Logic-Level Synthesis and Optimization 7 Two-Level Synthesis and Optimization 8 Multiple-Level Combinational Logic Optimization 9 Sequential Logic Optimization 10 Cell-Library Binding Part Ⅳ Conclusions 11 State of the Art and Future Treods