6.375 Final Project Ideas

Spring 2006

The most difficult part of any digital system design is having a complete and accurate specification of the intended functionality. We are providing two standard projects (an SMIPS microprocessor and a non-blocking memory system) with associated testbenches that you can choose for your class project. For these two standard projects, there are a number of directions you can choose to take. Information on non-standard projects is listed at the bottom of this page.

SMIPS Microprocessor

The SMIPS microprocessor is based on the infrastructure you used in the labs. We will compare your different designs for performance, power, and area. Here are some example ideas you might consider for your course project:

Non-blocking Memory System

The second standard project is a non-blocking memory system. The test rig will supply a stream of memory requests each tagged with an identifier, and the memory system can return these requests out-of-order (this is also the interface the project SMIPS uses to talk to memory). Your memory system will include some form of cache and will drive a DRAM main memory.

Non-Standard Projects

Students who would like to work on a non-standard project must develop their own specification and testbench. Students working on non-standard projects should schedule time to meet with the instructors several days before the preliminary proposal is due. During this meeting, the group should be prepared to discuss the algorithm or specification for the non-standard project, as well as the existing reference code which will be used to build an appropriate test rig. The instructors will review the non-standard project and determine if it is appropriate for the course. Students should not submit non-standard project proposals unless they have met with the instructors and received approval.