Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions site/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ Office Hours
labs/arithmetic-logic/arithmetic-logic
labs/comparisons/comparisons
labs/decoding-instructions/decoding-instructions
labs/decoding-instructions/decoding-instructions-registers



Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
*****************************************
Bit Patterns, Instructions, and Registers
*****************************************

* Feel free to use your laptop
* You are strongly encourage to work with others

* When you get stuck, ask those sitting around you for help
* Get used to working together in the labs
* Peer teaching and peer learning has been empirically shown to be very effective


For these questions, feel free to use a single Digital workspace for all the circuits. However, label each circuit with
labelled rectangles. These are components that can be found under **Components -> Misc. -> Decoration -> Rectangle**.

Where possible, each question should have complete tests. The test component can be found under
**Components -> Misc. -> Test case**. Once a test component is placed on the workspace, right click on the component to
edit the test data.

Questions may have restrictions on the logic gates that may be used. When restrictions are stated, they only apply to
the gates; inputs, outputs, wires, etc. may be still be used.


Prepare
=======

#. If not already completed, finish the design from the previous lab



Registers
=========

#. Modify the design such that the values do not come from 8 bit inputs, but from registers

* This will be similar to assignment 3
* The updated design should include eight 8 bit registers
* Two sets of 3 bit values will be used to specify the two registers the values should be retrieved from
* The design will have 1 output
* This new design will have a total of 10 inputs

* One 1 bit input specifying ALU or comparator
* One set of 3 bit inputs specifying an operator
* Two sets of 3 bit inputs specifying the sources of the two inputs to the ALU/comparator


#. Modify the design such that the result is not only output, but saved to a specified register

* This design will have 1 output
* This design will have 13 inputs

* The same 10 inputs discussed above
* An additional 3 inputs specifying which register the output should be saved to