0% found this document useful (0 votes)
40 views

Outline: 1. Overview On Sequential Circuit

The document discusses sequential circuit design and covers the following key points: 1. It provides an overview of sequential circuits and basic memory elements like D latches and flip-flops. 2. It explains the principles of synchronous sequential circuits using a global clock signal and the advantages this approach provides for timing analysis and design. 3. It warns about the dangers of directly synthesizing asynchronous circuits like latches instead of using pre-designed library elements, and provides examples of correctly specifying basic memory elements in VHDL. 4. It presents several examples of simple sequential circuit designs like counters and shift registers to demonstrate applying the synchronous design methodology.

Uploaded by

bennettmatthew
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

Outline: 1. Overview On Sequential Circuit

The document discusses sequential circuit design and covers the following key points: 1. It provides an overview of sequential circuits and basic memory elements like D latches and flip-flops. 2. It explains the principles of synchronous sequential circuits using a global clock signal and the advantages this approach provides for timing analysis and design. 3. It warns about the dangers of directly synthesizing asynchronous circuits like latches instead of using pre-designed library elements, and provides examples of correctly specifying basic memory elements in VHDL. 4. It presents several examples of simple sequential circuit designs like counters and shift registers to demonstrate applying the synchronous design methodology.

Uploaded by

bennettmatthew
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Outline Sequential Circuit Design: Principle

1. 2. 3. 4. 5. 6. 7. 8.
1

Overview on sequential circuits Synchronous circuits Danger of synthesizing asynchronous circuit Inference of basic memory elements Simple design examples Timing analysis Alternative one-segment coding style Use of variable for sequential circuit
RTL Hardware Design by P. Chu Chapter 8 2

RTL Hardware Design by P. Chu

Chapter 8

1. Overview on sequential circuit


Combinational vs sequential circuit
Sequential circuit: output is a function of current input and state (memory)

D latch: level sensitive D FF: edge sensitive

Basic memory elements


D latch D FF (Flip-Flop) RAM

Synchronous vs asynchronous circuit


RTL Hardware Design by P. Chu Chapter 8 3 RTL Hardware Design by P. Chu Chapter 8 4

Problem wit D latch: Can the two D latches swap data?

RTL Hardware Design by P. Chu

Chapter 8

RTL Hardware Design by P. Chu

Chapter 8

Timing of a D FF:
Clock-to-q delay Constraint: setup time and hold time

Synch vs asynch circuits


Globally synchronous circuit: all memory elements (D FFs) controlled (synchronized) by a common global clock signal Globally asynchronous but locally synchronous circuit (GALS). Globally asynchronous circuit
Use D FF but not a global clock Use no clock signal

RTL Hardware Design by P. Chu

Chapter 8

RTL Hardware Design by P. Chu

Chapter 8

2. Synchronous circuit
One of the most difficult design aspects of a sequential circuit: How to satisfy the timing constraints The Big idea: Synchronous methodology
Group all D FFs together with a single clock: Synchronous methodology Only need to deal with the timing constraint of one memory element
RTL Hardware Design by P. Chu Chapter 8 9

Basic block diagram


State register (memory elements) Next-state logic (combinational circuit) Output logic (combinational circuit)

Operation
At the rising edge of the clock, state_next sampled and stored into the register (and becomes the new value of state_reg The next-state logic determines the new value (new state_next) and the output logic generates the output At the rising edge of the clock, the new value of state_next sampled and stored into the register

Glitches has no effects as long as the state_next is stabled at the sampling edge
RTL Hardware Design by P. Chu Chapter 8 10

Sync circuit and EDA


Synthesis: reduce to combinational circuit synthesis Timing analysis: involve only a single closed feedback loop (others reduce to combinational circuit analysis) Simulation: support cycle-based simulation Testing: can facilitate scan-chain
RTL Hardware Design by P. Chu Chapter 8 11 RTL Hardware Design by P. Chu Chapter 8 12

Types of sync circuits


Not formally defined, Just for coding Three types:
Regular sequential circuit Random sequential circuit (FSM) Combined sequential circuit (FSM with a Data path, FSMD)

3. Danger of synthesizing asynchronous circuit


D Latch/DFF
Are combinational circuits with feedback loop Design is different from normal combinational circuits (it is delay-sensitive) Should not be synthesized from scratch Should use pre-designed cells from device library

RTL Hardware Design by P. Chu

Chapter 8

13

RTL Hardware Design by P. Chu

Chapter 8

14

E.g., a D latch from scratch

RTL Hardware Design by P. Chu

Chapter 8

15

RTL Hardware Design by P. Chu

Chapter 8

16

4. Inference of basic memory elements


VHDL code should be clear so that the pre-designed cells can be inferred VHDL code
D Latch Positive edge-triggered D FF Negative edge-triggered D FF D FF with asynchronous reset

D Latch
No else branch D latch will be inferred

RTL Hardware Design by P. Chu

Chapter 8

17

RTL Hardware Design by P. Chu

Chapter 8

18

Pos edge-triggered D FF No else branch Note the sensitivity list

Neg edge-triggered D FF

RTL Hardware Design by P. Chu

Chapter 8

19

RTL Hardware Design by P. Chu

Chapter 8

20

D FF with async reset No else branch Note the sensitivity list

Register Multiple D FFs with same clock and reset

RTL Hardware Design by P. Chu

Chapter 8

21

RTL Hardware Design by P. Chu

Chapter 8

22

5. Simple design examples


Follow the block diagram
Register Next-state logic (combinational circuit) Output logic (combinational circuit)

D FF with sync enable


Note that the en is controlled by clock Note the sensitivity list

RTL Hardware Design by P. Chu

Chapter 8

23

RTL Hardware Design by P. Chu

Chapter 8

24

RTL Hardware Design by P. Chu

Chapter 8

25

RTL Hardware Design by P. Chu

Chapter 8

26

T FF

RTL Hardware Design by P. Chu

Chapter 8

27

RTL Hardware Design by P. Chu

Chapter 8

28

Free-running shift register

RTL Hardware Design by P. Chu

Chapter 8

29

RTL Hardware Design by P. Chu

Chapter 8

30

RTL Hardware Design by P. Chu

Chapter 8

31

RTL Hardware Design by P. Chu

Chapter 8

32

Universal shift register


4 ops: parallel load, shift right, shift left, pause

RTL Hardware Design by P. Chu

Chapter 8

33

RTL Hardware Design by P. Chu

Chapter 8

34

RTL Hardware Design by P. Chu

Chapter 8

35

RTL Hardware Design by P. Chu

Chapter 8

36

Arbitrary sequence counter

RTL Hardware Design by P. Chu

Chapter 8

37

RTL Hardware Design by P. Chu

Chapter 8

38

Free-running binary counter


Count in binary sequence With a max_pulse output: asserted when counter is in 1111 state

RTL Hardware Design by P. Chu

Chapter 8

39

RTL Hardware Design by P. Chu

Chapter 8

40

Binary counter with bells & whistles

Wrapped around automatically Poor practice:

RTL Hardware Design by P. Chu

Chapter 8

41

RTL Hardware Design by P. Chu

Chapter 8

42

Decade (mod-10) counter

RTL Hardware Design by P. Chu

Chapter 8

43

RTL Hardware Design by P. Chu

Chapter 8

44

Programmable mod-m counter

RTL Hardware Design by P. Chu

Chapter 8

45

RTL Hardware Design by P. Chu

Chapter 8

46

RTL Hardware Design by P. Chu

Chapter 8

47

RTL Hardware Design by P. Chu

Chapter 8

48

6. Timing analysis
Combinational circuit:
characterized by propagation delay

Sequential circuit:
Has to satisfy setup/hold time constraint Characterized by maximal clock rate (e.g., 200 MHz counter, 2.4 GHz Pentium II) Setup time and clock-to-q delay of register and the propagation delay of next-state logic are embedded in clock rate
RTL Hardware Design by P. Chu Chapter 8 49 RTL Hardware Design by P. Chu Chapter 8 50

state_next must satisfy the constraint Must consider effect of


state_reg: can be controlled synchronized external input (from a subsystem of same clock) unsynchronized external input First 2: adjust clock rate to prevent violation Last: use synchronization circuit to resolve violation

Setup time violation and maximal clock rate

Approach

RTL Hardware Design by P. Chu

Chapter 8

51

RTL Hardware Design by P. Chu

Chapter 8

52

E.g., shift register; let Tcq=1.0ns Tsetup=0.5ns

RTL Hardware Design by P. Chu

Chapter 8

53

RTL Hardware Design by P. Chu

Chapter 8

54

E.g., Binary counter; let Tcq=1.0ns Tsetup=0.5ns

RTL Hardware Design by P. Chu

Chapter 8

55

RTL Hardware Design by P. Chu

Chapter 8

56

Hold time violation

RTL Hardware Design by P. Chu

Chapter 8

57

RTL Hardware Design by P. Chu

Chapter 8

58

Output delay

7. Alternative one-segment coding style


Combine register and next-state logic/output logic in the same process May appear compact for certain simple circuit But it can be error-prone

RTL Hardware Design by P. Chu

Chapter 8

59

RTL Hardware Design by P. Chu

Chapter 8

60

10

D FF with sync enable

RTL Hardware Design by P. Chu

Chapter 8

61

RTL Hardware Design by P. Chu

Chapter 8

62

Interpretation: any left-hand-side signal within the clkevent and clik=1 branch infers a D FF
RTL Hardware Design by P. Chu Chapter 8 63 RTL Hardware Design by P. Chu Chapter 8 64

T FF

RTL Hardware Design by P. Chu

Chapter 8

65

RTL Hardware Design by P. Chu

Chapter 8

66

11

RTL Hardware Design by P. Chu

Chapter 8

67

RTL Hardware Design by P. Chu

Chapter 8

68

Binary counter with bells & whistles

RTL Hardware Design by P. Chu

Chapter 8

69

RTL Hardware Design by P. Chu

Chapter 8

70

Free-running binary counter


Count in binary sequence With a max_pulse output: asserted when counter is in 1111 state

RTL Hardware Design by P. Chu

Chapter 8

71

RTL Hardware Design by P. Chu

Chapter 8

72

12

RTL Hardware Design by P. Chu

Chapter 8

73

RTL Hardware Design by P. Chu

Chapter 8

74

RTL Hardware Design by P. Chu

Chapter 8

75

RTL Hardware Design by P. Chu

Chapter 8

76

Programmable mod-m counter

RTL Hardware Design by P. Chu

Chapter 8

77

RTL Hardware Design by P. Chu

Chapter 8

78

13

RTL Hardware Design by P. Chu

Chapter 8

79

RTL Hardware Design by P. Chu

Chapter 8

80

Two-segment code
Separate memory segment from the rest Can be little cumbersome Has a clear mapping to hardware component

One-segment code
Mix memory segment and next-state logic / output logic Can sometimes be more compact No clear hardware mapping Error prone

Two-segment code is preferred


RTL Hardware Design by P. Chu Chapter 8 81 RTL Hardware Design by P. Chu Chapter 8 82

14

You might also like