This is the first book of a two-volume book set which introduces software defined chips. In this book, it introduces the conceptual evolution of software defined chips from the development of integrated circuits and computing architectures. Technical principles, characteristics and key issues of software defined chips are systematically analyzed. The hardware architecture design methods are described involving architecture design primitives, hardware design spaces and agile design methods. From the perspective of the compilation system, the complete process from high-level language to configuration contexts is introduced in detail.