Skip to content
September 2026 qualifier: applications close Sun 27 Sep · Week 1 starts Fri 2 Oct
Qualifier Hub

IITM BS Embedded Linux and FPGAs (EE3102): Syllabus and Tips

By Editorial TeamLast reviewed

5 min readElectronic Systems
On this page

Embedded Linux and FPGAs is a 4 credit degree level core course in the IITM BS Electronic Systems programme. It is about chips that put an ARM processor and FPGA logic side by side, using the Zynq family. You build custom hardware blocks, run Linux on the processor, write drivers for your blocks and speed up programs by moving work into the FPGA. The handbook lists no prerequisite, and a 1 credit lab goes with it.

CodeCreditsLevelPrerequisites
EE3102 in the syllabus, EE4101 in the handbook4 (4-0-0-4)Degree, coreNone listed

The syllabus names Prof. Nitin Chandrachoodan, Department of Electrical Engineering, IIT Madras, as the instructor.

The EE3102 code clash

The Sep 2025 syllabus uses the code EE3102 for two different courses: this one and Control Engineering. The ES handbook gives this course the code EE4101 and keeps EE3102 for Control Engineering. Both are 4 credit courses, so check the course name, not the code or credits, when you register.

What you learn in Embedded Linux and FPGAs

The syllabus has 7 modules with no week numbers. They group into four parts.

  1. Modules 1 and 2: the hardware side. How a Zynq chip is laid out, how the processor side (PS) and the FPGA side (PL) talk to each other, and the design tools. Then high-level synthesis, which turns code into hardware blocks, the AXI bus that connects those blocks, and building your own IP cores.
  2. Modules 3 and 7: the Linux side. How Linux boots on Zynq and how to change that process, device trees, and writing Linux drivers for your custom blocks. Later you write kernel modules, use Userspace I/O (UIO) drivers and tune the whole system.
  3. Modules 4 and 5: making things faster. When it is worth moving work to the FPGA, how to move data between PS and PL, DMA transfers and parallel processing. Case studies cover image processing, signal processing and machine learning. You also learn to profile, benchmark and find bottlenecks.
  4. Module 6: real-time design. Timing limits in embedded systems, how to split an algorithm between processor and FPGA, and how to simulate and debug the two parts together.

The textbooks are "The Zynq Book" by Crockett and others, which the syllabus notes is a free PDF from its official site, and "FPGA-based Implementation of Signal Processing Systems" by Woods and others. References include "Parallel Programming for FPGAs" by Kastner and others, and "Linux Device Drivers" by Corbet, Rubini and Kroah-Hartman, both available free online.

The lab and how the course is assessed

The handbook pairs this course with the Embedded Linux and FPGA Lab (EE4901), worth 1 credit. Its two tables disagree on whether the theory course must be passed before the lab or can run in the same term. The study plans show 1 day on campus for this lab. The Sep 2025 syllabus has no separate entry for the lab, so its experiments are not described. See how ES labs work.

The syllabus does not describe grading for the theory course. The handbook's general pattern is weekly online assignments, two in-person quizzes and an in-person end term exam.

Where it counts

Both the course and its lab are degree level core, so every ES student needs them for the BS degree. The handbook lists just 1 lab at the degree level, and this is it. The course is not part of any minor. The full core list is in ES degree level courses.

Who finds it hard and how to prepare

This course sits between hardware and software. Students strong in circuits but weak in C and Linux struggle with drivers. Students strong in code but weak in digital design struggle with IP cores and AXI. Most people are weaker on one side.

  • Revise Digital System Design. It covers Verilog, FPGAs, bus protocols and SoC ideas, and it has the same instructor listed.
  • Revise Embedded C Programming, especially pointers and writing to hardware registers.
  • Get comfortable in the Linux shell: building code, reading logs and loading modules.
  • Read the first chapters of The Zynq Book before the term. It is free.
  • When you speed something up, always time the data transfer as well as the compute. A fast block with slow data movement gives little gain.

Common questions

Do I need to buy an FPGA board?

The syllabus does not say. The handbook lists a lab with 1 day on campus, but not what hardware you need at home. Ask the course team before you buy anything.

Is this course the same as Digital System Design?

No. Digital System Design is a diploma course on Verilog and FPGA design. This degree course adds Linux, drivers and splitting work between a processor and FPGA logic on one chip.

Can I take the lab in a later term?

Yes, under both handbook tables. One makes the theory course a prerequisite of the lab, the other a corequisite. Both allow the lab after the theory course. Neither allows the lab in an earlier term than the theory course.

Official sources

All posts in Course guides

Was this page helpful?

Share with your study group:WhatsAppTelegram