Question: SoI need help with assignemnt 3 but I will provide assignemnt 2 as context, and Note: In 2 , I got 0 / 1 beacasue

SoI need help with assignemnt 3 but I will provide assignemnt 2 as context, and Note: In 2, I got 0/1 beacasue I was told "why are you using the built-in counter? I specifically said not to do that, continue from prior assignment. We can't use the built-in counter for following assignments"soin assignent 3noin built counter but this is it: Continuing from assignment 2, we now want to be able to read the stored values from the ram (instruction memory), decode the values, and control some logic based on that decoding.
Specifically, lets use a specific bit of the ram output to switch a multiplexer between displaying two constant 4-bit values.
Steps:
a) Remove the random generator from the ram input, and set the 'str' pin to ground. We will only be manually modifying the content of the this ram from now on, and thus don't need the input to be connected anywhere.
b) Add a bus splitter to the ram's output to extract bit '2' from it. How do we do this? It's a single bit we want. Remember that bit '0' is the least significant bit (LSB).
c) Add two 4-bit 'constant' modules to your circuit, and set one to the value 0xE and the other to 0x6.
d) Add a 2-way 4-bit multiplexer to your circuit (hint: set its "select bits" to 1, and its "data bits" to 4). And to make things easier set its "include enable" field to 'No'. Connect your two constants to its 2 input buses, 0xE to input0 and 0x6 to input1. Connect the multiplexer's "select pin" (the one with a dot next to it) to the bit you extracted in step (b) above.
e) Add a hex display, and connect it to the output of the multiplexer.
f) Finally, modify the content of the ram (by right clicking on it and selecting "edit content") to generate the following sequence on the output when the clock is enabled and the program counter starts incrementing from zero: E,6,E,E,6,E,E,E,6. Make sure your circuit is not overwriting the ram content when the counter advances. aslo this was assignemnt 2. just noin built counter lets create a "memory walker", which stores random values to consecutive addresses in a Ram.
Steps: A) Add a Ram unit (available under the "Memory" group) to the simulation area. Configure it to have 16 address bits, and 8 data bits, and to have separate load/store ports. B) Change the counter we designed in last assignment to have 16 bits instead of 8 bits (what needs to change for this?). You can remove the hex displays at the counter output, or expand them to cover the 16 bits. C) Connect the output of the counter to the Address bus of the Ram. D) Add an 8-bit Random Generator (under "Memory") to the circuit and connect its output to the data Input of the ram. Don't forget to connect the clock generator to all units that need it. Set the write signal on the Ram to "high", so that data will be written to it.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!