This course will introduce motivation, design and use of modern System-on-a-Chip (SoC) architectures and systems. It provides hands-on coverage of the breadth of computer engineering within the context of SoC platforms from concepts to silicon, including design decision making, tradeoffs, hardware-software codesign and all steps of SoC system design (RTL to GDSII). Major SoC components such as on-chip memories and communication networks, and major interfaces such as security interfaces, multimedia interfaces, power interfaces, sensor interfaces will be discussed. Modern heterogeneous SoC platforms that are widely used in industry such as Xilinx FPGA, ARM SoC, Intel FPGAs, AI accelerators and more will be presented. Students will get opportunities to work with some of the most popular SoC platforms and gain practical design experiences through labs and exercises.
Flynn, Michael J., and Wayne Luk. Computer system design: system-on-chip. John Wiley & Sons, 2011. (Required)
VE370 or VE373 or VE427
- To teach students how System-on-Chip evolves and the landscape of SoC architectures;
- To teach fundamentals of designing system-on-chip, from the high-abstraction level and refine it down to the implementation;
- To teach design tradeoffs in SoC design processes and key design metrics;
- To teach students state-of-the-art SoC architectures such as reconfigurable processing systems and heterogenous systems;
- To give students an exposure to state-of-the-art design methodologies and platforms through hands-on assignments and/or a project that will design, optimize, and program a modern System-on-a-Chip;
- To introduce students the most recent SoC development such as 3D integration and hardware acceleration.
Fall 2021, 2022, 2023