付費限定

[Verilog] 10分鐘由淺入深看懂 clock gating (2) - gating constraint

更新 發佈閱讀 4 分鐘

介紹完了基本的概念後,

這邊來看個例子,

以and gate的CG來說 ,clk_enable 訊號由前一級的reg輸出(1) ,

經由Q輸出en後落在clk負緣的時候toggle (2),

下一個cycle的clk即會被鎖在0 (3)

raw-image


對於or based的來說

clk_enable由前一級Din輸入後 (1),

Q out於正緣輸出en給or gate (2),

output clk則會在下一次負緣到來時不會有任何動作(3),


raw-image


上述的描述看起來都很直接沒什麼好質疑的,

不過不知道大家有沒有想過,

對於and based的enable要在負緣才能抵達and gated的input,

對於or based的enable則要在正緣抵達,不能是負緣,

or gate和and gate有著不同的enable setting的區間

但往往我們的enable是直接從reg output造出來的,

我們要怎麼控制他? 感覺就有夠難


實際上這邊可以裡用我們之前學到的一些技術來做到,

setup time 及 hold time,

setup time 指的是在 check point前最慢須穩定的時間,

hold time 指的是check point後訊號最少須維持多久的時間.


那麼我們先來看and gate based的

raw-image

在clk_enable trigger後,必須在負緣的地方才能開始動,

所以我們只要把這顆reg的hold time直接強制拉到半T,

意旨clk trigger後訊號最少須維持半T的時間才能開始動,

tool就會為了meet STA不要發生hold time violation幫忙你用適合的方式卡住


那對於or gated based的來說

raw-image

我們想做到的是enable被trigger後需要在正緣的階段就做完,

因此只要把setup check的位置從原本的下一個正緣往前拉半T,

就可以強制tool在半T的cycle把en訊號維持stable


不過design中的clk gating cell其實到處都是,

有些可能是自己塞得有些則是靠tool幫忙塞的,

我們基本上不太可能自己寫sdc把上述的constraint都設完,

要是漏了可能就直接白長一場,要怎麼辦?


以行動支持創作者!付費即可解鎖
本篇內容共 1572 字、3 則留言,僅發佈於10分鐘看懂IC設計你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
留言
avatar-img
留言分享你的想法!
avatar-img
數位IC設計第一品牌
145會員
29內容數
數位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
看更多