門控時鐘(Clockgating),通過關閉晶片上暫時用不到的功能和它的時鐘,可以節省電能。
基本介紹
- 中文名:門控時鐘
- 外文名:Clockgating
門控時鐘(英語:Clockgating),“門控”是指一個時鐘信號與另外一個非時鐘信號作邏輯輸出的時鐘。例如,用一個控制信號“與”一個clk,可以控制clk的起作用時間。可以通過關閉晶片上暫時用不到的功能和它的時鐘,從而實現節省電流消耗的目的。門控時鐘是低功耗設計中的一種最有效的方法。
門控時鐘是一種在同步時序邏輯電路的一種時間脈衝信號技術,可以降低晶片功耗。門控時鐘通過在電路中增加額外的邏輯單元、最佳化時鐘樹結構來節省電能。
可以通過以下幾種方式在設計中添加門控時鐘邏輯:
通過暫存器傳輸級編程中的條件選擇來實現使能信號,從而在邏輯綜合過程自動被翻譯為門控時鐘;
通過實例化特殊的門控時鐘單元,來把門控時鐘插入到設計中去;
使用專門的門控時鐘工具添加。
可以通過以下幾種方式在設計中添加門控時鐘邏輯:
通過暫存器傳輸級編程中的條件選擇來實現使能信號,從而在邏輯綜合過程自動被翻譯為門控時鐘;
通過實例化特殊的門控時鐘單元,來把門控時鐘插入到設計中去;
使用專門的門控時鐘工具添加。
門控時鐘根據其關閉觸發器數量可以分為粗粒度門控時鐘(coarse-grained)、中粒度(medium-grained)門控時鐘和細粒度(fine-grained)門控時鐘。用一個門控制單元關閉整個模組的方法是粗粒度的門控時鐘,幾乎所有的低功耗設計中都會用到這種方法,這種方法在時鐘樹綜合時,將門控單元放置在靠近根節點的位置,時鐘樹很容易實現。細粒度的門控時鐘是關閉一個模組中部分不工作的暫存器的一種方法,一般十幾個或者幾十個觸發器用一個門控單元去控制,因此門控單元大量的存在於晶片中,從而給時鐘樹綜合帶來一定的難度,在EDA工具中,都需要對其進行特殊地處理。
最簡單的門控時鐘時一個與門,與門的一端輸入能使信號,一端輸入的是時鐘信號,但是這樣的門控時鐘存在競爭和冒險,從而導致晶片不穩定 。常用的門控時鐘是由鎖存器和與門以及其他的一些邏輯門組成。對於普通暫存器、帶異步復位端的暫存器以及帶測試端的暫存器都有相應的門控方式,圖1為帶測試端的門控時鐘。