Students, in groups of 4, are presented with a design problem as well as various requirements and constraints. They then design, implement and test a solution. Their success are based on the performance of the design and other self-selected innovation.
Emphasis is placed on a hardware-software codesign solution.
Hardware is implemented as a Verilog description synthesized to an FPGA and software is implemented as C code compiled to a microcontroller. Interface and memory heirarchy issues are left open to the students.