這一部分描述了:
? 時鐘門控的級別。
? 實現最大效果的時鐘門位置。
? 實現有效和高效時鐘門控的集成方法。
時鐘樹是由時鐘緩沖器構建的,這些緩沖器在時鐘源(時鐘輸入或PLL)與時鐘終端(寄存器或RAM)之間的物理距離上傳播時鐘。在樹的分支上添加額外的緩沖器,以平衡每個同步終端處的時鐘到達時間。這有助于通過在同步元素之間允許邏輯傳播的最大時間來實現時序閉合。
時鐘樹緩沖器中的時鐘切換會消耗動態功耗,無論在終端是否執行任何有用的工作。因此,為了構建一個功耗高效的系統,除了對終端進行門控外,還需要盡可能對整個時鐘樹進行門控。
在空閑情況下,如果沒有高級時鐘門控,時鐘樹功耗將主導動態功耗消耗。
1.1 時鐘門控級別
這一部分描述了系統中可能存在多個級別的時鐘門控。本規范使用以下分類:
? 低級別:由綜合工具自動插入的時鐘門。
? 中級別:在組件內部實例化的時鐘門控,通常是同步控制的。
? 高級別:整個時鐘域的實例化門控。
這些時鐘門控級別是互補的,應該在結構內部存在其他級別的情況下進行實現。每個級別都具有不同程度的功耗節省和時間粒度的優勢。圖7.1提供了這些時鐘門控級別的示意圖。
低級別時鐘門控
低級別時鐘門是由綜合工具插入的,它們直接放置在一組觸發器的前面,并替代了啟用功能,從而節省了面積和功耗。
低級別門的粒度非常細致。在理想情況下,具有低級別時鐘門的終端在觸發器不更新時被門控。然而,它們只對觸發器進行門控,而不對時鐘樹進行門控,并且由于下面解釋的原因,不能在整個設計中放置。
這些時鐘門的啟用是從RTL中表示的觸發器的功能啟用中推導出的。在功能啟用由最少數量的觸發器共享的地方插入時鐘門。這個最小數量由綜合約束設置,通常基于重構的功耗-面積平衡點。
圖7.2和圖7.3說明了一個使用多路反饋的標準觸發器使能,以及如何通過合成工具對其進行重構以為觸發器添加時鐘門。
然而,由于以下原因,綜合工具有時不會插入低級別時鐘門:
? 沒有啟用。
? 啟用未被綜合工具識別。
- 這可能是因為啟用邏輯上過于復雜,或者不以綜合工具容易識別的方式結構化。
? 在所需的時間窗口內,啟用項可能過于邏輯復雜。
? 由啟用控制的觸發器數量少于綜合約束設置的最小閾值。
因此,低級別時鐘門控雖然非常重要,但由于對子集觸發器和大多數時鐘樹缺乏時鐘門控覆蓋,無法產生完全功耗高效的系統。
中級別時鐘門控
這些時鐘門是由設計人員在RTL中實例化的,用于在操作期間空閑的邏輯塊的門控。
啟用由周圍邏輯控制,并且通常在單個時鐘周期內同步啟用和禁用,以對功能操作透明。由于這些啟用需要滿足同步定時要求,時鐘門仍然被放置在時鐘樹的較低位置。此放置避免了邏輯和時鐘門之間的偏差,從而縮小了啟用時間窗口。
盡管對設計的較大部分進行門控,但這些中級別時鐘門并未對整體時鐘樹進行大規模的門控。門控的確切數量取決于設計的定時要求和啟用的邏輯復雜性。為了構建一個完全功耗高效的系統,需要額外的門控。
高級別時鐘門控
這些時鐘門是按時鐘域插入的,并理想地放置在時鐘樹的根部。當時鐘域空閑時,這種布局導致動態功率接近于零。
時鐘根和終端之間的時鐘延遲通常大于同步信號傳播的定時窗口。因此,啟用控制信號必須被視為與時鐘終端異步的。
由于以下原因,這給動態時鐘門控帶來了問題:
? 設備處于空閑狀態,時鐘被門控。
? 請求設備活動和時鐘變得可用之間存在延遲。
因此,需要一種方法來提供與時鐘供應和移除相關的保證,以確保組件的正確操作。這在7.1.2高級別時鐘門控方法中進行了描述。
盡管這種技術提供了最大的節省,但它可以應用的粒度要低得多,因此重要的是與其他門控級別結合使用。