Pulsed latches, latches driven by a brief clock pulse, offer the convenience of timing verification and optimization as in flip-flop-based circuits, while retaining superior design parameters of latches over flip-flops. But, pulsed latch-based design using a single pulse width has a limitation in reducing its clock period, which can be used for higher frequency or for lower $V_{dd}$. 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. The problem of allocating pulse widths (out of small discrete number of predefined widths) and scheduling clock skews (within prescribed upper bound of skew that can be reliably realized) is formulated, for the first time, for optimizing pulsed latch-based sequential circuits. An algorithm called PWCS_Optimize is proposed 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 small number of variety of pulse widths (up to 5) combined with clock skews (up to 10% of clock period) yield minimum achievable clock period for many benchmark circuits and figure of merit of 0.86 on average (1.0 indicates minimum clock period), while cutting area by 11% on average. The design flow including PWCS_Optimize, placement and routing, and synthesis of local and global clock trees is presented and assessed with example circuits.
본 연구는 펄스 래치를 사용하는 순차회로의 속도를 최적화 하는 것을 목적으로 하였다. 펄스 래치는 짧은 클락 펄스로 작동하는 래치로, 디자인 면에서 플립 플랍 보다 유리한 래치의 특성을 가지고 있으면서도 플립 플랍과 같은 간편한 타이밍 분석을 가능케 한다. 하지만 하나의 펄스 폭을 사용하는 펄스 래치는 플립 플랍을 대체하는 것에 불과하기 때문에, 타이밍 최적화 측면에서 한계를 가지고 있다. 클락 스큐 스케쥴링 기법이 적용 되어도 마찬가지인데, 그 이유는 구현할 수 있는 클락 스큐의 양이 공정 변이 때문에 제한 될 수밖에 없기 때문이다.
이러한 한계는 다중 펄스 폭을 사용한 펄스 래치를 사용함으로써 극복할 수 있다. 본 연구에서는 이 점에 착안하여, 할당 가능한 다중 펄스 폭이 정해져 있고, 클락 스큐가 제한 되어 있다는 가정 아래, 다중 펄스 폭 할당 및 클락 스큐 스케쥴링 문제와, 이를 풀어 내는 PWCS_Optimize 알고리즘을 제안하였다. 또한 이 알고리즘을 통하여 얻은 펄스 폭과 클락 스큐를 구현하는 클락 트리 생성 알고리즘을 제안하였다. 실험은 65-nm 공정하에서 이루어졌으며, 5개의 펄스 폭이 제공 되고 clock skew가 클락 주기의 10%로 제한된 환경 아래 0.86의 성능 지수 (1.0은 최소 클락 주기를 달성했음을 의미)를 달성 했으며, 펄스 생성기및 홀드 타임 위반을 고치기 위한 버퍼가 추가 되었음에도 불구하고 11%의 면적 감소를 보였다.