Question: This assignment covers the different variants of memory: SR Latch, Level - Sensitive SR Latch, D Latch, D Flip Flop, Register. In this assignment you
This assignment covers the different variants of memory: SR Latch, LevelSensitive SR
Latch, D Latch, D Flip Flop, Register.
In this assignment you will create each of those memory variants as a circuit by reusing
the previous one. Ultimately, you will create your own bit register.
Tasks
The goal is to create an bit register from scratch, using only the three basic logic gates
inverting inputs of AND, OR gates is allowed, since this simply adds a NOT gates in
front of the respective input; also a NOR gates OR and NOT gate chained together
are okay to use
Important:
Use the slides as reference for the circuits you have to create. You do not need to
research anything outside of the course material.
You are not allowed to use any of the builtin components in Logisim, except one
bit register in the mainverification circuit. Note: Gates, wires, splitters, inputs,
outputs, clocks are considered wiring components and can be used!
The output Q or t inverted value of the stored bit is not necessary for this
assignment. Feel free to omit it If you are adding Qt as an output optional
make sure to use the correct output when using it as a subcircuit somewhere else.
Use the following labels:
S R Q for SR latch and additionally C for levelsensitive SR latch
D C Q for D latch
D Clk Q for D flip flop
i Q Clk for the register
Place the clock only in the verification circuit and pass it into the other components
that need it Elsewhere, use a regular input.
Initially, the SR latch may give you an error on the output side of the circuit. This
is expected since the output is undefined as long as the latch was not set or reset.
Once it was set or reset, the error should be gone until the simulation is reset
Logisim was restarted.
Create a subcircuit called SRLatch" and add the circuit for the SR latch.
Create a subcircuit called "LevelSensitiveSRLatch". Add SRLatch" as sub
circuits and the required circuit around it to create a levelsensitive SR latch.
Create a subcircuit called DLatch". Add "LevelSensitiveSRLatch" as sub
circuits and the required circuit around it to create a D latch.
Create a subcircuit called DFlipFlop". Add DLatch" as subcircuits and
the required circuit around it to create a D flip flop.
Create a subcircuit called "Registerbit". Add DFlipFlop" as subcircuits
and the required circuit around it to create an bit register. Use one bit input
and one bit output. You will have to use splitters to connect everything to the
inputoutput
Create a subcircuit called "Registerbit". Add two "Registerbit" as subcir
cuits and the required circuit around it to create an bit register. Use one bit
input and one bit output. You will have to use splitters to connect everything
to the inputoutput
Create a verification circuit with the name "MemoryTester" or you can rename
the "main" circuit Add your "Registerbit" and one instance of the Logisim
builtin bit register can be found in folder "Memory"; make sure to change the
data width accordingly Create one bit input label: i and connect it to the two
registers in parallel. If both registers are connected in parallel, they share the same
inputs, but have each their own outputs. Note: The builtin register needs a clock
to work same as the one you created. Hover over each connector of the register,
to find the clock input. The "clear" and "enable" inputs can be left unconnected
for this assignment.
For the clock input in the verification circuit: You can either use a "manual clock"
simple bit input and toggle it by hand or use the element "Clock" can be found
in folder "Wiring" To enable the clock element, go to "Simulate" and click "Ticks
Enabled". Make sure to adjust the "Tick Frequency" to an appropriate slow speed
that allows you to compare your register to the builtin one eg Hz or Hz
Alternatively, you can also manually toggle the clock in the same way as a regular
bit input.
The stored bit number of the register is supposed to be displayed on hex displays.
Since one hex display can only show one group of bits, the bit register output
needs to be split into two groups of bits using a splitter one group should have
bit and the other bit Then each of these two bit groups can be connected
to a hex display hex displays total per register Make sure to position the hex
displays so the group with the MSB is on the left side and the group with the
LSB is on the right side. Do this for both registers once for the register you built
yourself, a second time for the Logisim builtin register
Test your verification circuit created in the previous step to confirm that both
registers behave exactly the same hex displays show the same value and change
at the same time
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
