Homework 3: Let’s SCRAM!

Homework is important practice for you, but it’s not graded so you don’t have to submit it. This particular homework is designed to help you understand (in detail!) the SCRAM architecture we discussed in lecture.

Fix the SCRAM!

The SCRAM as discussed in lecture and as described in the PDF handout available on Piazza is full of bugs. Your task for this problem is to fix the SCRAM which means you’ll have to hand in the following:

  1. A corrected block diagram of the SCRAM at the same level of abstraction as the block diagram in the PDF handout and the diagram we worked on in lecture.

  2. Corrected micro programs for the fetch cycle as well as for all SCRAM instructions except the HLT instruction.

  3. A narrative describing in detail the bugs you found, how you fixed them, and why your fix is the smallest possible correction within the parameters you were given.

You do not have to provide detailed gate-level circuit diagrams for anything, the block-level diagram is good enough. However, if you require a new circuit somewhere, you should at least explain how it is built in principle.


The micro-programs for all SCRAM instructions as well as the narrative you’re required to write should go into a plain ASCII text file called README. The block diagram should go into a scram.pdf PDF file.