� Digital Logic Design: a rigorous approach c Chapter 17: Flip-Flops Guy Even Moti Medina School of Electrical Engineering Tel-Aviv Univ. January 4, 2016 Book Homepage: http://www.eng.tau.ac.il/~guy/Even-Medina 1 / 1
Preliminary questions How is time measured in a synchronous circuit? 1 What is a “clock” in a microprocessor? 2 What is the frequency of a clock? 3 How are bits stored? 4 What is the functionality of a flip-flop? 5 What is a stable state? How many stable states does a 6 flip-flop have? How does a flip-flop move from one stable state to another? 7 How fast is this transition? 8 2 / 1
The clock the clock is generated by rectifying and amplifying a signal generated by special non-digital devices (e.g., crystal oscillators). Definition A clock is a periodic logical signal that oscillates instantaneously between logical one and logical zero. There are two instantaneous transitions in every clock period: (i) in the beginning of the clock period, the clock transitions instantaneously from zero to one; and (ii) at some time in the interior of the clock period, the clock transitions instantaneously from one to zero. logical level clock fall clock rise clock period 1 pulse width 0 time 3 / 1
logical level 1 (A) 0 time logical level 1 (B) 0 time logical level 1 (C) 0 time Figure: (A) A symmetric clock (B) narrow pulses (C) wide pulses.
Clock cycles A clock partitions time into discrete intervals. t i - the starting time of the i th clock period. [ t i , t i +1 ) -clock cycle i . 5 / 1
Definition (edge-triggered flip-flop) Inputs: D ( t ) and a clock clk . Output: Q ( t ). Parameters: Four parameters are used to specify the functionality of a flip-flop: Setup-time denoted by t su , Hold-time denoted by t hold , Contamination-delay denoted by t cont , and Propagation-delay denoted by t pd . Terminology Require − t su < t hold < t cont < t pd . △ critical segment: C i = [ t i − t su , t i + t hold ] △ instability segment: A i = [ t i + t cont , t i + t pd ] Functionality: If D ( t ) is stable during the critical segment C i , then Q ( t ) = D ( t i ) during the interval ( t i + t pd , t i +1 + t cont ).
Critical and instability segments in a flip-flop clk C i A i Figure: The critical segment C i = [ t i − t su , t i + t hold ] and instability segment A i = [ t i + t cont , t i + t pd ] corresponding the clock period starting at t i . 7 / 1
Timing diagram of a Flip Flop The x -axis corresponds to time. A green interval means that the signal is stable during this interval. A red interval means that the signal may be instable. C i A i C i +1 A i +1 clk t su D ( t ) x y t hold t cont t cont Q ( t ) x y t pd 8 / 1
Remarks about flip-flops The assumption − t su < t hold < t cont < t pd implies that the 1 critical segment C i and the instability segment A i are disjoint. If D ( t ) is stable during the critical segment C i , then the value 2 of D ( t ) during the critical segment C i is well defined and equals D ( t i ). The flip-flop samples the input signal D ( t ) during the critical 3 segment C i . Sampling is successful only if D ( t ) is stable while it is sampled. If the input D ( t ) is stable during the critical segments { C i } i , 4 then the output Q ( t ) is stable in between the instability segments { A i } i . The stability of the input D ( t ) during the critical segments 5 depends on the clock period. We will later see that slowing down the clock (i.e., increasing the clock period) helps in achieving a stable signal D ( t ) during the critical segments. 9 / 1
Flip-flop schematic The special “arrow” that marks the clock input port. D clk ff Q 10 / 1
clk clk combinational D 1 ( t ) Q 0 ( t ) D 0 ( t ) Q 1 ( t ) circuit ff ff C C i A i C i +1 A i +1 clk t su D 0 ( t ) t hold t cont Q 0 ( t ) t pd d ( C ) D 1 ( t ) t cont Q 1 ( t ) t pd
clk clk combinational D 1 ( t ) Q 0 ( t ) D 0 ( t ) Q 1 ( t ) circuit ff ff C clk X D 0 ( t ) X Q 0 ( t ) f(X) D 1 ( t ) f(X) Q 1 ( t )
Non-empty intersection of C i and A i The timing analysis fails if C i ∩ A i � = ∅ . This could happen, if t hold > t cont (in contradiction to the definition of a flip-flop). 13 / 1
t hold > t cont clk clk combinational Q 0 ( t ) D 1 ( t ) D 0 ( t ) Q 1 ( t ) circuit ff ff C C i C i +1 A i +1 A i clk t su D 0 ( t ) t hold t cont Q 0 ( t ) t pd d ( C ) D 1 ( t ) C i C i +1 ����� ����� �������� �������� ��� ��� t cont ����� ����� �������� �������� ��� ��� Q 1 ( t ) t pd 14 / 1
Bounding Instability Flip-flops play a crucial role in bounding the segments of time during which signals may be instable. Informally, uncertainty increases as the segments of stability become shorter. Flip-flops help bounding instability. 15 / 1
A chain of k inverters and a chain of k flip-flops Q 0 ( t ) D 1 ( t ) Q 1 ( t ) D 2 ( t ) Q 2 ( t ) D 0 ( t ) inv 0 inv 1 inv 2 clk clk clk Q 0 ( t ) D 1 ( t ) D 1 ( t ) Q 1 ( t ) D 0 ( t ) Q 2 ( t ) ff 0 ff 1 ff 2 16 / 1
timing: chain of inverters vs. chain of FFs D 0 ( t ) t pd ( inv ) Q 0 ( t ) t pd ( inv ) Q 1 ( t ) k · t pd ( inv ) Q k − 1 ( t ) C i A i C i +1 A i +1 clk t su D 0 ( t ) t hold t cont t cont Q 0 ( t ) t pd t cont t cont Q 1 ( t ) t pd t cont t cont Q k − 1 ( t ) t pd 17 / 1
Clock enabled flip-flops Definition A clock enabled flip-flop is defined as follows. Inputs: Digital signals D ( t ) , ce ( t ) and a clock clk . Output: A digital signal Q ( t ). Functionality: If D ( t ) and ce ( t ) are stable during the critical segment C i , then for every t ∈ ( t i + t pd , t i +1 + t cont ) � D ( t i ) if ce ( t i ) = 1 Q ( t ) = Q ( t i ) if ce ( t i ) = 0. We refer to the input signal ce ( t ) as the clock-enable signal. Note that the input ce ( t ) indicates whether the flip-flop samples the input D ( t ) or maintains its previous value. 18 / 1
Which design is a correct clock enabled FF? D ( t ) D ( t ) 1 0 ce ( t ) mux ce ( t ) and clk ff ff clk Q ( t ) Q ( t ) (A) (B) 19 / 1
Summary memory devices: flip-flops and the clock signal. The flip-flop samples the value of the input at the “end” of a clock cycle and outputs the sampled value during the “next” clock cycle. Flip-flops play a crucial role in bounding the segments of time during which signals may be instable. Flip-flops and combinational circuits have opposite roles. Combinational circuits compute interesting Boolean functions but increase uncertainty. Flip-flops, on the other hand, output the same value that is fed as input but they provide certainty. 20 / 1
Recommend
More recommend