FPGA Design for Embedded Systems

University/Institute: University of Colorado Boulder





Description

The objective of this course is to acquire proficiency with Field Programmable Gate Arrays (FPGA)s for the purpose of creating prototypes or products for a variety of applications. Although FPGA design can be a complex topic, we will introduce it so that, with a little bit of effort, the basic concepts will be easily learned, while also providing a challenge for the more experienced designer. We will explore complexities, capabilities and trends of Field Programmable Gate Arrays (FPGA) and Complex Programmable Logic Devices (CPLD). Conception, design, implementation, and debugging skills will be practiced. We will learn specifics around embedded IP and processor cores, including tradeoffs between implementing versus acquiring IP. Projects will involve the latest software and FPGA development tools and hardware platforms to help develop a broad perspective of the capabilities of various Programmable SoC solutions. Topics include:\n\nVerilog, VHDL, and RTL design for FPGA and CPLD architectures\n\nFPGA development tools flow: specify, synthesize, simulate, compile, program and debug\n\nConfigurable embedded processors and embedded software\n\nUse of soft-core and hard-core processors and OS options\n\nFPGA System engineering, software-hardware integration, and testing\n\nIP development and incorporating 3rd-party IP\n\nThe capstone course will give the learner the opportunity to practice and implement the concepts covered by building FPGA systems based on low cost evaluation boards.