Be able to understand and apply hardware design knowledge into practical systems, can model, design, and implement specific systems according to specific requirements. More importantly, prepare oneself as a qualified engineer for life-long learning and catch up rapid trend in technology advancing. 1. Be able to collaborate and communicate with classmates for projects and homework. 2. Be able to use FPGA synthesis tools to design, synthesize, and implement large-scale hardware systems including use HDL for mapping processing algorithms into hardware architectures, test and validate the correctness of the hardware design, and implement the designs on FPGAs. 3. Understand and learn advanced computer arithmetic. 4. Be able to use memory-based techniques to design digital processing system. 5. Familiar with pipeline and systolic processing design skills. 6. Be able to design an application-specific hardware accelerator while taking care of the system constraints and requirements like processing time, power consumption, cost and size along with the possible trade-off considerations.