付費限定

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

更新於 2024/11/28閱讀時間約 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 字、1 則留言,僅發佈於10分鐘看懂IC設計你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
數位IC設計第一品牌 從0到1用嘴做IC 觀念大權
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
先前文章中提提了幾種low power design常用的手法 [Verilog] 10分鐘看懂IC design的low power design - 1 (原創) 其中最廣為使用的招數就是clock gating 藉由停住當下沒在運作的module clk 及clk network 來達到
上篇文章提到說 由於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,所以何時出發
先前文章中提提了幾種low power design常用的手法 [Verilog] 10分鐘看懂IC design的low power design - 1 (原創) 其中最廣為使用的招數就是clock gating 藉由停住當下沒在運作的module clk 及clk network 來達到
上篇文章提到說 由於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,所以何時出發
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
這篇內容,將會講解什麼是「while迴圈」,以及與「while迴圈」相關的知識。包括while迴圈的簡介、while迴圈、break、continue。
Thumbnail
這篇內容,將會講解什麼是「switch」,以及與「switch」相關的知識。包括switch的簡介、switch、break。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
IC設計流程大致如下 每個步驟都是必經過程,走完整個過程後輸出一版real chip |-----------------------| | 定SPEC | --- 決定 Function/clk period/製程liberary .
Thumbnail
本文介紹了在網站開發中如何運用狀態機的原則和設計方法。通過具體案例分析,以及狀態和數據的區分,詳細介紹了狀態機的設計原則和應用。讀者可以通過本文瞭解如何將狀態機應用於實際的網站開發中。
Thumbnail
此章節的目的是介紹Java程式語言中的流程控制結構,包括條件語句(if, else if, else)、三元運算子、switch語句,以及各種迴圈(for, foreach, while)。同時,也解釋了如何在迴圈中使用控制語句來改變程式的執行流程。每種主題都配有示例程式碼以幫助理解。
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
本章節提供了關於Typescript中流程控制元素的詳細介紹,包括if, else if, else語句,三元運算子,switch語句,各種for迴圈,while迴圈,循環嵌套和控制迴圈語句(break,continue和標籤)的使用。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
這篇內容,將會講解什麼是「while迴圈」,以及與「while迴圈」相關的知識。包括while迴圈的簡介、while迴圈、break、continue。
Thumbnail
這篇內容,將會講解什麼是「switch」,以及與「switch」相關的知識。包括switch的簡介、switch、break。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
IC設計流程大致如下 每個步驟都是必經過程,走完整個過程後輸出一版real chip |-----------------------| | 定SPEC | --- 決定 Function/clk period/製程liberary .
Thumbnail
本文介紹了在網站開發中如何運用狀態機的原則和設計方法。通過具體案例分析,以及狀態和數據的區分,詳細介紹了狀態機的設計原則和應用。讀者可以通過本文瞭解如何將狀態機應用於實際的網站開發中。
Thumbnail
此章節的目的是介紹Java程式語言中的流程控制結構,包括條件語句(if, else if, else)、三元運算子、switch語句,以及各種迴圈(for, foreach, while)。同時,也解釋了如何在迴圈中使用控制語句來改變程式的執行流程。每種主題都配有示例程式碼以幫助理解。
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
本章節提供了關於Typescript中流程控制元素的詳細介紹,包括if, else if, else語句,三元運算子,switch語句,各種for迴圈,while迴圈,循環嵌套和控制迴圈語句(break,continue和標籤)的使用。