Presentation is loading. Please wait.

Presentation is loading. Please wait.

Logic level sequential blocks Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)

Similar presentations


Presentation on theme: "Logic level sequential blocks Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)"— Presentation transcript:

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

76


Download ppt "Logic level sequential blocks Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)"

Similar presentations


Ads by Google