March 2006
Intermediate to advanced
576 pages
11h 43m
English
Instead of synthesizing synchronous circuits, an alternative solution, especially in the case of large circuits, is self-timing. As a matter of fact, the synchronous approach has some pitfalls:

Figure 10.7 Pipelined 128-bit adder.
As a generic example, consider the pipelined circuit of Figure 10.8. To each block, for example number i, are associated a maximum delay tmax(i) and an average one tav(i). The latency and throughput of the circuit of Figure 10.8 are equal to n.Tclk and 1/Tclk, respectively where Tclk > max{tmax(0), tmax(1), …, tmax(n − 1)}, that is,

Figure 10.8 Generic pipelined circuit.
![]()
A self-timed version of the same circuit is shown in Figure 10.9. The control is based on a request/acknowledge handshaking protocol: