Fall Hours • COVID-19 Update
The Silicon Valley Campus is open 4–9:30 p.m. on Monday–Friday and 8 a.m.–5 p.m. on Saturday.
Embedded Design with Xilinx FPGAs | EMBD.X402
This hands-on course will introduce you to the world of embedded microprocessor design using field programmable gate arrays (FPGAs). Combining the FPGA fabric with the popular ARM 9 processor cores, it opens up many possible applications with integrated custom peripherals and significant cost/time advantages in design. The course uses the Xilinx Zynq product family including two soft core processors, Picoblaze 6 and Microblaze MCS, and Virtex 7 fabric.
The course begins with an architectural overview of the FPGA family and follows with an in-depth look at the ARM 9 cores. Along the way, you will use the Vivado Design Suite and software development kit (SDK) to develop your code, as well as the cross assembler. The SDK supports both C and C++ compilers with debug facilities. We will use real-world design examples, as well as former students’ projects, to share the creative ideas that this design framework can offer. You will also learn practical approaches to debugging and simply 'bringing the system up'. A project report is required at the end of the course, with an optional student presentation during the final class for extra credit.
At the conclusion of the course, you should be able to:
- Describe the Vivado/Xilinx SDK design/programming environments
- Discuss capabilities and limits of FPGA SoC embedded designs
- Explain the detailed steps to creating and building a successful embedded SoC system
- Identify FPGA speed limits and embedded processor performance limits
Notes: Students are required to purchase a Zynq-based board for their project (approximately $100, not included in the tuition). Detailed board information and instruction will be provided on the first night of class.
Skills needed: Understanding and experience with basic FPGA design. C or C++ programming experience is required.
- Save your seat and help us confirm course scheduling. Enroll at least seven days before your course starts.
- ACCESSING CANVAS—Learn more about accessing your course on Canvas in our FAQ section.
Course Availability Notification
Please use this form to be notified when this course is open for enrollment.