Final Project Outline
Proposal March 3rd
Architecture March 17th
Logic Design March 31st
Demonstration April 26-28th
Final Project Report April 29th
Presentation April 28th
The proposal should be a one to two paragraph description of what you intend to design for your project. You should also indicate how the project would be partitioned between the members of your team. You can not have more than two members in your team. Sample projects include:
- Video game controller – something simple like pong or life
- Floating point adder or multiplier
- Memory controller
- Cache controller
- Virtual memory controller
- Simple RISC processor
- Shared memory bus controller
- Sorting engine
The architecture of the project should include state machine design if appropriate, identification of functional blocks, and a more clear definition of roles for the team members. The architecture report should include a diagram detailing the main functional blocks in the design. You should also include brief descriptions of each functional block as well as any special design requirements for that particular block. For example, if you are designing a cache controller for 1 GHZ processor, you may require that you can respond to memory requests in 4 clock cycles. If you are implementing any special algorithms such as for a multiplier or a sorting engine, this architecture document should identify those as well.
The logic design will take your architectural specification and translate it to logic specification. You can identify reusable components at this point. For example, you may have a full-adder that is reused several times in a simple processor. You should hand in logic diagrams or functions for each of the functional blocks defined in the architecture document. Include an estimate of the number of transistors required to implement this logic design.
Final Project Report
The final report should be a combination of the proposal, the architecture document, the logic design, the final layout schematic, and simulation and testing results. Note, that the architecture and the logic design may have changed as you progressed through your design. The layout may be the most time consuming part of this project. So get started on this well ahead of time. It may be worthwhile to layout some parts of the project even before the logic design is done. You need to hand in only the layout diagram for the entire chip. Mark out the functional blocks on the layout schematic. Testing your chip will be specific to your particular project, but make sure you have submitted enough information to convince me that you have fully tested the design. This may include simulation results with a set of test vectors for the whole chip or individual functional blocks.
Each team will be required to demonstrate the project to me at some point to verify that the chip is functioning. Demonstrations will be scheduled during the last week of class – from April 26th to 28th.
Each team will give a 10 minute presentation of their project in the final class. Each team member will individually present their portion of the project.