Skip to main content Accessibility help
×
Hostname: page-component-74656f9884-g96k6 Total loading time: 0 Render date: 2026-11-09T23:42:57.258Z Has data issue: false hasContentIssue false

27 - Flip-flops

from Part VII - Asynchronous logic

Published online by Cambridge University Press:  01 February 2019

William J. Dally
Affiliation:
Stanford University, California
R. Curtis Harting
Affiliation:
Google Inc., New York
Tor M. Aamodt
Affiliation:
University of British Columbia, Vancouver
Get access

Summary

Flip-flops are among the most critical circuits in a modern digital system. As we have seen in previous chapters, flip-flops are central to all synchronous sequential logic. Registers (built from flip-flops) hold the state (both control and data state) of all of our finite-state machines. In addition to this central role in logic design, flip-flops also consume a large fraction of the die area, power, and cycle time of a typical digital system.

Until now, we have considered a flip-flop as a black box. In this chapter, we study the internal workings of the flip-flop. We derive the logic design of a typical D flip-flop and show how the timing properties introduced in Chapter 15 follow from this design.

We first develop the flip-flop design informally – following an intuitive argument. We start by developing the latch. The implementation of a latch follows directly from its specification. From the implementation we can then derive the setup, hold, and delay times of the latch. We then see how to build a flip-flop by combining two latches in a master–slave arrangement. The timing properties of the flip-flop can then be derived from its implementation.

Following this informal development, we then derive the design of a latch and flip-flop using flow-table synthesis. This serves both to reinforce the properties of these storage elements and to give a good example of flow-table synthesis. We introduce the concept of state equivalence during this derivation. This formal derivation can be skipped by a casual reader.

INSIDE A LATCH

A schematic symbol for a latch is shown in Figure 27.1(a), and waveforms illustrating its behavior and timing are shown in Figure 27.1(b). A latch has two inputs, data d and enable g, and one output, q. When the enable input is high, the output follows the input. When the enable input is low, the output holds its current state.

As shown in Figure 27.1(b), a latch, like a flip-flop, has a setup time ts and a hold time th. An input must be setup ts before the enable falls and held for th after the enable has fallen in order for the input value to be correctly stored. Latch delay is characterized by both delay from the enable rising to the output changing, tdGQ, and delay from the data input changing to the output changing, tdDQ.

Information

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Book purchase

Temporarily unavailable

Save book to Kindle

To save this book to your Kindle, first ensure no-reply@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Available formats
×

Save book to Dropbox

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Dropbox.

Available formats
×

Save book to Google Drive

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Google Drive.

Available formats
×