付費限定

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

更新於 發佈於 閱讀時間約 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設計你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
留言
avatar-img
留言分享你的想法!
avatar-img
數位IC設計第一品牌
119會員
28內容數
數位IC設計第一品牌 從0到1用嘴做IC 觀念大權
2024/12/28
到了最後一個階段, 我們做了這麼多CG cell insertion後, 要怎麼知道到底是不是對Design有幫助的呢? 是否有個rule又或是量化的數據來解釋說CG的效果如何 在下面這篇paper中提到了幾種觀測CG cell efficiency的方法 J. Srinivas, M
Thumbnail
2024/12/28
到了最後一個階段, 我們做了這麼多CG cell insertion後, 要怎麼知道到底是不是對Design有幫助的呢? 是否有個rule又或是量化的數據來解釋說CG的效果如何 在下面這篇paper中提到了幾種觀測CG cell efficiency的方法 J. Srinivas, M
Thumbnail
2024/12/16
前面文章曾經提到說, 除了我們在寫rtl當下直接撰寫加入的cg cell外, 實際上我們有些clk gating cell是靠tool自己幫忙插的, [Verilog] 10分鐘由淺入深看懂 clock gating -2 那麼tool是怎麼判斷說哪邊要插gating cell的呢?
Thumbnail
2024/12/16
前面文章曾經提到說, 除了我們在寫rtl當下直接撰寫加入的cg cell外, 實際上我們有些clk gating cell是靠tool自己幫忙插的, [Verilog] 10分鐘由淺入深看懂 clock gating -2 那麼tool是怎麼判斷說哪邊要插gating cell的呢?
Thumbnail
2024/12/11
前面文章提到過clk gating check實際上就是在check gating cell的enable訊號 檢查enable的timing是否能滿足STA的check, 不過不知道各位有沒有發現到, 這條path看起來很單純呀而且我還用上了latch大法, 可能讓訊號走完1整個cycle
Thumbnail
2024/12/11
前面文章提到過clk gating check實際上就是在check gating cell的enable訊號 檢查enable的timing是否能滿足STA的check, 不過不知道各位有沒有發現到, 這條path看起來很單純呀而且我還用上了latch大法, 可能讓訊號走完1整個cycle
Thumbnail
看更多
你可能也想看
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
介紹完了基本的概念後, 這邊來看個例子, 以and gated的CG來說 ,clk_enable 訊號由前一級的reg輸出(1) , 經由Q輸出en後落在clk負緣的時候toggle (2), 下一個cycle的clk即會被鎖在0 (3) 對於or based的來說 clk_en
Thumbnail
介紹完了基本的概念後, 這邊來看個例子, 以and gated的CG來說 ,clk_enable 訊號由前一級的reg輸出(1) , 經由Q輸出en後落在clk負緣的時候toggle (2), 下一個cycle的clk即會被鎖在0 (3) 對於or based的來說 clk_en
Thumbnail
先前文章中提提了幾種low power design常用的手法 [Verilog] 10分鐘看懂IC design的low power design - 1 (原創) 其中最廣為使用的招數就是clock gating 藉由停住當下沒在運作的module clk 及clk network 來達到
Thumbnail
先前文章中提提了幾種low power design常用的手法 [Verilog] 10分鐘看懂IC design的low power design - 1 (原創) 其中最廣為使用的招數就是clock gating 藉由停住當下沒在運作的module clk 及clk network 來達到
Thumbnail
Voltage island 字面上的意思為電壓島, 概念上是把不同function的module給予不同的driving volatge 然而在ic design中有個rule, driving voltage 越高就能讓logic動的越快 也就是說,當你希望邏輯運算的越快,原則上就需
Thumbnail
Voltage island 字面上的意思為電壓島, 概念上是把不同function的module給予不同的driving volatge 然而在ic design中有個rule, driving voltage 越高就能讓logic動的越快 也就是說,當你希望邏輯運算的越快,原則上就需
Thumbnail
clk skew 和 clk jitter差別是甚麼? clk skew 指的是兩顆reg 因為clk 到達的時間不同 導致雖然後是屬於於同一個cycle的行為 卻會有先到後到的問題 通常成因為 wire length cell delay clock distribution
Thumbnail
clk skew 和 clk jitter差別是甚麼? clk skew 指的是兩顆reg 因為clk 到達的時間不同 導致雖然後是屬於於同一個cycle的行為 卻會有先到後到的問題 通常成因為 wire length cell delay clock distribution
Thumbnail
透過計時器與自保持迴路的接線方式,來達成延時斷電動作。
Thumbnail
透過計時器與自保持迴路的接線方式,來達成延時斷電動作。
Thumbnail
本文介紹了抽水馬達和繼電器的工作原理,以及如何與Arduino搭配使用。繼電器的定義、結構、和工作原理,以及抽水馬達的定義、結構、和工作原理都有詳細說明。此外,還介紹了串聯和並聯的關係,並提供了抽水馬達模組的程式碼。
Thumbnail
本文介紹了抽水馬達和繼電器的工作原理,以及如何與Arduino搭配使用。繼電器的定義、結構、和工作原理,以及抽水馬達的定義、結構、和工作原理都有詳細說明。此外,還介紹了串聯和並聯的關係,並提供了抽水馬達模組的程式碼。
Thumbnail
IC產業常用術語,什麼是LEF? LIB? 打開小白筆記~
Thumbnail
IC產業常用術語,什麼是LEF? LIB? 打開小白筆記~
Thumbnail
續傳遞函數離散化的核心環節,就是將控制器的s轉移函數(s-TF)轉換為z轉移 函數(z-TF)。 一般情況下,由連續到離散的設計最好多實驗幾種方法(通過模擬,得出滿意的 結果)。 用於PID連續系統映射轉換成PID離散系統的方塊圖如下: ■離散化演算法摘要 ■離散化演算法比較 ■MATLAB 指令說
Thumbnail
續傳遞函數離散化的核心環節,就是將控制器的s轉移函數(s-TF)轉換為z轉移 函數(z-TF)。 一般情況下,由連續到離散的設計最好多實驗幾種方法(通過模擬,得出滿意的 結果)。 用於PID連續系統映射轉換成PID離散系統的方塊圖如下: ■離散化演算法摘要 ■離散化演算法比較 ■MATLAB 指令說
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News