Download presentation
Presentation is loading. Please wait.
Published byRaymond King Modified over 9 years ago
1
Logic level sequential blocks Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu www.testgroup.polito.it Lecture 5.2
2
2 5.2 Goal This lecture presents the set of functional sequential blocks that are usually considered to be “elementary” or “basic” at the logic level.
3
3 5.2 Prerequisites Module 3 and 4
4
4 5.2 Homework No particular homework is foreseen
5
5 5.2 Further readings Students interested in making a reference to a text book on the arguments covered in this lecture can refer, for instance, to: M. Morris Mano, C.R.Kime: “Logic and Computer Design Fundamentals,” 2nd edition updated Prentice Hall, Upple Saddle River, NJ (USA), 2001, (chapter 4, pp. 182-201)
6
6 5.2 Further readings or to: J. P. Hayes: “Introduction to Digital Logic Design,” Addison Wesley, Reading, MA (USA), 1994, (chapter 6, pp. 390-453)
7
7 5.2 Outline Latch Flip-flop Scannable Flip-flop
8
8 5.2 behavior structure physical system RT logic device Logic level elementary sequential blocks Devices capable of storing a single bit: latchlatch flip-flopflip-flop
9
9 5.2 CLK D Latch vs. Flip-flop
10
10 5.2 CLK D Q latch Latch vs. Flip-flop
11
11 5.2 CLK D Q Q flip-flop latch Latch vs. Flip-flop
12
12 5.2 Pro’s & Con’s A latch is a Mealy machine A flip-flop is a Moore machine Flip-flops improve testability
13
13 5.2 Latch A latch is a single-bit storage device implemented as a Mealy machine. The most widely used is the so called D latch.
14
14 5.2 D latch 1D Q QN C1 IEEE Symbol
15
15 5.2 D latch 1D Q QN C1 IEEE Symbol Characteristic Table
16
16 5.2 D latch 1D Q QN C1 IEEE Symbol Characteristic Table Describes the logical properties of the latch by describing its operation in tabular form
17
17 5.2 D latch 1D Q QN C1 IEEE Symbol CDQQN 0-Q -1 QN -1 1001 1110 Characteristic Table Previous value of Q
18
18 5.2 Waveforms C D Q CD1S 1RQQN 0-11Q -1 QN -1 101001 110110
19
19 5.2 D C Q QN Hazard-free polarity hold latch Within the in-house developed LSSD design methodology, IBM uses the following implementation:
20
20 5.2 Set-Reset latch The Set-Reset latch can be considered the elementary building block for the implementation of all synchronous sequential circuits. It has: 2 inputs S and R 2 output Q and QN, such that QN = Q’. S R Q QN
21
21 5.2 Set-Reset latch The Set-Reset latch can be considered the elementary building block for the implementation of all synchronous sequential circuits. It has: 2 inputs S and R 2 output Q and QN, such that QN = Q’. Of the 4 combinations of S and R: One forces Q QN = 0 1 (reset) One forces Q QN = 1 0 (set) One lets Q QN unchanged One is forbidden S R Q QN
22
22 5.2 Set-Reset latch The Set-Reset latch can be considered the elementary building block for the implementation of all synchronous sequential circuits. It has: 2 inputs S and R 2 output Q and QN, such that QN = Q’. Of the 4 combinations of S and R: One forces Q QN = 0 1 (reset) One forces Q QN = 1 0 (set) One lets Q QN unchanged One is forbidden S R Q QN The correspondence input combination performed operation is technology and implementation dependent
23
23 5.2 Set-Reset latch (nand implementation) S R Q QN
24
24 5.2 Set-Reset latch (nand implementation) S R S R Q QN Q Q -1
25
25 5.2 00011110 0 1100 11110 S R Q Q -1 Karnaugh Map Set-Reset latch (nand implementation)
26
26 5.2 00011110 0 1100 11110 S R Q Q -1 S RQ QN 0011 0110 1001 11Q -1 QN -1 Characteristic Table Karnaugh Map Set-Reset latch (nand implementation)
27
27 5.2 00011110 0 1100 11110 S R Q -1 S RQ QN 0011 0110 1001 11Q -1 QN -1 Characteristic Table Karnaugh Map Set-Reset latch (nand implementation) This combination is forbidden due to: It forces both outputs to 1, thus preventing QN = Q’ a transition S R = 00 S R = 11 forces the circuit to enter an unpredictable state, whose value depends from internal delays.
28
28 5.2 00011110 0 1100 11110 S R Q Q -1 S RQ QN 0011 0110 1001 11Q -1 QN -1 Q -1 QSR 0 01- 0 101 1 010 1 1- 1 Transition Table Characteristic Table Karnaugh Map Set-Reset latch (nand implementation)
29
29 5.2 S R Q QN Set-Reset latch (nor implementation)
30
30 5.2 00011110 0 0100 11100 S R Q Q -1 S RQ QN 00Q -1 QN -1 0110 1001 1100 Q -1 QSR 0 0-0 0 101 1 010 1 10 - Transition Table Characteristic Table Karnaugh Map Set-Reset latch (nor implementation)
31
31 5.2 Gated Set-Reset latch It’s a variation of the Set-Reset latch, in which data are allowed to enter the latch when a given control signal C is asserted, only. 1S 1R Q QN C1 Symbol IEEE
32
32 5.2 SiSi RiRi Q QN 1S 1R C1 Possible implementation
33
33 5.2 C1 1S1RS i R i Q QN 0--11Q -1 QN -1 10011Q -1 QN -1 1011001 1100110 11100 Excitation table
34
34 5.2 Outline Latch Flip-flop Scannable Flip-flop
35
35 5.2 behavior structure physical system RT logic device Devices capable of storing a single bit: latchlatch flip-flop Logic level elementary sequential blocks
36
36 5.2 Flip-Flop A flip-flop is a single-bit storage device implemented as a Moore machine.
37
37 5.2 Temporal constraints Flip-flops works properly iff some temporal constraints are satisfied.
38
38 5.2 Set-up time The time interval in which data inputs and control inputs must be stable before the clock event
39
39 5.2 Hold time The time interval in which data inputs and control inputs must be stable after the clock event
40
40 5.2 FF classification w.r.t. data inputs According to their behavior w.r.t. data inputs, flip- flops are usually classified as: D SR JK T.
41
41 5.2 D behavior D Q QN CLK DQ0011DQ001101 Characteristic Table
42
42 5.2 Q -1 QD 0 00 0 11 1 00 1 11 - 00 - 11 DQ0011DQ001101 Transition Table Characteristic Table
43
43 5.2 Caveat Distinction between data inputs and control inputs is context and application dependent.
44
44 5.2 Example (D = data input) At any CLK, it stores the input data D Q CLK
45
45 5.2 Example (D = control input) If ( D = 0 ) thenforce Q=0 elseforce Q=1 D Q CLK
46
46 5.2 Set-Reset behavior S R Q QN CLK S RQ QN 0011 0110 1001 11Q -1 QN -1
47
47 5.2 Q -1 QSR 0 01- 0 101 1 010 1 1- 1 - 010 - 101 S RQ QN 0011 0110 1001 11Q -1 QN -1 Transition Table Characteristic Table
48
48 5.2 JK behavior J K Q QN CLK J KQ 00Q -1 01 0 10 1 11QN -1
49
49 5.2 Q -1 QJK 0 00- 0 11- 1 0-1 1 1-0 - 001 - 110 J KQ 00Q -1 01 0 10 1 11QN -1 Transition Table Characteristic Table
50
50 5.2 D FF implemented by a JK FF D K Q QN CLK J
51
51 5.2 T behavior T Q QN CLK TQ 0Q -1 1QN -1
52
52 5.2 Q -1 QT 0 00 0 11 1 01 1 10 - 0? - 1? TQ 0Q -1 1QN -1 Transition Table Characteristic Table
53
53 5.2 Caveat A T type flip-flop cannot be initialized: if you don’t know the value of the output, acting only on the input T, you cannot state the value of the output.
54
54 5.2 T FF implemented by a JK FF T K Q QN CLK J
55
55 5.2 T FF implemented by a D FF T D Q QN CLK
56
56 5.2 D FF implemented by a T FF D T Q QN CLK
57
57 5.2 Dlatch D FF positive edge triggered implemented by latches Q QN CLK D Dlatch D D A Master-slave implementation
58
Waveforms CLK D Q A Dlatch Q QN CLK D Dlatch D D A
59
59 5.2 D FF positive edge triggered implemented in TTL logic (‘74) preset clear CLK D Q QN
60
60 5.2 The D FF as a library cell A D flip flop is a sequential functional block able to perform the following operations: asynchronous clear synchronous clear synchronous preset data parallel load stored data hold.
61
61 5.2 Flip flop D: Flip flop D: I/O signals Input Data signals: D Output Data signals: Q, QN Clock signal: CLK Reset signal: ASYNC_CLR Input Control signals: CLK_EN, SYNC_CLR, PRESET Output Control signals:none
62
62 5.2 Flip flop D: symbol D ASYNC_CLR SYNC_CLR CLK_EN CLK Q QN PRESET
63
63 5.2 Flip flop D: Asynchronous clear 1 - - - - 0 D ASYNC_CLR SYNC_CLR CLK_EN Q QN PRESET - 1 ASYNC_CLR = 1 Q = 0 = 1 QN = 1 CLK
64
64 5.2 Flip flop D: Synchronous clear 0 - 1 1 0 D ASYNC_CLR SYNC_CLR CLK_EN Q QN PRESET - 1 ASYNC_CLR = 0 CLK_EN = 1 SYNC_CLR = 1 CLOCK Q = 0 = 1 QN = 1 CLK
65
65 5.2 Flip flop D: Synchronous preset 0 - 0 1 1 D ASYNC_CLR SYNC_CLR CLK_EN Q QN PRESET 1 0 ASYNC_CLR = 0 CLK_EN = 1 SYNC_CLR = 0 PRESET = 1 CLOCK Q = 1 = 0 QN = 0 CLK
66
66 5.2 Flip flop D: Data load 0 value 0 1 value D ASYNC_CLR SYNC_CLR CLK_EN Q QN PRESET 0 Value’ ASYNC_CLR = 0 CLK_EN = 1 SYNC_CLR = 0 PRESET = 0 CLOCK Q = D = D’ QN = D’ CLK
67
67 5.2 Flip flop D: Data hold 0 - 0 0 D ASYNC_CLR SYNC_CLR CLK_EN Q QN PRESET 0 ASYNC_CLR = 0 CLK_EN = 0 Q t+1 = Q t QN t+1 = QN t CLK
68
68 5.2 Outline Latch Flip-flop Scannable Flip-flop
69
69 5.2 Scannable Flip-flops Most cell libraries include particular FF families, particularly suited to improve testability, resorting to the so called Scan chains.
70
70 5.2 Flip-Flop
71
71 5.2 Flip-Flop Scan Chain
72
72 5.2 Flip-flop scannable D SCAN_IN CLK Q Control signal
73
73 5.2 Implementations The control signal states value to be stored in the FF, i.e., the D or the SCAN_IN, respectively. Two implementations are usually adopted : mux-scan clock-scan.
74
74 5.2 Mux-scan approach D SCAN_IN CLK Q Normal/~Scan
75
75 5.2 Clock-scan approach D SCAN_IN CLK Q CLK_SCAN
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.