ECE354 - Computer Systems Lab II (New edition for Spring 2017)

A designer knows that he/she has achieved perfection in design not when there is nothing left to add but when there is nothing left to take away - Antoine de Saint-Exupery 

Course Info


Some Mondays & Wednesdays (Check schedule) at 2:30 PM (Duration - 1:15 – 2 hours)


Lectures: Engineering Lab I room 306, Lab: Duda Hall


ECE353 - Computer Systems Lab I


Prof. Csaba Andras Moritz, Office Hours: Wed 11:30 AM to 1:30 PM or by email appointment; office is in Knowles 2nd floor (next to elevator).

Recommended Text:

Marilyn Wolf: Computers as Components 3rd edition, Morgan Kauffman Publishers, 2012.

Course Administration:

Please go through the slides carefully for details regarding administration, rules, and requirements. Lab reports to be submitted through Moodle. Use Piazza for discussions and questions (

Grad TAs:

Sachin Bhat (
Sourabh Kulkarni (

Undergrad TAs:

Niket Gupta (
Peter May (
Jonathan Yam (

TA Office Hours:





11 AM – 1 PM
1 PM – 4 PM
4 PM – 5:30 PM

Peter May
Jonathan Yam
Sourabh Kulkarni


11:30 AM –  1 PM
1 PM – 3 PM
3 PM – 5:30 PM

Jonathan Yam
Sourabh Kulkarni
Sachin Bhat


10:30 AM – 2:30 PM
2:30 PM – 4 PM
4 PM – 5:30 PM

Peter May
Sachin Bhat
Niket Gupta


11:30 AM – 1 PM
1 PM – 4:30 PM

Jonathan Yam
Niket Gupta


11:30 AM – 2 PM
2 PM – 4 PM
4 PM – 5 PM

Sourabh Kulkarni
Sachin Bhat
Niket Gupta

Course Description

With the advent of low cost embedded systems, ubiquitous computing will soon be a reality. This course, which is being offered in a new redesigned format utilizing a state-of-the-art development board (first offering in Spring 2017), focuses on rapid prototyping of embedded systems using novel System-on-Chip (SOC) FPGAs and sophisticated development tools for both software and hardware design. Students gain hands-on experience working with state-of-the-art Altera DE1-SOC boards which integrate an ARM-based hardcore processor system (HPS) consisting of processor, peripherals and memory interfaces tied with the FPGA fabric. The FPGA fabric allows custom hardware designs to be mapped as well as it can accommodate an Altera NIOS softcore microprocessor. In the process of designing systems with these boards, students get familiar with software tools like Quartus Prime, Qsys, Nios II IDE, ModelSim and Altera Monitor program. The labs involve interfacing external modules with the boards, implementing image processing algorithms in software, implementing a data compression algorithm in hardware using Verilog and decompression algorithm in software using C. Hence it is expected that the students are acquainted with basic digital design, and have a good grasp of languages such as Verilog and C before taking this course. 

Course Objectives:

·       To understand the principles of Embedded Systems and the tradeoffs which guide the hardware-software partitioning of any design.

·       To develop embedded software and hardware, including reusing existing components.

·       To prototype, debug and demonstrate embedded systems combining modules, interfaces, computation, memory.

·       To evaluate and document laboratory processes and products.

Course Design/Acknowledgements: The course has been completely redesigned including new hardware, tools and projects. The team involved in redesigning the lab course for Spring 2017 consists of Prof. Csaba Andras Moritz, and students Sachin Bhat, Carl Senecal, Omid Meh, Sourabh Kulkarni and Sam Baldwin (involved only in board selection process).

If interested, please review the key aspects: (i) What others do; (ii) Altera’s FPGA boards - comparison; (iii) DE1-SoC board (our selection).

Student Feedback on the course:
It is consistently one of the highest rated courses in the department.

UMass Calendar: