Final Project




            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.


Logic Design


            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.



            Architecture        15

            Design                20

            Layout                30

            Demonstration    20

            Complexity         10

            Presentation        5

                                       100 points