summaryrefslogtreecommitdiff
path: root/14.md
diff options
context:
space:
mode:
Diffstat (limited to '14.md')
-rw-r--r--14.md86
1 files changed, 86 insertions, 0 deletions
diff --git a/14.md b/14.md
new file mode 100644
index 0000000..04916f8
--- /dev/null
+++ b/14.md
@@ -0,0 +1,86 @@
+[\<- Flip-flops](13.md)
+
+# Sequential design using flip-flops
+
+## Concepts for sequential design
+
+### Picturing a sequence
+
+![diagram](14.1.png)
+
+### Sequential Design Concepts
+
+- The time from one rising edge of the clock to the next is called a cycle
+- With positive edge-triggered flip-flops, the output can only change at the rising edge of the clock
+ - The flop output (Q) is in a stable "state" for an entire cycle
+- The flop changes state depending on what's on the input (D) at the next rising edge of the clock
+
+### Using these concepts
+
+- Time (past, present. future) is viewed in terms of cycles
+- Inputs can change over time
+ - What matters is the input values "now"
+ - "Now: is the current cycle
+- The next state value, D, is a function of the current state, Q, and the current inputs to the circuit
+
+![diagram](14.2.png)
+
+---
+
+## Circuit that behaves like a T flip-flop
+
+### The T flip-flop
+
+- The flip-flop we have covered thus far is a D flip-flop
+ - It is the most common type of flip-flop, but we will also cover other types of flip-flops
+- A T flip-flop toggles (flips) state if T=1 at the rising edge of the clock
+ - How to implement this behavior with a D flip-flop?
+ - Need to define logic to generate the D input of the flop as a function of the control signal (T) and the flop's current state (Q)
+ - A 2-input truth table
+
+### Circuit that behaves like T ff
+
+- T is the input of the entire circuit
+- Need to define logic to control D input
+
+![diagram](14.3.png)
+
+|TQ|D|
+|--|-|
+|00|0|
+|01|1|
+|10|1|
+|11|0|
+
+### T behavior using D flip-flop
+
+![circuit](14.4.png)
+![truth table](14.5.png)
+![graphical symbol](14.6.png)
+![timing diagram](14.7.png)
+
+---
+
+## JK flip-flop
+
+- A JK flip-flop is a combo of S, R, and T
+ - J sets, K resets, asserting both toggles
+
+|JKQ|D|
+|---|-|
+|000|0|
+|001|1|
+|010|0|
+|011|0|
+|100|1|
+|101|1|
+|110|1|
+|111|0|
+
+![diagram](14.8.png)
+
+### JK behavior using D flip-flop
+
+![circuit](14.9.png)
+![truth table](14.10.png)
+![graphical symbol](14.11.png)