Milestone 4

1. Control Unit Design

The next step in the design process is to specify the control of your processor. The details of this step will depend on the design and complexity of your datapath. You may need several control units of different types to control your datapath easily.

For any simple combinational control units, you should provide a truth table relating the inputs to the outputs. For any FSMs, you should provide a state transition diagram or table.

However you choose to implement the control units, you should also specify how you plan to test their correct implementations. The control unit may be designed using Verilog.

Tip (seriously, read this): Add a reset control to initialize your processor to the appropriate values. (For multicycle, this will be a state node in the state diagram)

You should have all your parts implemented and tested according to your design document. You should also begin executing your integration plan. Good testing is key and will save you countless hours later!

You may modify your register transfer language specification during the control design phase, but not your assembly language or machine language specifications (unless you obtain instructor approval).

Remember to consider how your project will be evaluated. Maintaining good documentation is an important consideration, but creativity at this stage can still influence performance, area, and especially interestingness.

2. Turning in M4

For this milestone, submit the following:

Milestone 4
  1. An updated design document that includes the following
  1. Partial implementation:
  1. An updated design process journal.

  2. An updated individual itemized log of each member's work for the week and an estimated work time for each item. Each member is responsible for their own log.

  3. Your team should demo the Memory lab around the time this milestone is due. (But not during milestone meetings.)

Your (updated) design document and (updated) design process journals should be placed in the Design directory of your team's repository.

Your implementation files should be placed in the Implementation directory of your team's repository.

The names of your design document and design process journal should not change.