01
2.5GHz 12nm DVFS A72后端實戰(zhàn)
本培訓項目是真實項目,低功耗hierarchyUPF設(shè)計,價格是知名機構(gòu)的1/3,全網(wǎng)最低價。DVFS hierarchy低功耗A72后端實戰(zhàn)內(nèi)容簡介如下:
1) 根據(jù)低功耗需求,編寫UPF驗證UPF
掌握hierarchy UPF文件編寫,掌握Flatten UPF文件編寫。
本項目采用hierarchy UPF方式劃分了7個power domain、voltage domain,指定power switch cell,其中包括SWITCH TRICKLE、SWITCH HAMMER。掌握低功耗cell的用法,選擇合適的isolation cell、level shifter等低功耗cell。
掌握Power gating,Clock gating設(shè)計技術(shù)。
掌握Multi-VT設(shè)計技術(shù),本項目時鐘樹都是ULVT,動態(tài)功耗小,skew小。
掌握DVFS技術(shù),ss0p9 2.5GHz、ss0p722.0GHz,,其中sram不支持ss0p63。要做ss0p63的話,給sram vddm單獨一個0p7v的電源即可。
掌握multibit cell的用法,本項目CPU里面的mb高達95%,選擇合適的multibitcell得到超高的CPU利用率。INNOVUS里面一般不做mb的merge和split。所以前后一樣的,一般綜合做multibit的merge split。
2) 根據(jù)top floorplan def進行CPU子系統(tǒng)的partition以及pin assignment。
Top的Power stripe的規(guī)劃及其push down。
SpecifyBlackBox,將CPU core鏡像partition。
手動manual cut the BlackBox的方法,掌握復雜的floorplan設(shè)計方法經(jīng)驗。
VerifyPowerDomain,檢查低功耗劃分以及UPF的正確性。
Pin assignment,根據(jù)timing的需求進行合理的pin腳排布,并解決congestion問題。
掌握Timing budget。
掌握利用Mixplace實戰(zhàn)CPU的自動floorplan,掌握AI的floorplan方法學。
3) 掌握Fusion compiler DCG,利用fusion compiler來完成DCG綜合,進一步優(yōu)化timing與congestion。
4) 掌握hierarchy ICG的設(shè)計方法學,實戰(zhàn)關(guān)鍵ICG的設(shè)置與否對timing的重大影響。
5) 掌握Stapling技術(shù),實戰(zhàn)power switch cell的布局和特殊走線的方法學,掌握CPU子系統(tǒng)的powerplan規(guī)劃及實現(xiàn),保證CPU子系統(tǒng)和頂層PG的alignment。
6) 掌握CPU子系統(tǒng)和TOP的時序接口優(yōu)化。掌握TOPisolation cell的placement以及isolationcell input電學特性檢查。
7) 掌握TOP和CPU子系統(tǒng)的clocktree Balance優(yōu)化處理,common clock path處理。時鐘樹結(jié)構(gòu)trace和時鐘樹評價。
8) DRC/LVS
CPU子系統(tǒng)的DRC/LVS檢查
TOP系統(tǒng)的DRC/LVS檢查
Hierarchy & Flatten LVS檢查原理及實現(xiàn)方法
9) 靜態(tài)時序分析&IR-Drop
DMSA flow
根據(jù)Foundry的SOD(signoff doc)的Timing signoff標準建立PT環(huán)境。
Star RC寄生抽取及相關(guān)項檢查
Timing exception分析,包括set_false_path、set_multicyle_path解析。
PT timing signoff的Hierarchical和Flatten Timing檢查
PT和PR timing的差異分析、Dummy insertion和with dummy的Timing分析
IR-Drop分析
Stampling打起來真是高級手工藝術(shù),全網(wǎng)唯一:
Flow:PartitionFlow
時鐘結(jié)構(gòu)分析:
復位結(jié)構(gòu)分析:
12nm 2.5GHz的A72實戰(zhàn)訓練營需要特別設(shè)置Latency,TOP結(jié)構(gòu)如下,參加過景芯SoC全流程訓練營的同學都知道CRG部分我們會手動例化ICG來控制時鐘,具體實現(xiàn)參見40nm景芯SoC全流程訓練項目,本文介紹下12nm 2.5GHz的A72實戰(zhàn)訓練營的Latency背景,歡迎加入實戰(zhàn)。
時鐘傳播延遲Latency,通常也被稱為插入延遲(insertion delay)。它可以分為兩個部分,時鐘源插入延遲(source latency)和時鐘網(wǎng)絡(luò)延遲(Network latency)。
大部分訓練營同學表示平時都直接將Latency設(shè)置為0了,那latency值有什么用呢?其實這相當于一個target值,CTS的engine會根據(jù)你設(shè)置的latency值來插入buffer來實現(xiàn)你的latency target值。
下圖分為1st Level ICG和2nd Level ICG,請問這些ICG為什么要分為兩層?
請問,為什么不全部把Latency設(shè)置為0?2nd Level ICG的latency應(yīng)該設(shè)置為多少呢?
latency大小直接影響clock skew的計算。時鐘樹是以平衡為目的,假設(shè)對一個root和sink設(shè)置了400ps的latency值,那么對另外的sink而言,就算沒有給定latency值,CTS為了得到較小的skew,也會將另外的sink做成400ps的latency。請問,為何要做短時鐘樹?因為過大的latency值會受到OCV和PVT等因素的影響較大,并有time derate的存在。
分享個例子,比如,Cortex-A72低功耗設(shè)計,DBG domain的isolation為何用VDDS_maia_noncpu供電而不是TOP的VDD?
答:因為dbg的上一級是noncpu,noncpu下面分成dbg和兩個tbnk。
再分享個例子,比如,Cortex-A72低功耗設(shè)計,這個switch cell是雙開關(guān)嗎?答:不是,之所以分trickle和hammer,是為了解決hash current大電流,先開trickle,然后再開hammer。
再分享個例子,比如,Cortex-A72進階版本課程的低功耗例子:請問,如果iso cell輸出都要放parent,輸入放self,那么下面-applies_to_outputs對應(yīng)的-location為何是self?
答:這個需要了解CPU的內(nèi)部設(shè)計架構(gòu),tbnk掉電 VDDS_maia_noncpu也必然掉電,pst如下,所以-applies_to_outputs對應(yīng)的-location是可以的,那么注意下debug domain呢?
實際上,沒有tbnk到debug domain的信號,因此腳本如下:
再分享個例子,比如,Cortex-A72進階版本課程的低功耗例子:為何non_cpu的SRAM的VDD VDDM都接的可關(guān)閉電源?SRAM的VDD VDDM分別是常開、和retention電源吧?
答:本來是VDDM作為retention電源設(shè)計的,VDD關(guān)掉后 VDDM可以供電作為retention使用,但是此處沒有去做memory的雙電源,sram當成單電源使用,不然sram無法徹底斷電。
再分享個例子,比如,Cortex-A72基礎(chǔ)版課程有學員的Cortex-A72 maia_cpu LVS通過,但是MAIA頂層LVS比對不過,我們來定位一下。
以FE_OFN4326_cfgend_cpu1_o為例,點擊下圖FE_OFN4326_cfgend_cpu1_o:
找到calibredrv錯誤坐標:(1949,139)
對應(yīng)到innovus去看坐標:(1949,139)
看到maia_cpu的pin腳過于密集,造成頂層連接pin腳時候會無法繞線,從而導致innovus從maia_cpu上面走線,形成short。盡管maia_cpu帶了blockage,但是invs沒有足夠的連接pin的routing resource,也就只能在maia_cpu上面去try了。
修改辦法很簡單,具體操作option參見知識星球。
保存db,重新LVS,比對通過。
02
28nm Cortex-A7后端實戰(zhàn)
此外,我們提供全網(wǎng)最低價的28nm A7后端設(shè)計,價格驚喜!打垮動輒1.5w-2.5w的后端培訓價格!
我們再來對比下A72與A7的資源。A72Gate數(shù)目是A7的13倍!如果都采用28nm制程,A72的面積應(yīng)該是1180790um^2,實際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è)計課程采用的全國最低價格來推廣,本文不做過多介紹,本文重點介紹下先進的12nm A72進階版本課程。
03
12nm Cortex-A72—DFT實戰(zhàn)
開發(fā)完成,全國最低價!
04
景芯SoC—全芯片UPF后端實戰(zhàn)
景芯SoC培訓的全芯片UPF低功耗設(shè)計(含DFT設(shè)計)
景芯SoC訓練營培訓項目,低功耗設(shè)計前,功耗為27.9mW。
低功耗設(shè)計后,功耗為0.285mW,功耗降低98.9%!
7天沖刺PR訓練營有同學問如何給IO添加PAD?請思考景芯SoC的IO和PAD如何實現(xiàn)最佳?
7天沖刺PR訓練營有同學問,同樣的floorplan,有些同學很快跑完,有些同學則遇到大量DRC問題(EDA工具不停iteration)導致工具始終無法跑完,具體什么問題呢?
首先,小編發(fā)現(xiàn)該同學的stripe把TM2定義為了horizontal,而熟悉景芯工藝的同學知道,TM2的preference direction是VERTICAL。
查詢景芯的lef庫文件也可以確認:
用錯方向有多大影響呢?大家上景芯SoC的后端flow實踐一下吧,實踐出真知。
7天沖刺PR訓練營有同學問,為啥PR花了一天一夜24個小時完成布線還大量DRC錯誤?小編已經(jīng)將設(shè)計規(guī)模盡可能減小以加速PR設(shè)計,實際上2小時就可以跑完routing,為何這么慢?原因就是低功耗單元的走線。具體原因及解決辦法歡迎加入景芯訓練營討論。
其錯誤主要集中在M4上,請思考如何解決。
7天沖刺PR訓練營有同學問,power switch cell的secondPG pin(VDDG)從M1接出的,而不是M2, 請思考有什么問題?如何解決?
7天沖刺PR訓練營有同學問,景芯SoC培訓營同學遇到Corner Pad LVS不過怎么處理?
完成景芯SoC培訓的前端設(shè)計仿真、DFT后,我們來到后端flow,本教程教你一鍵式跑完數(shù)字后端flow。
生成腳本命令如下:
tclsh ./SCRIPTS/gen_flow.tcl -m flat all
生成flow腳本之前需要配置setup.tcl等相關(guān)參數(shù),具體參見【全網(wǎng)唯一】【全棧芯片工程師】提供自研的景芯SoC前端工程、DFT工程、后端工程,帶你從算法、前端、DFT到后端全流程參與SoC項目設(shè)計。
景芯SoC訓練營的同學問,為何innovus讀取做好的floorplandef文件報Error?首先看log:
Reading floorplan file - ./data_in/DIGITAL_TOP.def (mem = 1595.0M).
#% Begin Load floorplan data ... (date=10/23 2201, mem=1579.3M)
**ERROR: (IMPFP-710): File version unknown is too old.
以前EDI的時期,我們可以通過定義fp_file的方式來加載floorplan:
set vars(fp_file) "./data_in/DIGITAL_TOP.def"
但是現(xiàn)在innovus升級并放棄了fp_file的加載方式,當然也可以用老版本的EDI9.1及以前版本來加入fp_file,然后轉(zhuǎn)存為新版本,這方式明顯沒有必要。正如下log提示所說,檢查log是非常好的工程師習慣。
Input floorplan file is too old and is not supported in EDI 10.1 and newer.
You can use EDI 9.1 and before to read it in, then save again to create new version.
小編的直覺告訴我,先去看看同學保存的def文件是哪個def版本?
同學保存方式如下:
那么請問如何解決?請大家加入景芯訓練營實踐。
景芯SoC用了很多異步FIFO,關(guān)注異步RTL實現(xiàn)的同學,可以抓取異步FIFO出來看一下版圖連線:
查看下所有異步FIFO cell的面積;
dbget [dbget top.insts.pstatus unplaced -p].area
查下所有異步FIFO的cell的名字:
dbget [dbget top.insts.pstatus unplaced -p].name
審核編輯:黃飛
-
cpu
+關(guān)注
關(guān)注
68文章
10854瀏覽量
211583 -
UPF
+關(guān)注
關(guān)注
0文章
49瀏覽量
13504 -
DVFS
+關(guān)注
關(guān)注
1文章
17瀏覽量
11996
原文標題:2.5GHz頻率 hierarchy DVFS低功耗A72實戰(zhàn)
文章出處:【微信號:全棧芯片工程師,微信公眾號:全棧芯片工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論