15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

of the cycle time, the effective parallelism achieved is only N × 0.8. If the clock rate were doubled by<br />

making the pipeline twice as deep, e.g., by inserting one additional latch or flip-flop per stage, then the<br />

pipeline overhead would become 40% of the cycle time, or correspondingly, the achieved parallelism 2<br />

× N × 0.6. So in such a case, a doubling of the clock rate translates into a 50% only increase in performance<br />

(2 × 0.6/0.8 = 1.50). In practice, other architectural factors, some of them mentioned above, would reduce<br />

the performance gain even further.<br />

From the above discussion, it becomes clear that in selecting a latch type and clocking scheme, the<br />

minimization of the pipeline overhead is key to performance; however, as discussed in detail throughout<br />

this chapter section, performance is not the only criterion that designers should follow in making such<br />

a selection. In addition to the pipeline overhead, latch- and flip-flop-based designs are prone to races.<br />

This term refers to fast signals propagating through contiguous pipeline stages within the same clock<br />

cycle, resulting in data corruption. Although this problem does not reflect directly in performance, it is<br />

the nightmare of designers because it is usually fatal. If it appears in silicon, it is extremely hard to debug,<br />

and therefore it is generally detrimental to the design cycle. Furthermore, since most of the design time<br />

is spent on verification, particularly timing verification, a system that is susceptible to races takes longer<br />

to design.<br />

Other design considerations, such as layout area, power dissipation, power-delay product, design robustness,<br />

clock distribution, and timing verification, some of which are discussed in this chapter section, must<br />

also be carefully considered in selecting a particular latching design.<br />

Nomenclature and Symbols<br />

The nomenclature and symbols used throughout this chapter are shown in Fig. 10.27. The polarity of the<br />

clock is indicated with a conventional bubble. The presence of the bubble means the latch is transparentlow<br />

or that the flip-flop samples with the negative edge of clock. Conversely, the lack of the bubble means<br />

the latch is transparent-high, or that the flip-flop samples with the positive edge of clock. The term opaque,<br />

FIGURE 10.27 Symbols used for latches, flip-flops, and pulsed latches.<br />

© 2002 by CRC Press LLC<br />

D<br />

CK<br />

Transparent-High Latch<br />

D<br />

D<br />

CK<br />

CK<br />

Q D<br />

Q<br />

CK<br />

Transparent-Low Latch<br />

Q D<br />

Q<br />

Positive Edge-Triggered Flip-Flop Negative Edge-Triggered Flip-Flop<br />

CK<br />

Q D<br />

Q<br />

Transparent-High Pulsed-Latch Transparent-Low Pulsed-Latch<br />

CK

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

Saved successfully!

Ooh no, something went wrong!