This course will provide an understanding of the fundamental building blocks of a digital system and the concepts, issues, and process of designing highly integrated System on Chip using Field Programmable Gate Arrays following systematic hardware/software co-design principles.