01
12nm Cortex-A72后端實(shí)戰(zhàn)
本項(xiàng)目是真實(shí)項(xiàng)目實(shí)戰(zhàn)培訓(xùn),低功耗UPF設(shè)計(jì),后端參數(shù)如下:
工藝:12nm
頻率:2.5GHz
資源:2000_0000instances
低功耗:DVFS
進(jìn)階版本的低功耗設(shè)計(jì)如下:7個(gè)power domain
Stampling打起來真是高級(jí)手工藝術(shù),全網(wǎng)唯一:
Flow:PartitionFlow
時(shí)鐘結(jié)構(gòu)分析:
復(fù)位結(jié)構(gòu)分析:
12nm 2.5GHz的A72實(shí)戰(zhàn)訓(xùn)練營需要特別設(shè)置Latency,TOP結(jié)構(gòu)如下,參加過景芯SoC全流程訓(xùn)練營的同學(xué)都知道CRG部分我們會(huì)手動(dòng)例化ICG來控制時(shí)鐘,具體實(shí)現(xiàn)參見40nm景芯SoC全流程訓(xùn)練項(xiàng)目,本文介紹下12nm 2.5GHz的A72實(shí)戰(zhàn)訓(xùn)練營的Latency背景,歡迎加入實(shí)戰(zhàn)。
時(shí)鐘傳播延遲Latency,通常也被稱為插入延遲(insertion delay)。它可以分為兩個(gè)部分,時(shí)鐘源插入延遲(source latency)和時(shí)鐘網(wǎng)絡(luò)延遲(Network latency)。
大部分訓(xùn)練營同學(xué)表示平時(shí)都直接將Latency設(shè)置為0了,那latency值有什么用呢?其實(shí)這相當(dāng)于一個(gè)target值,CTS的engine會(huì)根據(jù)你設(shè)置的latency值來插入buffer來實(shí)現(xiàn)你的latency target值。
下圖分為1st Level ICG和2nd Level ICG,請(qǐng)問這些ICG為什么要分為兩層?
請(qǐng)問,為什么不全部把Latency設(shè)置為0?2nd Level ICG的latency應(yīng)該設(shè)置為多少呢?
latency大小直接影響clock skew的計(jì)算。時(shí)鐘樹是以平衡為目的,假設(shè)對(duì)一個(gè)root和sink設(shè)置了400ps的latency值,那么對(duì)另外的sink而言,就算沒有給定latency值,CTS為了得到較小的skew,也會(huì)將另外的sink做成400ps的latency。請(qǐng)問,為何要做短時(shí)鐘樹?因?yàn)檫^大的latency值會(huì)受到OCV和PVT等因素的影響較大,并有time derate的存在。
02
28nm Cortex-A7后端實(shí)戰(zhàn)
此外,我們提供全國最低價(jià)的28nm A7后端設(shè)計(jì),價(jià)格驚喜!打垮動(dòng)輒1.5w-2.5w的后端培訓(xùn)價(jià)格!
我們?cè)賮韺?duì)比下A72與A7的資源。A72Gate數(shù)目是A7的13倍!如果都采用28nm制程,A72的面積應(yīng)該是1180790um^2,實(shí)際A72采用12nm制程面積是486100um^2,1180790/486100=2.4,符合摩爾定律。
Cortex-A7單核:
Gates=240291Cells=118421
Cortex-A72單核:
Gates=3125649Cells=1207766
28nmCortex-A7單核:
Area=90830.1um^2
12nmCortex-A72單核:
Area=486100.9um^2
28nm A7后端設(shè)計(jì)課程采用的全國最低價(jià)格來推廣,本文不做過多介紹,本文重點(diǎn)介紹下先進(jìn)的12nm A72進(jìn)階版本課程。分享個(gè)例子,比如,Cortex-A72低功耗設(shè)計(jì),DBG domain的isolation為何用VDDS_maia_noncpu供電而不是TOP的VDD?
答:因?yàn)閐bg的上一級(jí)是noncpu,noncpu下面分成dbg和兩個(gè)tbnk。
再分享個(gè)例子,比如,Cortex-A72低功耗設(shè)計(jì),這個(gè)switch cell是雙開關(guān)嗎?答:不是,之所以分trickle和hammer,是為了解決hash current大電流,先開trickle,然后再開hammer。
再分享個(gè)例子,比如,Cortex-A72進(jìn)階版本課程的低功耗例子:請(qǐng)問,如果iso cell輸出都要放parent,輸入放self,那么下面-applies_to_outputs對(duì)應(yīng)的-location為何是self?
答:這個(gè)需要了解CPU的內(nèi)部設(shè)計(jì)架構(gòu),tbnk掉電 VDDS_maia_noncpu也必然掉電,pst如下,所以-applies_to_outputs對(duì)應(yīng)的-location是可以的,那么注意下debug domain呢?
實(shí)際上,沒有tbnk到debug domain的信號(hào),因此腳本如下:
再分享個(gè)例子,比如,Cortex-A72進(jìn)階版本課程的低功耗例子:為何non_cpu的SRAM的VDD VDDM都接的可關(guān)閉電源?SRAM的VDD VDDM分別是常開、和retention電源吧?
答:本來是VDDM作為retention電源設(shè)計(jì)的,VDD關(guān)掉后 VDDM可以供電作為retention使用,但是此處沒有去做memory的雙電源,sram當(dāng)成單電源使用,不然sram無法徹底斷電。
再分享個(gè)例子,比如,Cortex-A72基礎(chǔ)版課程有學(xué)員的Cortex-A72 maia_cpu LVS通過,但是MAIA頂層LVS比對(duì)不過,我們來定位一下。
以FE_OFN4326_cfgend_cpu1_o為例,點(diǎn)擊下圖FE_OFN4326_cfgend_cpu1_o:
找到calibredrv錯(cuò)誤坐標(biāo):(1949,139)
對(duì)應(yīng)到innovus去看坐標(biāo):(1949,139)
看到maia_cpu的pin腳過于密集,造成頂層連接pin腳時(shí)候會(huì)無法繞線,從而導(dǎo)致innovus從maia_cpu上面走線,形成short。盡管maia_cpu帶了blockage,但是invs沒有足夠的連接pin的routing resource,也就只能在maia_cpu上面去try了。
修改辦法很簡(jiǎn)單,具體操作option參見知識(shí)星球。
保存db,重新LVS,比對(duì)通過。
04
審核編輯:劉清
-
時(shí)鐘樹
+關(guān)注
關(guān)注
0文章
53瀏覽量
10709 -
UPF
+關(guān)注
關(guān)注
0文章
49瀏覽量
13439 -
Cortex-A72
+關(guān)注
關(guān)注
0文章
4瀏覽量
7824 -
DVFS
+關(guān)注
關(guān)注
1文章
16瀏覽量
11972
原文標(biāo)題:玩轉(zhuǎn)12nm工藝,2.5GHz頻率,DVFS低功耗
文章出處:【微信號(hào):全棧芯片工程師,微信公眾號(hào):全棧芯片工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論