1Flip-Flops and Sequential Circuit DesignECE 152A – Summer 2009July 27, 2009ECE 152A - Digital Design Principles2Reading AssignmentBrown and Vranesic7 Flip-Flops, Registers, Counters and a Simple Processor7.5 T Flip-Flop7.5.1 Configurable Flip-Flops7.6 JK Flip-Flop7.7 Summary of Terminology7.8 Registers7.8.1 Shift Register7.8.2 Parallel-Access Shift Register2July 27, 2009ECE 152A - Digital Design Principles3Reading AssignmentBrown and Vranesic (cont)7 Flip-Flops, Registers, Counters and a Simple Processor (cont)7.9 Counters7.9.1 Asynchronous Counters7.9.2 Synchronous Counters7.9.3 Counters with Parallel Load7.10 Reset SynchronizationJuly 27, 2009ECE 152A - Digital Design Principles4Reading AssignmentBrown and Vranesic (cont)7 Flip-Flops, Registers, Counters and a Simple Processor (cont)7.11 Other Types of Counters7.11.1 BCD Counter7.11.2 Ring Counter7.11.3 Johnson Counter7.11.4 Remarks on Counter Design3July 27, 2009ECE 152A - Digital Design Principles5Reading AssignmentBrown and Vranesic (cont)8 Synchronous Sequential Circuits8.1 Basic Design Steps8.1.1 State Diagram8.1.2 State Table8.1.3 State Assignment8.1.4 Choice of Flip-Flops and Derivation of Next-State and Output Expressions8.1.5 Timing Diagram8.1.6 Summary of Design StepsJuly 27, 2009ECE 152A - Digital Design Principles6Reading AssignmentBrown and Vranesic (cont)8 Synchronous Sequential Circuits (cont)8.2 State-Assignment ProblemOne-Hot Encoding8.7 Design of a Counter Using the Sequential Circuit Approach8.7.1 State Diagram and State Table for Modulo-8 Counter8.7.2 State Assignment8.7.3 Implementation Using D-Type Flip-Flops8.7.4 Implementation Using JK-Type Flip-Flops8.7.5 Example – A Different Counter4July 27, 2009ECE 152A - Digital Design Principles7Reading AssignmentRoth11 Latches and Flip-Flops11.5 S-R Flip-Flop11.6 J-K Flip-Flop11.7 T Flip-Flop11.8 Flip-Flops with Additional Inputs11.9 Summary12 Registers and Counters12.5 Counter Design Using S-R and J-K Flip-Flops12.6 Derivation of Flip-Flop Input Equations – SummaryJuly 27, 2009ECE 152A - Digital Design Principles8The JK Flip-FlopAllows J = K = 1 conditionImplemented with a gated SR latch and feedback of Q and Q*Q toggles (Q+= Q’) on J = K = 15July 27, 2009ECE 152A - Digital Design Principles9The JK Flip-Flop (cont)Characteristic table and equationKarnaugh map of characteristic tableCharacteristic equationQ+= JQ’ + K’QJuly 27, 2009ECE 152A - Digital Design Principles10The JK Flip-Flop (cont)Implementation using a D flip-flopCharacteristic Function at D input6July 27, 2009ECE 152A - Digital Design Principles11The JK Flip-FlopState table1110(Q+)001110001101JK = 00PS (Q)NSJuly 27, 2009ECE 152A - Digital Design Principles12The JK Flip-FlopState diagram10JK = X1JK = 1XJK = 0XJK = X07July 27, 2009ECE 152A - Digital Design Principles13The JK Flip-FlopWith clock circuitry and timingPositive edge triggered JK flip-flopJuly 27, 2009ECE 152A - Digital Design Principles14The Master Slave JK Flip-FlopMaster Slave JK Flip-FlopRising edge triggerednote CLK inverted to master8July 27, 2009ECE 152A - Digital Design Principles15The Master Slave JK Flip-FlopMaster Slave JK Flip-FlopFalling edge triggerednote CLK (CP) inverted to slaveJuly 27, 2009ECE 152A - Digital Design Principles16The Master Slave JK Flip-FlopMaster active on CLK = 1Slave active on CLK = 0Latch data in master on CLK = 1Transfer data to slave (output) on CLK = 0Timing Diagram Initial ConditionsCLK = 0, J = 1, K = 0, Y = 0, Q = 09July 27, 2009ECE 152A - Digital Design Principles17The Master Slave JK Flip-FlopTiming DiagramJuly 27, 2009ECE 152A - Digital Design Principles18The JK Flip-Flop (cont)What happens if J = K = 1 for an indefinite period of time (i.e., much greater than clock period)?Output oscillates at ½ the frequency of the clockDivide by two counter10July 27, 2009ECE 152A - Digital Design Principles19The T (Toggle or Trigger) Flip-FlopConnect J and K inputs togetherCombined input “T”Characteristic TableCharacteristicEquationTimingDiagramJuly 27, 2009ECE 152A - Digital Design Principles20The T Flip-FlopState Table011100T=1T = 0PS (Q)NS (Q+)11July 27, 2009ECE 152A - Digital Design Principles21The T Flip-FlopState Diagram10T = 1T = 1T = 0T = 0July 27, 2009ECE 152A - Digital Design Principles22The T Flip-Flop (from JK/D)Q+= JQ’ + K’QQ+= T’Q + TQ’ = T XOR Q12July 27, 2009ECE 152A - Digital Design Principles23Counter Design with T Flip-Flops3 bit binary counter design example“State” refers to Q’s of flip-flops3 bits, 8 statesDecimal 0 through 7No inputsTransition on every clock edgei.e., state changes on every clock edgeAssume clocked, synchronous flip-flopsJuly 27, 2009ECE 152A - Digital Design Principles24Counter Design with T Flip-FlopsState Diagram001100011010111000110 10113July 27, 2009ECE 152A - Digital Design Principles25Counter Design with T Flip-FlopsState table000111111011011101101001001110110010010100100000C+B+A+CBANSPSJuly 27, 2009ECE 152A - Digital Design Principles26Counter Design with T Flip-FlopsNext State MapsBCA00 010111 101111BCA00 010111 10BCA00 010111 1011111111A+= AB’ + AC’ + A’BC = DAB+= B’C + BC’ = DBC+= C’ = DC14July 27, 2009ECE 152A - Digital Design Principles27Counter Design with T Flip-FlopsUsing D flip-flops, inputs are derived directly from next state mapsD = Q+Using T flip flopsExcitation table (used for design)T = Q XOR Q+Need to find inputs to T flip-flopsMapping state changesQ → Q+ requires T = ?July 27, 2009ECE 152A - Digital Design Principles28Counter Design with T Flip-FlopsT Flip-Flop Excitation TableT = Q XOR Q+011101110000TQ+Q15July 27, 2009ECE 152A - Digital Design Principles29Counter Design with T Flip-FlopsState Variable ATA= A+(XOR) ABCA00 01A=0A=111 10A+=1BCA00 010111 10T=1T=1A+=1A+=1A+=1A+= AB’ + AC’ + A’BC = DATA= BCJuly 27, 2009ECE 152A - Digital Design Principles30Counter Design with T Flip-FlopsState Variable BTB= B+(XOR) BBCA00 010111 10B+=1BCA00 010111 10T=1T=1B+=1B+=1B+=1B+= B’C + BC’ = DBTB= CB=0B=1T=1T=116July 27, 2009ECE 152A - Digital Design Principles31Counter Design with T Flip-FlopsState Variable CTC= C+(XOR) CBCA00 010111 10C+=1BCA00 010111 10T=1T=1C+=1C+=1C+=1C+=
View Full Document