Title :
Pulse Width Allocation and Clock Skew Scheduling: Optimizing Sequential Circuits Based on Pulsed Latches
Author :
Lee, Hyein ; Paik, Seungwhun ; Shin, Youngsoo
Author_Institution :
Samsung Electron., Yongin, South Korea
fDate :
3/1/2010 12:00:00 AM
Abstract :
Pulsed latches, latches driven by a brief clock pulse, offer the same convenience of timing verification and optimization as flip-flop-based circuits, while retaining the advantages of latches over flip-flops. But a pulsed latch that uses a single pulse width has a lower bound on its clock period, limiting its capacity to deal with higher frequencies or operate at lower Vdd. The limitation still exists even when clock skew scheduling is employed, since the amount of skew that can be assigned and realized is practically limited due to process variation. For the first time, we formulate the problem of allocating pulse widths, out of a small discrete number of predefined widths, and scheduling clock skews, within a predefined upper bound on skew, for optimizing pulsed latch-based sequential circuits. We then present an algorithm called PWCS_Optimize (pulse width allocation and clock skew scheduling, PWCS) to solve the problem. The allocated skews are realized through synthesis of local clock trees between pulse generators and latches, and a global clock tree between a clock source and pulse generators. Experiments with 65-nm technology demonstrate that combining a small number of different pulse widths with clock skews of up to 10% of the clock period yield the minimum achievable clock period for many benchmark circuits. The results have an average figure of merit of 0.86, where 1.0 indicates a minimum clock period, and the average reduction in area by 11%. The design flow including PWCS_Optimize, placement and routing, and synthesis of local and global clock trees is presented and assessed with example circuits.
Keywords :
clocks; flip-flops; scheduling; sequential circuits; clock pulse; clock skew scheduling; clock source; clock trees; flip-flop-based circuits; pulse generators; pulse width allocation; pulsed latches; sequential circuits; skew allocation; timing verification; Circuit synthesis; Clocks; Flip-flops; Frequency; Latches; Pulse circuits; Pulse generation; Sequential circuits; Space vector pulse width modulation; Timing; Clock period; clock skew scheduling; clock tree; pulsed latch; sequential circuit;
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
DOI :
10.1109/TCAD.2010.2041845