15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

for min-timing because the PLL jitter, a significant component in max-timing, is not part of the clock<br />

skew in this case. From a max-timing perspective, Table 10.8 shows that pulsed latches have the minimum<br />

pipeline overhead, the winner being the pulsed transmission gate. The unbuffered transmission gate latch<br />

is a close second. But as pointed out earlier, unbuffered transmission gates are rarely allowed in practice.<br />

In the flip-flop group, SDFF is the best, while the buffered master-slave flip-flop is the worst. Merging a<br />

logic gate inside the latch or flip-flop may result in additional 5% or more reduction in the pipeline<br />

overhead, depending on the relative complexity of the logic function. Precharged designs such as SDFF<br />

or the sense-amplifier flip-flop are best suited to incorporate logic efficiently. From a min-timing perspective,<br />

pulsed latches with externally generated pulses are the worst, while the buffered master-slave<br />

flip-flop is the best. If the pulse is embedded in the circuit (like in SDFF or HLFF), min-timing requirements<br />

are more relaxed. It should be noticed that because of manufacturing tolerances, the minimum<br />

delay requirement is usually larger than what Table 10.8 (fifth column) suggests. One or two additional<br />

gate delays is in general sufficient to provide enough margin to the design.<br />

Although pulsed latches are the best for max-timing, designers must keep in mind that max-timing<br />

is not the only criterion used when selecting a latching style. The longer hold time of pulsed latches may<br />

result in too many race conditions, forcing designers to spend a great deal of time in min-timing<br />

verification and min-timing fixing, which could otherwise be devoted to max-timing optimization. Ease<br />

of timing verification is also of great importance, especially in an industry where a simple and easily<br />

understood methodology translates into shorter design cycles. With the advancement of design automation,<br />

min-timing fixing (i.e., buffer insertion) should not be a big obstacle to using pulsed latches. Finally,<br />

notice that the selection of a latching technique can affect the cycle time of a design by 10–20%. It is important<br />

that designers look into all design trade-offs discussed throughout this chapter section in making the right<br />

selection of the latching scheme.<br />

For a similar analysis of some of the designs included in this section but based on actual transistor<br />

sizing and SPICE simulation, including a power-delay analysis, the reader is referred to [26].<br />

Scan Chain Design<br />

The previous sub-section covered the design of latches and flip-flops and presented a performance analysis<br />

of each of the circuits. In practice, however, these circuits are rarely implemented as shown. This is<br />

because in many cases, to improve testability, a widely accepted practice is to add scan circuitry to the<br />

design. The addition of scan circuitry alters both the circuit topology and the performance of the design.<br />

The design of scannable latches and flip-flops is the subject of this sub-section.<br />

As mentioned previously, a widely accepted industrial practice to efficiently test and debug sequential<br />

circuits is the use of scan design techniques. In a scan-based design, some or all of the latches or flip-flops<br />

in a circuit are linked into a single or multiple scan chains. This<br />

allows data to be serially shifted into and out of the scan chain, greatly<br />

enhancing controllability and observability of internal nodes in the<br />

SE<br />

design. After the circuit has been tested, the scan mechanism is<br />

Data<br />

disabled and the latches of flip-flops operate independently of one<br />

Scan Q<br />

another. So a scannable latch or flip-flop must operate in two modes:<br />

a scan mode, where the circuit samples the scan input, and a data<br />

CK<br />

mode, where the circuit samples the data input. Conceptually, this<br />

may be implemented as a 2:1 multiplexor inserted in the front of the<br />

FIGURE 10.70 A scannable latch.<br />

latch, as suggested in Fig. 10.70. A control signal SE selects the scan<br />

input if asserted (i.e., scan mode) or the data input otherwise.<br />

A straightforward implementation of the scan design of Fig. 10.70 consists of adding, or merging, a 2to-1<br />

multiplexor to the latch. Unfortunately, this would result in higher pipelining overhead because of<br />

the additional multiplexor delay, even when the circuit operates in data mode, or would limit the<br />

embedding of additional logic. It becomes apparent that a scan design should affect as little as possible<br />

the timing characteristic of the latch or flip-flop when in data mode, specifically its latency and hold<br />

time. In addition, it is imperative that the scan design be robust. A defective scan chain will prevent data<br />

© 2002 by CRC Press LLC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!