ENGIN112: Introduction to Electrical and Computer Engineering Fall 2003 Prof. Russell Tessier

Understanding Sequential Circuit Timing Perhaps the two most distinguishing characteristics of a computer are its processor clock speed and the size of its main memory. While it is relatively easy to understand the concept of main memory size (the number of storage bits in the computer), the concept of processor clock speed is a little more difficult to grasp. In this document we will explain what is meant by sequential circuit clock speed, and more importantly, how to calculate it using the timing parameters of combinational and sequential circuit components. Tper

Clk

Figure 1: Periodic Clock Signal As we have discussed this term, edge-trigged flip flops, such as the D flip flop, are controlled by a clock signal, such as the signal labeled Clk in Figure 1. A clock signal is a periodic square wave which alternates between logic high (1) and logic low (0) values at predictable times. The amount of time between rising clock edges is called the clock period, Tper , of the clock. In modern computers the clock period is usually under 10 nanoseconds (10 ns). The inverse of the 1 ) is the clock frequency, f . Since the clock is used as the control input to edgeclock period ( Tper triggered flip flops, the clock frequency measures how often the data is transfered, or clocked, into edge-triggered flip flops. A bigger clock frequency indicates that data is being stored more quickly, and the sequential circuit is generating results at a faster rate. Typical clock frequencies for modern computer systems range from 1 megaHertz (MHz) to around 5 gigaHertz (GHz).

1

Timing Parameters for Combinational Logic

When implemented physically, combinational circuits, such as AND and OR gates, exhibit certain timing characteristics. When a binary value (0 or 1) is applied at the input to a combinational circuit, the change at the circuit output is not instantaneous due to electrical constraints. Circuit input-to-output delay in combinational circuits can be expressed with two parameters, tpd and tcd , defined as follows: • Propagation delay (tpd ) - This value indicates the amount of time needed for a change in a logic input to result in a permanent change at an output. Combinational logic is guaranteed not to show any further output changes in response to an input change after tpd time units have passed. 1

X

X

Y

t cd

t cd

Y

t pd

t pd

Figure 2: Combinational Propagation and Contamination Delay • Contamination delay (tcd ) - This value indicates the amount of time needed for a change in a logic input to result in an initial change at an output [1]. Combinational logic is guaranteed not to show any output change in response to an input change before tcd time units have passed. An example of combinational propagation and contamination delay appears in Figure 2. When input X changes, the change in Y is not instantaneous. The inverter output maintains its initial value until time tcd has passed. After this time, the Y output of the inverter may be at an intermediate value for a while (indicated by the cross-hatched area) before the final output value is created. After the propagation delay, tpd , the inverter output is stable and is guaranteed not to change again until another input change. Combinational propagation delays are additive. It is possible to determine the propagation delay of a larger combinational circuit by adding the propagation delays of the circuit components along the longest path. For example, the propagation delay of the combined circuit in Figure 3 is 5 ns, since the longest delay from a circuit input (w, x, y) to the output z is the sum of the component propagation delays through gates A and B, 3 ns + 2 ns = 5 ns. The 4 ns propagation delay path through gates C and B can be ignored in determining the overall propagation delay of the circuit since it is shorter than 5 ns. In contrast, the determination of the contamination delay of the combined circuit requires identifying the shortest path of contamination delays from input to output. In Figure 3, the contamination delay of the combined circuit is 2 ns, since the shortest sum of contamination delays from an input (y) to an output (z), is tcd (C) + tcd (B) = 1 ns + 1 ns = 2ns. Note that this value is smaller than the contamination delay path through gates A and B (2 ns + 1ns = 3 ns).

2

t

cd = 2 ns t pd = 3 ns

w

t cd = 1 ns t pd = 2 ns

A

x

B

y

z

C t

cd = 1 ns

t pd = 2 ns

Figure 3: Combined Combinational Circuit Dealy

2

Timing Parameters for Sequential Logic

Like combinational circuits, when sequential circuits, such as edge-triggered flip-flops, are physically implemented, they exhibit certain timing characteristics. Unlike combinational circuits, these characteristics are specified in relation to the clock input. Since flip-flops only change value in response to a change in the clock value, timing parameters can be specified in relation to the rising (for positive edge-triggered) or falling (for negative-edge triggered) clock edge. The following parameters specify sequential circuit behavior. Unless otherwise specified, the following descriptions pertain to positive edge-triggered circuits. Similar definitions can be made for negative edge-triggered circuits. • Propagation delay (tClk−Q ) - This value indicates the amount of time needed for a change in the flip flop-clock input (e.g. rising edge) to result in a permanent change at the flip-flop output (Q). When the clock edge arrives, the D input value is transfered to output Q. Note from Figure 4, that the output of the flip-flop may be at an intermediate value for a while (indicated by the cross-hatched area) before the final output value is created. After tClk−Q , the output is guaranteed not to change value again until another clock edge trigger (e.g. rising edge) arrives. • Contamination delay (tcd ) - This value indicates the amount of time needed for a change in the flip-flop clock input to result in the initial change at the flip-flop output (Q). Note from Figure 4, that the output of the flip-flop maintains its initial value until time tcd has passed. The flip-flop is guaranteed not to show any output change in response to an input change until after tcd has passed. • Setup time (ts ) - This value indicates the amount of time before the clock edge that data input D must be stable. As shown in Figure 4, D is stable ts time units before the rising 3

D

Q

D Q

Clk ts

th

D

Clk

Q t cd t clk−Q

Figure 4: Setup and Hold Time for Sequential Circuits clock edge. • Hold time (th ) - This value indicates the amount of time after the clock edge that data input D must be held stable. As shown in Figure 4, the hold time is always measured from the rising clock edge (for positive edge-triggered) to a point after the edge. Setup and hold times are restrictions that a flip-flop places on combinational or sequential circuitry that drives a flip-flop D input. The circuit must be designed so that the D flip flop input signal arrives at least ts time units before the clock edge and does not change until at least th time units after the clock edge. If either of these restrictions are violated for any of the flip-flops in the circuit, the circuit will not operate correctly. These restrictions limit the maximum clock frequency at which the circuit can operate. If the rising clock edges in Figure 1 are too close together, data will not have enough time to propagate through the circuit to the flip-flop input and arrive ts time units before the rising clock edge.

3

Determining the Max. Clock Frequency for a Sequential Circuit

Most digital circuits contain both combinational components (gates, muxes, adders, etc.) and sequential components (flip-flops). These components can be combined to form sequential circuits that perform computation and store results. By using combinational and sequential component parameters, it is possible to determine the maximum clock frequency at which a circuit will operate and generate correct results. This analysis can best be examined through use of an example. A sample sequential cicuit is shown in Figure 5. Before starting timing analysis, consider the flow of data in this circuit in response to a rising clock 4

t clk−Q = 10 ns t cd = 2 ns

t clk−Q = 10 ns t cd = 2 ns

t s = 2 ns t h = 2 ns

t cd = 2 ns t pd = 5 ns

D

D Q

X

Y

F

D Q

A

Out

B

Clk Figure 5: An Example Sequential Circuit edge, starting at flip-flop A. 1. Following the rising clock edge on Clk, a valid output appears on signal X after tClk−Q = 10 ns. 2. A valid output Y appears at the output of inverter F , tpd = 5 ns after a valid X arrives at the gate. 3. Signal Y is clocked into flip-flop B on the next rising clock edge. This signal must arrive at least ts = 2ns before the rising clock edge. As a result, the minimum clock period, Tmin of the circuit is: Tmin = tClk−Q (A) + tpd (F ) + ts (B) = 10ns + 5ns + 2ns = 17ns

(1)

1 1 and the maximum clock frequency of the circuit is Tmin = 17ns = 58.8 MHz. Waveforms that show the determination of the minimum clock period are show in Figure 6.

Since the Clk input is attached to both flip-flops, both will change value at the same time. On each clock edge, the same three steps starting from flip flop A are repeated. On the next edge, a new value is clocked into flip-flop B that is a result of the previous clock edge on flip-flop A. In a typical sequential circuit design there are often millions of flip-flop to flip-flop paths that need to be considered in calculating the maximum clock frequency. This frequency must be determined by locating the longest path among all the flip-flop paths in the circuit. For example, consider the circuit shown in Figure 7. In this example, there are three flip-flop to flip-flop paths (flop A to flop 5

D

t clk−Q

t pd

ts

X

Y

Clk Out

Figure 6: Timing Waveforms for the Circuit in Fig. 5 B, flop A to flop C, flop B to flop C). Using an approach similar to Equation 1, the delay along all three paths are: • TAB = tClk−Q (A) + ts (B) = 9 ns + 2 ns = 11 ns • TAC = tClk−Q (A) + tpd (Z) + ts (C) = 9 ns + 4 ns + 2 ns = 15 ns • TBC = tClk−Q (B) + tpd (Z) + ts (C) = 10 ns + 4 ns + 2 ns = 16 ns Since the TBC is the largest of the path delays, the minimum clock period for the circuit is Tmin 1 = 16 ns and the maximum clock frequency is Tmin = 62.5 MHz.

4

Validating Flip-Flop Hold Time

Unfortunately, simply designing a circuit for a specific maximum clock frequency is not enough to ensure that the circuit will work properly. As mentioned earlier, the hold time, th must be satisfied for each flip-flop input, indicating that each D input cannot change until th time units after the clock edge. Fortunately, the contamination delays of combinational circuitry and flip-flops help prevent flip-flop inputs from changing instantaneously. This observation can be illustrated by re-examining Figure 5. The hold time requirement on flip-flop B indicates that the Y input to flip-flop B should not change until at least 2 ns after the rising clock edge of Clk. By examining the circuit, it can be seen that the earliest the signal can start to change is equal to the sum of the contamination delays of flip-flop A and inverter X. Therefore, if 6

t clk−Q = 9 ns

t clk−Q = 9 ns

t cd = 2 ns

t cd = 2 ns

t s = 2 ns t h = 1 ns

t pd= 4 ns t cd = 2 ns

1111 0000 0000 1111 0000 1111 0000 1111 Comb. 0000 1111 Logic 0000 1111 0000 1111 0000 1111 0000 1111

A

t s = 2 ns t h = 1 ns

C

B t clk−Q = 10 ns t cd = 2 ns t s = 2 ns t h = 1 ns

Figure 7: Multi-path Sequential Circuit

th (B) ≤ tcd (A) + tcd (X)

(2)

the circuit is guaranteed to work correctly. Since th , 2 ns, is less than tcd (A) + tcd (B), 4 ns, the hold time is satisifed and the circuit will work correctly. A similar analysis can be performed along each flip-flop to flip-flop path in Figure 7. These three paths lead to the following relationships for the A to B, A to C, and B to C paths, respectively:

th (B) ≤ tcd (A) [A to B path]

(3)

th (C) ≤ tcd (A) + tcd (Z) [A to C path]

(4)

th (C) ≤ tcd (B) + tcd (Z) [B to C path]

(5)

plugging in the values from Figure 7 gives:

1ns ≤ 2ns [A to B path]

(6)

1ns ≤ 2ns + 2ns [A to C path]

(7)

1ns ≤ 2ns + 2ns [B to C path]

(8)

It is apparent that even the fastest flip-flop to flip-flop path (2 ns) is slower that the required hold time (1 ns). None of the flip flop input values will change until at least 2 ns following the clock edge due to the contamination delays along the paths. For each circuit in the path, the contamination delay guarantees that a change in the circuit input will not be shown at the circuit output until tcd time units. 7

5

Conclusion

Sequential circuits rely on a clock signal to control the movement of system data. Given a set of combinational and sequential components and their associated timing parameters, it is possible to determine the maximum clock frequency that can be used with the circuit. This analysis includes the examination of every flip-flop to flip-flop path in the circuit. The examination includes both the propagation delays along the paths and the data setup time at the destination flip-flop. Following the calculation of the maximum clock frequency, each flip-flop to flip-flop path can be examined to ensure that flip-flop hold times are satisfied. If the contamination delays along each path are greater than or equal to the destination flip flop hold time, the circuit will operate as designed.

References [1] S. Ward and R. Halstead. Computation Structures. McGraw-Hill, Boston, Ma, 1991.

8

Understanding Sequential Circuit Timing 1 Timing ... - CiteSeerX

Perhaps the two most distinguishing characteristics of a computer are its ... As we have discussed this term, edge-trigged flip flops, such as the D flip flop, are ...

52KB Sizes 0 Downloads 265 Views

Recommend Documents

Semiconductor device and timing control circuit
Jul 31, 2001 - Foreign Application Priority Data. Jun. ... 327/161. See application ?le for complete search history. (56) ..... n 1 H"Mm, InE D V.Rn u .L: ..F nS'u.

Selection of airgap layers for circuit timing optimization
Selection of Airgap Layers for Circuit Timing Optimization. Daijoon Hyun§‡ and ... CCC code: 0277-786X/17/$18 · doi: 10.1117/12.2258034. Proc. of SPIE Vol.

Selection of airgap layers for circuit timing optimization
J. Hwang, J. Seo, Y. Lee, S. Park, and J. Leem, “A middle-1X nm NAND flash memory cell (M1X-NAND) with highly manufacturable integration technologies,” in ...

1992 timing MS.pdf
Page 1. Whoops! There was a problem loading more pages. Retrying... 1992 timing MS.pdf. 1992 timing MS.pdf. Open. Extract. Open with. Sign In. Main menu.

Timing for Animation
book shows just how essential principles like timing are for the art of animation. Preface ... My co-author, who has drawn the majority of illustrations in this book, ...

Timing for Animation
technology, I quickly learned more about animation and the movement of objects than ever before. ... With computer animation software, anyone can make an object move. .... Neither time nor money is spared on animation. ...... Sometimes an effect does

Exposing Invisible Timing-based Traffic ... - Semantic Scholar
Permission to make digital or hard copies of all or part of this work for personal or ... lem, because they do not have a fixed signature. So far, only a few detection ...

Optimal Timing to Purchase Options
log αs dNs −. ∫ t. 0. ˆ λ(αs − 1)1. {s

Appendix A: Timing - Hand Cannon Online
If activating a unit, repeat steps 6 and 7 for all troopers, ... Compiled by brotherscott from Warmachine Prime MK II Pages 244 & 245 and Hordes Primal MK II, ...

Race Timing Kielder 2015v2.pdf
33 Stephen Wilburn Suncity Tri Wave 1 16:37:00 04:44:38 21:21:38 MV40 21 14 MV40. 76 Shaun Edwards Blackhill Bounders Wave 2 17:37:14 04:49:33 ...

2017 LBA Timing Rules.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. 2017 LBA ...

Exposing Invisible Timing-based Traffic ... - Semantic Scholar
sible in many scenarios (e.g., a public Web server not controlled by the detection ..... Although, to our best knowledge, the types of traffic to which the existing.

Timing-Driven Placement for Hierarchical ...
101 Innovation Drive. San Jose, CA ... Permission to make digital or hard copies of all or part of this work for personal or ... simulated annealing as a tool for timing-driven placement. In the .... example only, the interested reader can refer to t

Double timing wife part 2
Nina hartley jada. ... Descargar Historia del pensamiento político en la Edad Medi ...pdf. Leer en línea Historia del pensamiento político en la Edad Me ...pdf.

belkhayate timing indicator free.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. belkhayate ...

Race Timing Kielder 2015 Provisional.pdf
8 Heather Gould North Shields Polytechnic AC Wave 1 16:37:00 06:43:40 23:20:40 FV50 69. DNF Trish Thomson Unattached #N/A #N/A FV40. DNF Katherine ...

The Timing of Conscious States - Semantic Scholar
Program in Philosophy, Neuroscience, and Psychology, Washington University in St. Louis; and Program in Philosophy and Concentration in Cognitive Science, Graduate Center,. City University of New ... Many cognitive and clinical findings.

Timing and Reaction Time
nations, and recovery from errors), we had to do some additional data ..... Pre switch. 10. Experiment 1. 8. 6. 4. 2. 0. 10 _. A Experiment 2. Q. 9/ 3 . CD. Es'. [I 6. L-.

Dynamics, speech timing, and grammar
Dynamics of timing in speech production: clocks, coupling and entrainment. A challenging issue in speech production is understanding how the minimal units of speech production (e.g., gestures in the articulatory phonology of Browman & Goldstein,. 199

Modeling Timing Features in Broadcast News ... - Semantic Scholar
School of Computer Science. Carnegie Mellon University. 5000 Forbes Avenue .... TRECVID'03 best. 0.708. 0.856. Table 2. The experiment results of the classi-.