加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

組合時鐘門控Vs順序時鐘門控

2021/01/07
469
閱讀需 13 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

關(guān)于 clock gating 已經(jīng)寫過:《clock gating | 從 ICG cell 在 library 中的定義說起》《clock gating | Gating 的插入與驗證》《clock gating | clock gating 的 timing check》《clock gating | ODC-based Clock Gating》。最近在學習 Joules 20.1 update training 時又接觸到了兩個新概念:combinational clock gating 跟 sequential clock gating, 觍著老臉去問研發(fā)大爺這是啥,大爺說:你丫不能自己谷歌一下嗎?于是在 ElectronicDesign 上找到了一篇好文章,深入簡出地描述了兩者的區(qū)別。

概括來說,combinational clock gating 就是通常所說的 clock gating, 它不改變電路的邏輯功能,對設(shè)計實現(xiàn)影響沒有,但是它只能省掉 clock 的多余 toggle. 

Sequential clock gating 的搜索空間更大,在時序路徑多級寄存器之間進行分析,找到所有冗余的翻轉(zhuǎn),該類 Gating 通常有兩種:

  • 基于可觀察性的時鐘門控,對寄存器的寫操作在下游是不可觀察的。以下是第一種類型的示例,在某些情況下,在設(shè)計輸出端永遠不會觀察到對寄存器的寫操作。如果信號 vld_2 在特定周期中為低電平,則寄存器 dout 會保留其較早的值。這意味著在寄存器 d_2(回退一個周期,在 d_1,兩個回退周期)中發(fā)生的寫操作是多余的。基于可觀察性的時鐘門控可識別此冗余寫入,并基于 vld 信號添加合適的門控條件。

 

  • 基于穩(wěn)定性的時鐘門控,寫入要求對設(shè)計進行多周期分析。以下顯示了第二種類型的冗余寫入的示例。這是在連續(xù)的時鐘周期內(nèi)將相同的值寫入寄存器的地方。當信號 vld_1 和 vld_2 為低電平時,寄存器 f_1 和 g_1 保持其先前保持的值。因此,在下一個時鐘周期寫入寄存器 f_2 和 g_2 的值與在前一個周期寫入寄存器 f_2 和 g_2 的值相同。基于穩(wěn)定性的時鐘門控可識別冗余寫入,并使用針對 f_2 的 vld_1 的一個周期延遲版本(以及類似地針對 g_2 的 vld_2 的一個周期延遲版本)來添加合適的門控條件。

 

下面一部分原文照辦,包括:

如何分析設(shè)計找到可以插入 Sequential clock gating 的點。

Sequential clock gating 可以多省哪些 power.

Sequential clock gating 對設(shè)計驗證有哪些影響。

目前業(yè)界如何做 Sequential clock gating.

識別順序時鐘門控機會

組合時鐘門控已成為 RTL 綜合工具的一部分,并已成為優(yōu)化功率的可靠工具。綜合工具很少會錯過組合的時鐘門控機會。但是,在某些情況下,對寄存器的自分配使用復雜的邏輯(跨越多個設(shè)計層次結(jié)構(gòu)或編寫為單獨的函數(shù)),這可能會導致 RTL 綜合工具難以識別組合時鐘門控。在這種情況下,設(shè)計人員可以簡化復雜的邏輯,并將其重寫為寄存器分配的“ if”語句,從而簡化 RTL 綜合工具的工作。但是,確定順序時鐘門控機會不在 RTL 綜合工具的范圍內(nèi)。具有功耗意識的設(shè)計人員嘗試分析寄存器的冗余訪問(不可觀察或穩(wěn)定的寫入),并尋找可以關(guān)閉此類訪問的條件。沒有一個已知的方法可以實現(xiàn)這一目標,并且隨著時間的推移,設(shè)計師大多會發(fā)展這種專業(yè)知識。即使這樣,在沒有適當幫助的情況下,該過程也可能非常繁瑣且容易出錯。向市場推出的順序時鐘門控工具可以幫助手動探索順序時鐘門控機會,也可以自動進行。設(shè)計人員可以根據(jù)自己的計劃和工具的舒適性來選擇所需的方法(手動還是自動)。該工具必須滿足一些要求,以使 RTL 設(shè)計人員的工作更輕松,無論它是在自動還是手動探索模式下使用:

  • 通過消除對寄存器的冗余寫入來獲得關(guān)于可能的總節(jié)電的早期反饋時鐘門控表達式以及有關(guān)如何將其放入 RTL 的說明,此外,還提供了一種更改表達式的方式,以便用戶可以對其進行配置以滿足自己的要求(易于時鐘門控表達式的節(jié)電和面積成本的準確估算如果工具錯過了創(chuàng)建一些時鐘門控表達式的時間,則必須向用戶提供有關(guān)潛在節(jié)電和更改的信息(RTL,工具約束等),用戶可以用來幫助實現(xiàn)這些表達式

這樣的流程將使設(shè)計人員盡早通知設(shè)計中是否存在巨大的功耗優(yōu)化潛力。如果不是這樣,則設(shè)計人員可以只專注于目標,例如面積和性能。范圍級別還將指示應(yīng)該為功耗優(yōu)化付出多少努力。由于設(shè)計人員了解每種潛在更改的功率影響(包括時鐘門控表達式,RTL 或約束更改,具有最大節(jié)電潛力的寄存器等),因此設(shè)計人員可以根據(jù)交貨時間表確定更改的優(yōu)先級。在順序時鐘門控工具運行完成后,設(shè)計人員將知道該設(shè)計已實現(xiàn)了多少潛在的總功耗節(jié)省。

順序時鐘門控對功率的影響

估計組合時鐘門控表達式的省電潛力相對容易。在降低驅(qū)動寄存器的時鐘網(wǎng)絡(luò)的開關(guān)活動之后,計算時鐘門控寄存器的功率變化。設(shè)計中存在禁用時鐘網(wǎng)絡(luò)的信號,通過使用組合開關(guān)活動傳播技術(shù),很容易計算出其對時鐘網(wǎng)絡(luò)開關(guān)的影響。但是,順序時鐘門控會改變設(shè)計的順序特性。例如,為了對圖 2 所示的電路執(zhí)行基于可觀察性的時鐘門控,信號 vld_1 將用于選通即將進入寄存器 d_2 的時鐘。這不僅會改變時鐘切換,而且還會改變寄存器 d_2 輸出上的切換活動,進而會影響寄存器 d_2 整個扇出的切換活動。下圖顯示了由于時序時鐘門控寄存器 d_2 而開關(guān)活動將改變的區(qū)域(陰影)。如果僅報告對寄存器功率的影響,則可能會拒絕潛在的良好時鐘門控表達式(因為它可以節(jié)省大量的數(shù)據(jù)路徑功率)。

因此,為了計算準確的功率,需要計算所有受影響信號和新信號的開關(guān)活動。在做出優(yōu)化決策或向用戶展示機會時,該工具必須考慮到連續(xù)時鐘門控更改對實際節(jié)電的影響。自動化工具必須評估成千上萬個這樣的門控表達式,因此功效計算必須非???,同時不應(yīng)影響計算的準確性。

驗證影響

組合時鐘門控的行為不會改變設(shè)計中寄存器的功能,因此,傳統(tǒng)的邏輯等效檢查器(LEC)可用于驗證此類時鐘門控變換的正確性。另一方面,順序時鐘門控會改變設(shè)計的順序特性。例如,如果使用信號 vld_1 對圖 2 中的寄存器 d_2 進行門控,則其輸出將不再與原始設(shè)計相同。但是,設(shè)計輸出保持不變。傳統(tǒng)的 LEC 工具無法驗證這些更改的等效性,因為它們要求被驗證的兩個設(shè)計的寄存器行為相同。市場上的順序邏輯等效檢查器(SLEC)可以幫助驗證對設(shè)計進行的順序更改的正確性(例如流水線,重新定時,重新計劃,時鐘門控等)。)。可以部署此類工具來驗證順序時鐘門控更改的正確性。用戶必須了解以下要求,以驗證時鐘選通更改的正確性:

優(yōu)化工具本身無法聲稱其所做更改的正確性

驗證工具應(yīng)能夠獨立驗證對設(shè)計進行的順序更改的正確性(通過自動化或手動方式)

驗證應(yīng)快速而正式

基于仿真矢量的驗證不能保證順序更改的正確性,因為該錯誤可能會深入幾個周期,并且可能未被發(fā)現(xiàn)

設(shè)計流程支持

在所有 RTL 綜合工具中,組合時鐘門控已作為內(nèi)部優(yōu)化步驟出現(xiàn)。RTL 綜合工具本身支持各種設(shè)計流程要求:自下而上,工程變更單(ECO)等。但是,順序時鐘門控仍然是設(shè)計流程的中間階段。設(shè)計人員是手動執(zhí)行此操作,還是自動化工具正在對 RTL 進行此類更改。對于自動化工具,編寫更改的 RTL 的要求包括:全面支持所有 HDL(SystemVerilog,Verilog,VHDL 等)及其混合;對 RTL 的最小更改(保留所有用戶注釋,格式和預(yù)處理程序)指令,例如宏,定義,包含等);書面 RTL 的全面可配置性,以支持特定于各個設(shè)計公司的 Lint 規(guī)則要求;

如果順序時鐘門控工具處于自動化設(shè)計流程中,則它需要為 ECO 提供完整的支持。RTL 中的 ECO 更改可能會使自動化工具進行的某些優(yōu)化無效。用于 ECO 支持的自動化工具的要求是??:

只刪除無效的那些優(yōu)化,不再更多

輸出 RTL 應(yīng)該與上一次運行的 RTL 輸出相同(除了使某些優(yōu)化無效所需的更改之外)

關(guān)于如何在門級網(wǎng)表中實現(xiàn)某些優(yōu)化無效的明確指令

與 RTL 綜合工具配合使用,以在門級實現(xiàn)所需的 ECO

其他一些注意事項也很重要。例如,優(yōu)化必須了解時序,并且必須有一種方法可以將所使用的特定 RTL 綜合工具的反饋考慮在內(nèi)。

優(yōu)化不應(yīng)引入任何違反時鐘域的行為。最后,必須有自動化來覆蓋優(yōu)化的各個方面,例如發(fā)現(xiàn)時鐘門控表達式,評估其節(jié)能效果并將其自動插入 RTL 中,以及處理設(shè)計流程中的其他階段。后者包括驗證,時鐘域檢查以及順序時鐘門控工具與主流 RTL 綜合工具的集成。

 

結(jié)論

順序時鐘門控可節(jié)省大量功率,因為??它不僅可以關(guān)閉去往寄存器的時鐘,而且可以關(guān)閉門控寄存器的扇出中的數(shù)據(jù)路徑邏輯。但是,RTL 綜合工具無法識別順序的時鐘門控機會。幸運的是,最近推出的順序時鐘門控工具可以自動執(zhí)行此過程,或者有助于手動探索順序時鐘門控機會,從而幫助 RTL 設(shè)計人員實現(xiàn)低功耗設(shè)計。時序時鐘門控在功耗估算,驗證和設(shè)計流程支持方面都面臨著獨特的挑戰(zhàn),而自動工具必須解決所有這些挑戰(zhàn),以在最短的時間內(nèi)提供最佳的節(jié)能效果。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

公眾號陌上風騎驢看IC號主,EDA 老油條,熱衷于調(diào)侃EDA ,鉆研數(shù)字實現(xiàn)流程,江湖人稱老驢。