https://zhuanlan.zhihu.com/p/48159476
大多數低功耗設計手法在嚴格意義上說并不是由后端控制的,Clock Gating也不例外。在一顆芯片中,絕大多數的Clock Gating都是前端設計者或者EDA綜合工具自動加上去的,后端只有在極端例外的情況下才會動到它們。
盡管如此,Clock Gating的影響與后端息息相關,甚至會引起后端的一些問題,因此我們有必要從頭理解一下它的原理。
芯片功耗從原理上區分主要有兩大類:**靜態功耗(Static Power)**和**動態功耗(Dynamic Power)**。二者的形成原因如下:

所謂**動態功耗**,主要是由于信號的翻轉從而導致器件內部的寄生RC充放電引起的,而**靜態功耗**則是由器件在通電狀態下的泄漏電流(Leakage Current)引起的。對此,為了節約動態功耗,最初有個十分簡單的想法:在芯片實際工作過程中,有些信號或者功能并不需要一直開啟,那么就可以在它門不用的時候將其時鐘信號關閉。這樣一來信號不再翻轉,從而能夠有效減少動態功耗,這就是Clock Gating。

那么Clock Gating是如何被加入到design中的呢?下面的例子介紹了在RTL階段加入Clock Gating的方法:

可以看到在加入Clock Gating之后,DFF的clock信號前多了一個使能端EN,從而可以控制該時鐘信號的打開與關閉。
除此之外,在綜合階段,EDA工具同樣支持自動插入Clock Gating。以Synopsys公司的Design Compiler工具為例,簡單的插入Clock Gating的方法如下:

Clock Gating在后端會引起一些問題,尤其在Setup Timing以及時鐘樹綜合階段,有時候會需要做一些特殊的處理
為了盡量避免ICG的setup timing,解決辦法之一是將ICG放在距離register(sink)盡量近的地方:

- 電子元器件
- 電阻
- 電容器
- 電感
- 保險絲
- 二極管
- 三極管
- 接插件
- 蜂鳴器
- MOS
- 集成電器基礎知識
- 接地的基礎知識
- STA
- Skew
- setup和hold
- 問題
- timing path
- Latency
- 跨時鐘域的代碼檢查(spyglass)
- 時間換算
- 名詞解釋
- 寄存器
- 觸發器
- ECO
- 通用芯片和嵌入式芯片有什么區別
- Signoff
- SOC
- VLSI
- NPU
- DDR
- ISP
- Fan-in 和 Fan-out
- 邏輯閾值
- Floorplan
- 寄存器傳輸的設計(RTL)
- 集成電路設計方法
- Design Rules of Thumb
- Dealing with Resistance
- 芯片設計
- 什么是Scenario?
- 晶圓BUMP加工工藝和原理
- wafer、die、cell
- DFT
- 前端-QC
- CDC
- SDC
- MBIST
- RDC
- Lint
- overview
- PV
- PBA/GPA
- Corner
- PVT
- latency與delay區別
- Power
- LVT, RVT, HVT 的區別
- PPA
- RTL
- 芯片行業的IP是指什么?
- 晶振與晶體的區別
- PLL (鎖相環(PhaseLockedLoop))
- 奇偶分頻電路
- inverter
- glitch (電子脈沖)
- Power
- Clock Gating
- 低功耗設計
- UPF
- 低功耗單元庫
- Power intent
- 亞穩態
- 芯片流程
- 芯片軟件
- 亞穩態&MTBF&同步器&AFIFO
- glitch free的時鐘切換技術
- max_transition
- MUX
- STA之RC Corner
- process corner 和 PVT
- ICC Scenario Definition
- 寄生電路?
- 晶振
- 信號完整性
- 什么是脈沖?什么是電平?
- 閾值電壓
- bump
- IC設計常用文件及格式介紹
- 文件格式
- spef
- 后端
- phy芯片的作用
- MIPI簡介
- 異步橋
- 芯片后仿之SDF
- 慕課-VLSI設計基礎(數字集成電路設計基礎)
- 概論
- MOS晶體管原理
- 設計與工藝接口
- 反相器和組合邏輯電路
- 問題trainning