Question: Need help on making a logic unit with memory on Multimedia Logic. Below are the requirements. You will build a logic unit. The register stores
Need help on making a logic unit with memory on Multimedia Logic. Below are the requirements.
You will build a logic unit. The register stores a 4-bit binary number. The user uses a keypad to enter a 4- bit input number, along with two toggles switches that specify the operation. When the user presses a store button, the input number is either STOREd directly (0b00), ANDed (0b01) with the register and stored, ORed (0b10) with the register and stored, or the register is INVERTed (0b11) and stored in the register while ignoring the input number. So, if the user has input 4 (0b0100), the stored number is A (0b1010), the circuit is set to OR (0b10) and the user presses the Store button, the stored number becomes E (0b1110), and the circuit is now waiting to perform the next operation. Similarly, if the user has input 4, the stored number is A, the circuit is set to AND (0b01) and the user presses the Store button, the stored number becomes 0, and the circuit is now waiting to perform the next operation.
Well need:
Various devices for user input/output.
A 4-bit inverter, AND, OR.
A 4-bit, 4-way MUX (selector)
A 4-bit register, to store our value.
INPUT/OUTPUT:
There are four inputs to this lab: A numeric keypad, two toggle switches to select the operation, a button perform the operation and store the result, and a button to clear the value in the register. The keypad lets the user enter one hexadecimal digit, and outputs the corresponding 4-bit binary number. The Perform Operation and Zero Register buttons are momentary pushbuttons. Perform operation completes the operation and captures the value into the register. The zero register button is used to force the register to all zeros (note that MML treats flip-flops correctly and their internal states are unknown at startup). The outputs on the front page includes two seven-segment displays to show the keypad input and the contents of the register in hexadecimal.
REGISTER:
You will need to build a register to store the current value. Recall that a register is several flip-flops, each of which is capable of remembering or storing a single bit of information. Setting up a flip-flop in MML is a bit complicated. Refer to the starter_parts.lgi file on CANVAS to see an example of a working flipflop. Youll have to adjust our example to connect it to the rest of your circuit. The register will be 4 bits wide. This means that you will need 4 flip-flops for storage. These flip-flops will be controlled by the user inputs. The Perform Operation input should update the registers contents, and the Zero Register input should clear the registers contents (that is, set each bit to zero).
MUX SELECT:
You will also need to build a 4-bit, 4-way multiplexor. We very strongly recommend building a 1-bit, 4- way multiplexor and testing it thoroughly, and only then copy it 4 times. Give yourself some debug tools and connect the inputs and outputs up to LEDs or 7 segments so that you can verify its operation. Your full 4-bit mux should have 18 inputs one for each of the 4 bits of the logic operations, plus two for the select signals. It is important to note the MSB (most significant bit) and LSB (least significant bit) of the select according to the operations defined earlier. 0b10 has 1 for the MSB and 0 for the LSB.
LOGIC OPERATIONS:
We will perform each operation either on the input only (STORE), the stored number only (INVERT) or the input and the stored number (AND, OR). It is suggested to make separate page for each of the three logic operations (INVERT, AND, OR). The AND and OR design will have two operands of 4-bits, so 8 input bits and 4 output bits. The INVERT design will have 4 inputs and 4 outputs
ive already completed the first page input and output so you can ignore that. thank you.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
