行波计数器是指每个寄存器的输出引脚连接到下一级寄存器的时钟引脚上,如下图所示:
用触发器来驱动其他触发器的时钟输入端,一般都会存在问题。由于每个寄存器都存在传播延迟,且每一级触发器时钟的延迟会使下一级触发器的输入时钟产生偏移,会造成累积延迟,如下图所示。
行波计数器对于静态时序分析是一个巨大的挑战,因为行波计数器中的每个阶段都产生了一个新的时钟,这就需要静态时序工具处理更多的时钟域,从而会消耗更多的时间。
虽然,行波计数器存在诸多缺陷,但是行波计数器能够减少电路的漏电流并较低电路功耗,下面通过一个实例来分析为什么行波计数器能够减小功耗。接受电路使用低有效使能输入信号,只在时钟为低时才读入4位计数器的值。一旦时钟脉冲置高,接收电路就停止响应计数器电路的输出。因为计数器电路是正沿触发的,所以的计数器行为都发生在时钟从低到高的过程中,这样就使接收电路在计数器的4位输出信号切换稳定之前一直处于无效状态。直到时钟信号返回状态,接收电路才会开启,这样可以保证所有行波处于安全状态时新计数器值才会读入接收电路。