付費限定

[Verilog] 10分鐘由淺入深看懂 clock gating (1) - low power design

更新於 2024/11/28閱讀時間約 6 分鐘

先前文章中提提了幾種low power design常用的手法

[Verilog] 10分鐘看懂IC design的low power design - 1 (原創)

其中最廣為使用的招數就是clock gating

藉由停住當下沒在運作的module clk 及clk network 來達到節省dynamic power的效果


那麼這篇來聊聊clk gating的細節

探討一下如何將網路上那些破碎的資訊一一串起


首先對於clk gating來說他還有一個好朋友

一樣是被創出來做為省dynamic power的技巧,稱為data gating

和clk gating的差異在一個是掐斷不必要的Data update一個則是對掐斷clk下手

因此在這邊先來探討一下逐漸少見的Data gating

raw-image


data gating 對於reg的D端做一個enable來決定說當前的D0使否是有需要的,

如果沒意義的話即可以不做update data以省下dynamic power的消耗,

對於clk端則是free run.


當我的input data不動了,自然power也省了,

雖然這個設計上確實可以降低data update的頻率,

但是實際使用上得到的效益卻很有限,

不過這個架構最大的優點就是沒有clk gating最棘手的問題,

也就是不會對於STA的評估造成太多的負擔,

因為他就只是單純在Din端的combiantional circuit,

因此在EDA tool還不夠強的時候這個方法可能是還不錯的選擇,



然而對於這次要探討的clk gating而言,

和上述的不同則是希望在reg不用時去停掉他的clk而不是data,

此時我們在觀測的部分就由data端變成了clk端,

在clk path上插上額外的電路,希望藉此降低dynamic power.


在此之前我們在RTL level階段的clk path永遠都是乾淨沒東西的,

只會在APR階段時insert buffer/invertor 來長clk tree,

加入了clk gating cell後意味著我們在長clk tree及STA的評估上必須多了一些考量,

對於timing check及clk tree synthesis增添了難度


下圖即為加入CG cell後樣貌,

實際上就是在clk準備被餵進reg前先判斷當前的reg是否有使用需求,

沒有即可停掉藉以省下power浪費

raw-image


然而我們所描述的CG實際上有兩種樣貌 , or gate based 或 and gate based

選哪個type得到的效果都一模一樣,差異點就在當你clk gating後希望把clk訊號Tie 1或Tie 0


raw-image


那選擇tie0或tie1又有甚麼差別呢?

為了防止clk gating enable的時機不好導致餵給reg的gated clk非完整的1個cycle

因此在這邊and gate和or gate有不一樣的限制

raw-image


對於and gate來說其中一邊是0則輸出0,所以enable觸發的時機必須在clk為low時才能觸發,因為在為low時setting不會影響最終的輸出

對於or gate來說則剛好相反,一邊是1則輸出1,因此enable必須在clk為high時觸發,來避免夾出不完整的clk輸出到reg上


那看到的cycle不完整又會有甚麼問題呢?

曾經在面試的時候面試官問了一個這個問題,

為甚麼clk cycle一定要是完整的?


小弟聽到問題的時候唯一的想法就是,

書上都是畫完整的呀,50%50%就是對稱美學,

所以第一時間我還真的是答不出來,

後來經過一段時間的思考後現在大概有點想法,

這種clk cycle不完整的狀況可以分成2種case討論

  1. 少正緣
  2. 少負緣


以行動支持創作者!付費即可解鎖
本篇內容共 2196 字、0 則留言,僅發佈於10分鐘看懂IC設計你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
數位IC設計第一品牌 從0到1用嘴做IC 觀念大權
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
上篇文章提到說 由於STA的設計上沒辦法去檢查不同clk domain的兩個register之間timing是否可以滿足所需, 因為沒有一個比較的基準點, 所以需要
CDC (Clock Domain Crossing) 屬於當今IC design中非常常見的問題, 雖然增加了Design的難度, 卻因為它所帶來的諸多優勢令人難以放棄, 舉例來說, 假如module A的spec對於performance的需求 遠小於module B, 那麼modul
Voltage island 字面上的意思為電壓島, 概念上是把不同function的module給予不同的driving volatge 然而在ic design中有個rule, driving voltage 越高就能讓logic動的越快 也就是說,當你希望邏輯運算的越快,原則上就需
對於現在的IC來說, 除了追求性能外另外一個重點就是如何降低工耗, 以APPLE 最新的A18 Core來說對比A16的power consumption降低了35%, 那對於ic design的過程中有甚麼手法有機會讓chip的功耗降低呢 在這邊來探討一下 以現今主流的low p
前篇內容提到說,async reset有著打出glitch的風險, 但除了glitch之外, 如果reset deassert的時間點不對的話可是造出大量metastable的data, 直接導致function fail, 至於assert的時間點因為是async reset,所以何時出發
面試必考題, 人人說的一口好setup time / hold time 但是除了公式外很沒有感覺, 小弟出一張嘴經年累月用心體會說說對這個timing設定的感想, 講一下我消化完對他的定義 setup time 指的是當訊號要被抓住前必須保持穩定幾秒 hold time 指的是當訊號被
上篇文章提到說 由於STA的設計上沒辦法去檢查不同clk domain的兩個register之間timing是否可以滿足所需, 因為沒有一個比較的基準點, 所以需要
CDC (Clock Domain Crossing) 屬於當今IC design中非常常見的問題, 雖然增加了Design的難度, 卻因為它所帶來的諸多優勢令人難以放棄, 舉例來說, 假如module A的spec對於performance的需求 遠小於module B, 那麼modul
Voltage island 字面上的意思為電壓島, 概念上是把不同function的module給予不同的driving volatge 然而在ic design中有個rule, driving voltage 越高就能讓logic動的越快 也就是說,當你希望邏輯運算的越快,原則上就需
對於現在的IC來說, 除了追求性能外另外一個重點就是如何降低工耗, 以APPLE 最新的A18 Core來說對比A16的power consumption降低了35%, 那對於ic design的過程中有甚麼手法有機會讓chip的功耗降低呢 在這邊來探討一下 以現今主流的low p
前篇內容提到說,async reset有著打出glitch的風險, 但除了glitch之外, 如果reset deassert的時間點不對的話可是造出大量metastable的data, 直接導致function fail, 至於assert的時間點因為是async reset,所以何時出發
面試必考題, 人人說的一口好setup time / hold time 但是除了公式外很沒有感覺, 小弟出一張嘴經年累月用心體會說說對這個timing設定的感想, 講一下我消化完對他的定義 setup time 指的是當訊號要被抓住前必須保持穩定幾秒 hold time 指的是當訊號被
你可能也想看
Google News 追蹤
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
這篇內容,將會講解什麼是方法,以及與方法相關的知識。包括定義Method、Method Variable 方法變數、跨區使用Method、使用函式時要注意括號。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
IC設計流程大致如下 每個步驟都是必經過程,走完整個過程後輸出一版real chip |-----------------------| | 定SPEC | --- 決定 Function/clk period/製程liberary .
Thumbnail
本文介紹了在網站開發中如何運用狀態機的原則和設計方法。通過具體案例分析,以及狀態和數據的區分,詳細介紹了狀態機的設計原則和應用。讀者可以通過本文瞭解如何將狀態機應用於實際的網站開發中。
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
這篇內容,將會講解什麼是方法,以及與方法相關的知識。包括定義Method、Method Variable 方法變數、跨區使用Method、使用函式時要注意括號。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
IC設計流程大致如下 每個步驟都是必經過程,走完整個過程後輸出一版real chip |-----------------------| | 定SPEC | --- 決定 Function/clk period/製程liberary .
Thumbnail
本文介紹了在網站開發中如何運用狀態機的原則和設計方法。通過具體案例分析,以及狀態和數據的區分,詳細介紹了狀態機的設計原則和應用。讀者可以通過本文瞭解如何將狀態機應用於實際的網站開發中。
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs