Assignment 1
Assignment 1
Stage 1
Outline:
- A JK Flip Flop
- A constant as an input for the JK Flip Flop
- Start/stop button wired to the flip flop’s input
- An LED connected to the outside of the flip flop
Description:
I used the start/stop button as a clock for the flip flop and a constant for
the input. I am able to toggle the on/off states and stay in that state until I press
the button again. The LED let me differentiate between two states.
Stage 2
Outline:
- A 4-bit asynchronous counter made of JK Flip Flop
- A single digit “Seconds” HEX display that counts
from 0 to 9
Description:
I made a rising edge counter using JK Flip Flop and used the Q bar of each
flip flop as the clock for the next flip flop. I am able to “count up” from 0-9 and
produce an expected outcome on the HEX display. The Q of my second and
fourth flip flops are wired to an AND gate which the output is wired to the RESET
input in all the flip flops.
Stage 3
Outline:
- Addition of another 4-bit asynchronous counter
- 2-digit “Seconds” HEX display, with the 2nd
display only counts from 0-5 and reset back to 0
- A working RESET button
Description:
In this stage, I added another counter with the concept as the first one
except that this counter should count values from 0-5. To do it, I wired the
output of the 2nd and 3rd flip flop to an AND gate which will outrule the outcome
of 6. In addition of the RESET button in this stage, I used the OR gate to reset the
display when the button is pressed. The RESET wiring of the first counter has
been also wired to the second counter’s clock, which will allow the second HEX
display to increase when the first display reaches 9 and resets to 0.
Stage 4
Outline:
- Addition of 2 4-bit asynchronous counters,
identical to the first counter of the “Seconds”
display
- Full 2-digits “Minutes” HEX display
Description:
For this stage, I used the same structure as the 2-digit
“Seconds” display. The wires of a counter’s reset input
will be wired to the next counter’s clock, allowing it to
increase when the previous counter has reached the
desired output and wrap back to 0 when it needed to.
Stage 5
Outline:
- A subcircuit named elapsed time
- A subcircuit named split time
- A working SPLIT button
Description:
For this stage, I made a subcircuit, put all the counters
to count the elapsed time in there, and put the subcircuit to
replace the counters for a cleaner look. For the split time,
I made 4 shift registers using D Flip Flop to shift each display
and repeat it for the rest of the displays. I also made the sub-
circuit for the split time.
Stage 6A
Outline:
- Addition of 5 split time subcircuits and HEX displays
Description:
In this stage, I added 5 more split time subcircuits and HEX displays for each
subcircuit. The new 5 split time will record the last split time when the button is
pressed in order from newest to oldest. If more than 5 split times is recorded, it
should forget the earliest split time recorded to make room.
Unresolved problem
I was not able to do stage 6B and 7 because of my unability to think of a way
and implement it.
Assumption made:
- My design is stable, consistent, and free of any errors that could effect the
accuracy of the stopwatch.
- There will be little to no delay in the stopwatch, but if there is, it will be
minor and will not affect the stopwatch significantly.