Computer Systems Lab II (Spring 2019)
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
Mondays & Wednesdays (Check schedule) at 2:30 p.m. (Duration - 1:15
– 2 hours)
Marston Hall room 132, Lab: Duda Hall
- Computer Systems Lab I
Prof. Csaba Andras Moritz,
Office Hours: Tue 11:30PM-12:30PM, Th 11:30PM-12:30PM, or by email
appointment; office is in Knowles 2nd floor (next to elevator).
Wolf: Computers as Components
3rd edition, Morgan Kauffman Publishers, 2012.
(course information and lab instructions).
Please go through the slides
carefully for details regarding administration, rules, and requirements.
Sourabh Kulkarni (firstname.lastname@example.org)
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
To understand the principles of Embedded
Systems and the tradeoffs which guide the hardware-software partitioning of
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.
on the course:
is consistently one of the highest rated courses in the department.
The team involved in redesigning the course for Spring 2017 consists of
Prof. Csaba Andras Moritz, Sachin Bhat, Carl Senecal, Omid Meh, Sourabh
Kulkarni and Sam Baldwin (involved in board selection process).