轉載:http://www.chipsbank.com/news_detail/newsId=122.html
門控時鐘-概述
門控時鐘-概述
2009年2月12日
1. 時鐘信號的功耗佔系統功耗的很大一部分(40%左右)佔動態功耗的50%以上
1. DC門控時鐘命令:
intert_clock_gating
set_clock_gating_style
1. 門控時鐘插入:
1. 使用效果實例:
a. 對於一個180nm工藝的芯片:有clock gating和沒有clock gating的結果相比(芯片實測):
a. 功耗節省34%到43%(具體更應用模式有關)
a. 面積節省20%(一個clock gating能代替多個mux)
1. 使用原則:
a. 至少位寬是3或以上的寄存器才用門控時鐘
a. 單bit的寄存器使用門控時鐘是沒有效果的,面積和功耗都不會節省。
a. Clock buffer儘可能多的放到clock gating cell的後面。
1. RTL具體措施:
a. 無用輸出採用使能保持輸出的方式編碼:
NxtReadData = (ReadEn) ? RamData : 8'b0;
如果沒有讀使能時,我們不關心輸出什麼數據的話,則改成:
NxtReadData = (ReadEn) ? RamData : ReadData;
這樣就可以讓ReadEn無效時把這8個寄存器的時鐘關掉。
1. 3bit的計數器插clock gating前後電路對比
插門控之前:
插門控之後:
1. 不同bit數門控時鐘插入對比
SMIC.18工藝 |
|
面積 |
|
動態功耗(W) |
|
|
um2 |
門數 |
|
4bit暫存器 |
帶ICG |
221.72 |
25.25 |
1.185e-05 |
|
不帶ICG |
263.42 |
30 |
1.427e-05 |
3bit暫存器 |
帶ICG |
175.62 |
20 |
9.160e-06 |
|
不帶ICG |
197.57 |
22.5 |
9.920e-06 |
2bit暫存器 |
帶ICG |
131.71 |
15 |
6.315e-06 |
|
不帶ICG |
131.71 |
15 |
6.613e-06 |
1bit暫存器 |
帶ICG |
85.61 |
9.75 |
3.633e-06 |
|
不帶ICG |
65.86 |
7.5 |
3.307e-06 |
1. 門控時鐘的結構:
a. 結構-1
這種系統時鐘門控的機制算然簡單,但是容易使門控後的時鐘不完整,甚至產生毛刺。
a. 結構-2
這種門控方法避免了門控時鐘的不完整性,也可以避免避免毛刺的產生,但門控後的時鐘可能會產生亞穩態。
1. 結構-3
這種結構解決了結構-2的亞穩態問題。
1. 結構-4
這種帶測試模式的結構可以在測試時讓時鐘一直開着。
1. 結構-5
在ASIC進行後端測試的時候,有時候可能會將不同時鐘域的邏輯和寄存器連起來進行掃描鏈插入,此時可能某個模塊的時鐘來源可能不是通過它原來的時鐘路徑,而是整個芯片統一的測試時鐘,就此時需要對時鐘進行選擇。
所屬類別: 技術文章