行波計數器是指每個寄存器的輸出引腳連接到下一級寄存器的時鍾引腳上,如下圖所示:

用觸發器來驅動其他觸發器的時鍾輸入端,一般都會存在問題。由於每個寄存器都存在傳播延遲,且每一級觸發器時鍾的延遲會使下一級觸發器的輸入時鍾產生偏移,會造成累積延遲,如下圖所示。

行波計數器對於靜態時序分析是一個巨大的挑戰,因為行波計數器中的每個階段都產生了一個新的時鍾,這就需要靜態時序工具處理更多的時鍾域,從而會消耗更多的時間。
雖然,行波計數器存在諸多缺陷,但是行波計數器能夠減少電路的漏電流並較低電路功耗,下面通過一個實例來分析為什么行波計數器能夠減小功耗。接受電路使用低有效使能輸入信號,只在時鍾為低時才讀入4位計數器的值。一旦時鍾脈沖置高,接收電路就停止響應計數器電路的輸出。因為計數器電路是正沿觸發的,所以的計數器行為都發生在時鍾從低到高的過程中,這樣就使接收電路在計數器的4位輸出信號切換穩定之前一直處於無效狀態。直到時鍾信號返回狀態,接收電路才會開啟,這樣可以保證所有行波處於安全狀態時新計數器值才會讀入接收電路。


參考資料:The Art of Hardware Architecture