一、低功耗設(shè)計(jì)
隨著手持便攜式設(shè)備及物聯(lián)應(yīng)用的推廣,低功耗設(shè)計(jì)的問題變得越來越重要。更低的芯片功耗,意味著手持便攜設(shè)備的使用時間更長、功耗的降低使得芯片的壽命得以提高、散熱問題得到控制,設(shè)備的體積可以做到更小等等之類的各種好處。低功耗設(shè)計(jì)是一個整體的概念,意思是它在每個設(shè)計(jì)層次上都可以進(jìn)行功耗的優(yōu)化——算法層次的優(yōu)化、RTL級代碼的優(yōu)化、門級網(wǎng)表的優(yōu)化、版圖布局的優(yōu)化等等。而且,抽象層次越高,功耗優(yōu)化的程度也就越高,例如算法層次的優(yōu)化可以降低70%以上的功耗,而版圖布局的優(yōu)化大概只有10%的優(yōu)化效果。
數(shù)字集成電路功耗優(yōu)化集中體現(xiàn)在兩個方面,一是電路的低功耗優(yōu)化設(shè)計(jì),二是EDA工具的優(yōu)化設(shè)計(jì)。而電路的低功耗優(yōu)化設(shè)計(jì)前者是重點(diǎn),即綜合考慮電路性能、面積、功耗來進(jìn)行功耗的優(yōu)化設(shè)計(jì)。
低功耗設(shè)計(jì)的方法有很多種,就筆者所了解的信息大致分為如下幾種。
a、多閾值工藝方法:不同的電路模塊采用不同閾值的基本門級電路;
b、電源門控:將某一部分電路的電源通過特殊邏輯門控制,需要時再啟動該電路的電源,達(dá)到降低功耗的目的;
c、多電壓域:不同區(qū)域的電路模塊采用不同的供電電壓,比如,頻率高的電路采用高電壓,頻率要求低的電路采用低電壓;
d、門控時鐘:用邏輯門控制模塊時鐘的停止或者開啟,門控時鐘可以通過DC命令的方式直接插入;
e、操作數(shù)分離;
f、門級電路優(yōu)化;
g、版圖優(yōu)化;等等。
對于Asic設(shè)計(jì)人員來說,不同的工作崗位,所采取的優(yōu)化辦法并不相同。a-c是系統(tǒng)級設(shè)計(jì)人員的優(yōu)化方法,d-f是RTL和門級設(shè)計(jì)人員的優(yōu)化方法,g屬于版圖人員能夠掌握的分析方法。這些概念太過于寬泛,如果不是親自參與到某項(xiàng)應(yīng)用該低功耗技術(shù)的項(xiàng)目中去是很難有深刻體會的,對于Asic設(shè)計(jì)者來說,無法全面掌握這些低功耗技術(shù)。
在筆者推薦的書中,有基于Power Complier(從屬于DC),PTPX(Prime Time-PX)這兩種軟件的功耗優(yōu)化流程。學(xué)習(xí)的理論大致需要掌握功耗的種類分為,
1、靜態(tài)功耗-泄露功耗,
2、動態(tài)功耗-開關(guān)功耗,翻轉(zhuǎn)功耗,總功耗等于以上三種功耗的總和。
軟件是通過何種途徑分析這三類功耗的呢?答案依然是工藝庫。在綜合庫.lib文件中,有許多項(xiàng)參數(shù)都是有關(guān)于這三類功耗的,如下所示。
某個單元的泄露功耗:
cell_leakage_power : 330.503175;
leakage_power() {
when :"!A & !B & !CI";
value : 318.529800;
}
leakage_power() {
when :"!A & !B & CI";
value : 375.946200;
}
leakage_power() {
when :"!A & B & !CI";
value : 347.668200;
}
leakage_power() {
when :"!A & B & CI";
value : 309.481200;
}
leakage_power() {
when :"A & !B & !CI";
value : 312.384600;
}
leakage_power() {
when :"A & !B & CI";
value : 352.481400;
}
leakage_power() {
when :"A & B & !CI";
value : 324.199800;
}
leakage_power() {
when :"A & B & CI";
value : 303.334200;
}
某單元(!A & B) | (A & !B)情況下的內(nèi)部功耗,上升沿,下降沿功耗:
internal_power() {
related_pin : "CI";
equal_or_opposite_output : "CO";
when : "(!A & B) | (A & !B)";
rise_power(energy_template_7x3x3) {
index_1 ("0.03, 0.1, 0.4, 0.9, 1.5, 2.2, 3");
index_2 ("0.00035, 0.0385, 0.3115");
index_3 ("0.00035, 0.0385, 0.3115");
values ( \
"0.067236, 0.068853, 0.068513", "0.071757, 0.070275, 0.070806", "0.080913, 0.079223, 0.078953", \
"0.067380, 0.068914, 0.068524", "0.071910, 0.070393, 0.070843", "0.081073, 0.079343, 0.079093", \
"0.072993, 0.073749, 0.073240", "0.077639, 0.075163, 0.075587", "0.086943, 0.084212, 0.084302", \
"0.088698, 0.085346, 0.084064", "0.090733, 0.087112, 0.086360", "0.100492, 0.096672, 0.095842", \
"0.104666, 0.099420, 0.097897", "0.105970, 0.100660, 0.100035", "0.115422, 0.109742, 0.108342", \
"0.123420, 0.117165, 0.114921", "0.125151, 0.118985, 0.116790", "0.133612, 0.127112, 0.125132", \
"0.145380, 0.138042, 0.134921", "0.147057, 0.139940, 0.136555", "0.155522, 0.148222, 0.145332");
}
fall_power(energy_template_7x3x3) {
index_1 ("0.03, 0.1, 0.4, 0.9, 1.5, 2.2, 3");
index_2 ("0.00035, 0.0385, 0.3115");
index_3 ("0.00035, 0.0385, 0.3115");
values ( \
"0.050492, 0.055945, 0.064903", "0.053891, 0.055156, 0.063903", "0.053922, 0.056074, 0.063853", \
"0.050468, 0.055859, 0.064843", "0.053846, 0.055057, 0.063833", "0.053880, 0.056027, 0.063783", \
"0.055162, 0.059927, 0.068953", "0.058462, 0.058987, 0.067812", "0.058500, 0.059918, 0.067832", \
"0.071414, 0.070694, 0.079333", "0.069997, 0.069600, 0.078113", "0.069993, 0.070503, 0.078113", \
"0.087095, 0.085894, 0.093292", "0.085467, 0.084469, 0.091692", "0.085322, 0.084670, 0.091722", \
"0.105947, 0.103948, 0.110322", "0.104070, 0.102399, 0.108522", "0.103914, 0.102131, 0.108572", \
"0.127727, 0.124621, 0.130342", "0.125641, 0.122880, 0.128522", "0.125412, 0.122591, 0.128302");
}
}
信息來源于前文提供的simc工藝庫。
更多有關(guān)于對綜合庫.lib文件內(nèi)容的介紹,請參閱《數(shù)字IC系統(tǒng)設(shè)計(jì)》,這里不再贅述。
這再次驗(yàn)證了之前介紹工藝庫的文章中說的,綜合庫.lib文件真的非常重要,使用軟件對RTL代碼和門級網(wǎng)表做功耗分析都需要這些綜合庫參與,才能對芯片的功耗進(jìn)行分析,進(jìn)而優(yōu)化。
二、推薦書籍:
《Soc設(shè)計(jì)方法與實(shí)現(xiàn)》
《數(shù)字IC系統(tǒng)設(shè)計(jì)》
《ptpx user guide 2016》
(此外建議看一下論壇關(guān)于low power RTL 設(shè)計(jì)優(yōu)化的帖子,里面推薦了一些相關(guān)資料。http://bbs.eetop.cn/thread-636337-1-1.html)
三、工具
在綜合的時候就可以對產(chǎn)生的門級網(wǎng)表進(jìn)行初步優(yōu)化,所使用的工具為DC內(nèi)置程序Power Complier,通過相關(guān)命令啟用功耗優(yōu)化功能。該工具的使用示例請參閱《專用集成電路設(shè)計(jì)實(shí)用教程》。
門級網(wǎng)表優(yōu)化工具,PrimeTime PX。該工具的使用示例請參閱《ptpx user guide 2016》
四、示例
由于目前并未使用到低功耗的相關(guān)技術(shù),因此對于基于Power Complier(從屬于DC),PTPX(Prime Time-PX)軟件的低功耗分析流程,了解的不是很多,待以后再把這個坑填上。
-
asic
+關(guān)注
關(guān)注
34文章
1237瀏覽量
121597 -
低功耗
+關(guān)注
關(guān)注
10文章
2563瀏覽量
104264
原文標(biāo)題:ASIC低功耗設(shè)計(jì)實(shí)例分析及書籍推薦
文章出處:【微信號:eetop-1,微信公眾號:EETOP】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
LabVIEW開發(fā)FPGA?開發(fā)過程是什么?有相關(guān)書籍資料嗎?
linux書籍推薦
求推薦led芯片通過光蝕刻形成通孔和采用剝離工藝形成具有布線圖案的電極的相關(guān)書籍
電子書: 低功耗mcu的選型技巧與設(shè)計(jì)思路
單片機(jī)相關(guān)書籍下載
【書籍評測活動NO.19】 SoC底層軟件低功耗系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
《SoC底層軟件低功耗系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》基于Linux專門講解軟件低功耗框架和設(shè)計(jì)的書籍
Java編程及相關(guān)書籍.O'Reilly.Creating.Ef
什么是低功耗,對FPGA低功耗設(shè)計(jì)的介紹
還在了解什么是低功耗?FPGA低功耗設(shè)計(jì)詳解
為低功耗FPGA、處理器和ASIC實(shí)施啟用LVDS鏈路

評論