10.4 SELF-TIMED CIRCUITS
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:
- It assumes that all clock events happen at the same time over the complete circuit; this is not the case in reality (clock skew).
- The simultaneous transition of all clock signals might generate noise problems.
- The latency and throughput of the circuit are linked to the worst-case delay of the slowest element instead of the average case.
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,
A self-timed version of the same circuit is shown in Figure 10.9. The control is based on a request/acknowledge handshaking protocol:
- the Req input of block 0 is raised; if block 0 is free the data is registered (en), and the ...
Get Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.