HW10

Homework 10 is our final homework assignment. You may attempt this assignment in pairs or individually. You may not use late days for this assignment, but an automatic free extension is being granted: you may turn in the assignment up until 11:59 PM on the Friday of the last day of classes. The assignment must be submitted in hard copy. It should consist of printouts of the ".hdl" files described below.

Note that a significant fraction of class time for the last three classes will be available to work on Homework 10, and of course you can get individual help from the instructor during these classes.

Homework 10 consists of a hardware design project based on the first chapter of the book Elements of Computing Systems, by Noam Nisan and Shimon Schocken. All the necessary resources are available on this book's course page. You will need to:

  1. Download the necessary software from the software link at that site.
  2. Read Chapter 1 of the book (linked from the course page).
  3. Skim sections 1-6 of Appendix A (also linked from the course page).
  4. Complete Parts I, II, and III of the hardware simulator tutorial (search for "hardware simulator tutorial" at the software page.
  5. Now you are ready to begin the homework assignment, which is a portion of "Project 1" (also linked from the course page).

Grading of this project will be as follows:

  1. Not.hdl (10 points)
  2. And.hdl (10 points)
  3. Or.hdl (10 points)
  4. Xor.hdl (10 points)
  5. Mux.hdl (10 points)
  6. DMux.hdl (10 points)
  7. Optionally, for extra credit, you may complete some or all of the remaining .hdl files listed as part of the project (e.g. Not16.hdl, And16.hdl, etc.). Each correct .hdl file submitted will receive 5 points of extra credit. (But note that extra credit cannot be used to raise your homework score for the semester above 100%.)
  8. May I suggest that you continue on to Project 2? You will find it extremely interesting and worthwhile! (I can't offer extra credit for it, unfortunately.) In fact, I strongly recommend completing the entire course based on this book. You can do it on your own or as a formal online course via Coursera. Why not try it over the winter break? If you do, please let me know how far you got and what you think of the experience.
Total points on this assignment: 60