Homework • Reading – Tokheim Chapter 9.1 – 9.6 • Machine Projects – Continue on mp3 • Labs – Continue in labs with your assigned section 1 Sequential Circuits • A sequential circuit is constructed using a combinational circuit with memory circuits • Similar to a C function with static internal variables (state memory) • One additional input is a clock signal Input(s) Clock Combinational Logic Output(s) Memory Elements 2 Simple Memories (Flip-Flops) • Simplest is Reset-Set (R-S type) • Note the inverted signal inputs • Can buy a standard TTL R-S flip-flop (279) S 0 1 1 0 R 1 0 1 0 Q Q 1 0 0 1 no change prohibited S R S Q R Q NAND Q NAND Q 3 Simple Memories (Flip-Flops) • Timing Diagram Hold Set Hold No Reset Effect Hold No Effect Hold 1 S 0 1 R 0 1 Q 0 1 Q 0 4 Synchronous Flip-Flops • Use of a clock to make the circuit synchronous • Syn (with) + chronous (clock) => with a clock • Level-triggered (changes state while clock high) S NAND S R Q R-S Flip Flop Clock NAND Q R TRUTH TABLE S R Clock Q 0 1 0 1 0 1 0 0 1 1 No Chg Prohibited 5 The D-Type Flip-Flop • Single data input and edge-triggered clock • Also called a “Delay” flip-flop (D-type) • Changes state on either rising or falling edge D (Data) NAND S D R-S Flip Flop Q NAND Clock A C AND B R TRUTH TABLE Q Clock Q 0 0 1 1 Edge To Pulse Converter A B C 0 1 0 1 1 1 (Due to delay through inverter) 1 0 0 6 Actual D-Type Flip-Flop • Has preset (PR) and clear (CLR) inputs which can be set asynchronously (but not both at same time) • Nomenclature use > for an edge-triggered input D PR Q > Clk Q CLR 7 Reset Circuitry • When power is turned on, there is a time delay for power to reach each part of the circuit and to stabilize at the rated voltage • We need to apply a reset signal for longer than that time delay to all memories • Reset signal presets (to 1) or clears (to 0) every flip-flop in the system as needed • Reset signal is released after a time delay • Reset button causes reset signal to be asserted and released again after time delay 8 Example Reset Circuitry Power R To All Flip-Flops Reset Button V C Time Constant = R * C Time Ground 9 Timing Diagrams for D Flip-Flop 10 Clock - Divide by Two Counter • Connect Q output back to D input D PR Q > Clk Q CLR • Timing Diagram (after starting with Q = 0) Clk Q Q is an output clock at ½ the frequency of the input clock 11 Shift Registers • Serial in, Parallel out: Four Bit Parallel Output Available After Four Clocks/Shifts Serial Data In D Q FF3 D Q FF2 D Q FF1 D Q FF0 Clock In 12 Shift Registers • Parallel in, Serial out: Four Bit Parallel Input Presented for One Clock Edge while “Load” Signal is True Load/Shift# 1 M U x D Q FF3 M U x D Q FF2 M U x D Q FF1 M U x D Q Serial Data Out FF0 Clock In 13 The J-K or Universal Flip-Flop • • • • • Named for Jack Kilby (TI Engineer / Inventor of IC) Three synchronous inputs (plus preset and clear) J-K flip-flop is available as a 7473 chip Can be edge-triggered or level-triggered Example shown is falling “edge triggered” TRUTH TABLE J PR Q >Clk K Q CLR J 0 0 1 1 K 0 1 0 1 Clock Q Stays same 0 1 Toggles 14 J-K Flip-Flop Internals • Avoids an invalid input such as 0 0 to the R-S Flip Flop K Clock J AND S Q R-S Flip Flop Edge Detect Q AND R 15 Using J-K Flip-Flops • Primary use is for storage registers and counters • Mod-16 counter also known as a ripple counter X3 X2 X1 X0 counts 0x0 ... 0xF (Hexadecimal) sequentially X1 X0 Clk J > K Q J > K Q X2 J > K Q X3 J > K Q Vcc (+5 V) 16 Timing diagram for Mod-16 Counter Note that the counter actually serves to divide down the input clock! 17 Counter Range != 2N X0 X1 X2 NAND Vcc (+5 V) J > K Q J > K Q J > K Q Reset Clk Can we we make it count to something different than 2N? Ans. Yes, using a combinational logic (a NAND Gate in this case) Counts: 0, 1, 2, 3, 4, 5, 0, 1, … 18 Synchronous BCD up/down counter • BCD Up/Down Counter is available as a 74192 • BCD stands for Binary Coded Decimal • Counts 0000 -1001, then carries LED Bit Display D QD C QC B A Load Data Count Up Count Down Clear 74192 BCD Up/Down Counter QB QA Borrow Carry 19 Describing Sequential Circuits • In general, – Next state = f(inputs, current state) – Outputs = f(inputs, current state) • Example: Clock A D SET CLR Q D SET Q Truth Table Q CLR Q Last Next State State A Q1 Q2 Q1 Q2 X State = (Q1, Q2) [2 bits] 4 states: (0,0), (0,1), (1,0), (1,1) • State diagram: X A=0 (1,0) (0,0) (1,1) A=1 (0,1) A=0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 . . . . . . . . . . . . 0 1 1 0 1 1 1 1 1 1 1 1 A=0 20 Digital Logic Summary • Combinational circuits: –Made from gates without feedback –Have no internal states –Outputs depend only on current inputs –Fully defined by truth table on the inputs –Passes clocks (if any) as wave trains –Output states constantly change with inputs 21 Digital Logic Summary • Sequential circuits: –Have feedback among the gates –Can have internal states –Outputs depend on inputs and past inputs (via values of internal states) –Not completely described by pure truth table on inputs –Usually one input is a clock signal –Outputs usually change on one clock edge only 22