CS/ECE561 -
Hardware/Software Design of Embedded Systems
Fall 2011

Homework Assignments
All homework assignments must be completed
individually. You can discuss with others, but ultimately the work
should be your own. Try and show all the steps used to arrive at
your solutions. Late submissions will not be accepted.
| |
Topic Area and Resources |
Date Posted |
Due Date |
| 1. |
|
|
|
Assigned Embedded System Projects
| |
Project Description |
Students |
Final Presentation |
| 1. |
|
|
|
Project Logistics and Details
Embedded System Design: In this project, you have to
explore some facet of embedded system design. Your project can
involve developing a piece of software, or an analysis of some
challenging aspect of embedded system design. I have listed some
potential topics below, but you are free to suggest other topics as
well, as long as they pertain to embedded systems in some way. In
addition to developing any software/hardware demo you must also
write a report
no more than 6
pages long, A4 single-spaced, two-column, 10pt font text, in
standard IEEE format. Microsoft Word and Latex templates can be
found
here. The project can be done individually or in groups of two.
The key to doing well on this project is to do a project related to
any research, development, or design work you are doing at CSU or at
your company related to embedded systems. Other keys include getting
started as soon as possible, finding a fun topic, and recruiting a
good partner. An interim report (can be a working draft) for this
project will be required mid-semester for me to assess your ongoing
work and give you feedback. Just like the literature survey, a
benefit of doing well on this project is that you might produce work
that can be published in a conference or a workshop. If your project
paper is deemed worthy of being published in an IEEE conference or
workshop, you will automatically get an A+ at the end of the course.
In addition, the best project will also get an A+ grade at the end
of the course. A 1 page project summary is required by Sep 2 for approval,
before beginning work on the project.
Sample Topics:
- Explore Memory Architectures
for Multiprocessor Architectures: Memory is a
performance bottleneck and also consumes a large amount of
power in multiprocessor embedded systems. Use a
multiprocessor simulation environment (refer to the
resources page) to explore
different memory organizations for the cache and on-chip
memory (sizes, associativity, levels of hierarchy, etc.) to
improve performance and power dissipation (use CACTI for
power estimation of memories; refer to the
resources page) in the system
for different benchmarks.
- Explore Network on Chip (NoC)
Protocols: The performance and power dissipation of
the on-chip communication network depends heavily on the
protocols chosen. Use an existing NoC simulator (refer to
the resources page) to explore
different packet sizing, switching, routing and/or
arbitration protocols and quantify their impact on overall
system performance, and/or power for different benchmarks.
- Explore Fault Tolerant
Communication Techniques: Dynamic packet routing
techniques are used to overcome faults in communication
networks on a chip. Use an existing NoC simulator (refer to
the resources page) to explore
different routing schemes and their suitability to work
correctly in the face of varying amounts of faults on the
links, and switches for different benchmarks.
- Build a NoC Simulator:
Develop a simulator for Network on Chips (existing
simulators have several limitations, for instance a limited
ability to capture different topologies) in SystemC or
C/C++. The simulator should be configurable and be able to
support different switching, routing, arbitration, topology,
and flow control schemes. Refer to existing simulators as a
starting point from the resources
page.
- Build an Embedded
Systems Application: Develop a tangible application
that requires an embedded system at its core. This could be
an FPGA based robotics applications, distributed network of
embedded devices, a mod of an existing embedded device, or
anything else that you can think of that will have you
working on both the hardware and software design aspects of
the application. See some of the sample projects below from
last semester. Here are some resources for those who are
interested in building an embedded system:
- Embedded System Design Case
Study: You have to
conceptually design an embedded system from scratch and write a
report on it. You don't actually have to create the embedded system,
but rather analyze the whole design process. The goal here is to
develop an appreciation for all the steps required to create an
embedded system. You should start from the initial specification
(what should the embedded system do?), and then go through the steps
of choosing how to implement the functionality (what goes in
hardware and what in software?), choosing the right components
(which processors, memories, peripherals to use? what are the
trade-offs?), choosing which hardware or software optimizations to
employ (should you optimize for power? performance? reliability? a
mix of these? etc.) and finally estimating the cost of the system
(based on component costs), and describing it's impact. The idea is
to develop an embedded system that is different from what's
available in the market, and does something that existing systems
are not able to, filling a need in one or more application domains
(e.g. consumer, medical, automotive, defense, etc.). How will your
system fit a need that exists today, or will exist in the
future? You should be able to clearly explain how viable
your design choices are, and what is the motivation for
choices that you make at every stage of the design process.
Note: this project is a last resort selection, and since
the work required is not substantial, your grading will take
that into consideration. So you can expect a lower grade for
the project, compared to other alternatives.
Sample Projects (from Spring 2009
and Fall 2009):
-
Evaluating Task Scheduling for an FPGA based Embedded Linux
System [pdf]
-
Embedded Home Security System [pdf]
-
Novel Hybrid Photonic Network-on-Chip for Emerging Chip
Multiprocessors [pdf]
- Dynamically Adaptive Inverted Pendulum Platform [pdf]
(Winner of 2009 NASA Space Grant Symposium)
- Roving Wireless Sensor Network [pdf]
- Interactive Teaching Guitar [pdf]
-
Software partitioning technique for an RF matching network
on an embedded system [pdf]