What are buffers used for in the construction of the D latch?

142 Views Asked by At

I am reading a book Digital Design and Computer Architecture and in the chapter on the D trigger at the transistor level it says "A compact D latch can be constructed from a single transmission gate" and the following is an example of building a latch using this and buffers. I have a few questions:

  1. How is it that a latch can be built from a single transmission gate, if the Latch is a memory cell that should consist of two looped elements and store the state, and not just pass through a bit of information on a clock pulse.
  2. What are buffers used for when building a D trigger? I couldn't figure it out from what was written in the book. Can you explain this point in a little more detail? And why do they all invert the passing values?

Figure 3.12 (a). D latch constructed from a single transmission gate

Figure 3.12 (b) 12 transistor D latch

Figure 3.13 D-trigger

Figure 3.12

Figure 3.13

2

There are 2 best solutions below

0
Erik Eidt On

What are buffers used for when building a D trigger?

A latch is always and continuously open to respond to inputs that can change the value the latch stores.

However, many designs timed and are clocked, so that means we want to accept changes (requests to store potentially new value) only at the clock edge boundary but otherwise hold the latch with current state as is, as well as hold its output steady.  Clocked designs are tuned/timed so that the combinational (non-sequential) circuitry in between storage completes (just) before the next clock boundary and so can be recorded in registers and the next cycles go forth.  The general concept here is called an Edge Triggered Latch, which is also known as a Flip Flop used in clocked designs.

In order to limit the time period allowed for change of a latch, we add extra circuitry in front of the latch, the effect of this circuitry is to allow inputs to go through on certain time periods and otherwise suppress inputs for the others — allowing change only once per cycle, e.g. at a positive clock edge.

The extra circuitry added can be either a 2nd latch or pulse trigger.  These operate differently and have different advantages and disadvantages.

The 2nd latch approach typically always has one latch in the accepting change state and the other in the opposite state, the storage state (i.e. ignoring input changes).  The states of the two latches reverse every single clock edge (e.g. on the half clock).  Because of this, data transmits from one latch to another only at clock edge boundaries, and with two latches put together, we can make devices that accept input only on rising edge (or only on falling edge) of the clock, e.g. once per full clock cycle.

We might call the extra latch a buffer.

In pulse-triggered designs, we clip short the clock signal going to the latch so that it doesn't last as long as the full half cycle of the clock, and latch sees only a quick blip instead, as another approach to limiting the period of change.

For more information on the variations in Flip Flop designs and their trade offs see this text:

http://bwrcs.eecs.berkeley.edu/Classes/icdesign/ee241_s01/Lectures/lecture22-flipflops.pdf

0
Robert Wilingakar On
  1. The simple latch is actually acting like a sample and hold for analog signals. The memory is held by a capacitor holding the voltage or logic level. It doesn't pass through when in hold state, because the input is actually disconnected from the latching (holding) capacitor when in that state.

  2. The buffer is there to ensure a minimal load to the output of the latching (holding) capacitor. The buffer is in an inverted mode, and the input to the latch capacitor also is an inverter, hence canceling the inversion.