新聞中心
如何進(jìn)行physical aware synthesis的分析,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
我們一直強(qiáng)調(diào)做網(wǎng)站、成都網(wǎng)站制作對(duì)于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對(duì)待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)站建設(shè)公司不一定是大公司,成都創(chuàng)新互聯(lián)公司作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。
一切都是發(fā)展的需要,工藝更新給整個(gè)半導(dǎo)體行業(yè)帶來了巨大的挑戰(zhàn),從生產(chǎn)設(shè)備到EDA到芯片設(shè)計(jì)實(shí)現(xiàn)無不在被澤科技之光時(shí)氣喘吁吁。下圖是從DAC15 Andrew B. Kahng講synthesis 的slide上摳的圖,這幅圖直觀地呈現(xiàn)了從65nm到16/14nm,物理實(shí)現(xiàn)尤其是 STA 需要考慮的由工藝進(jìn)步引入的因素。
在芯片設(shè)計(jì)實(shí)現(xiàn)這一截,P&R工程師對(duì)工藝帶來的挑戰(zhàn)感受會(huì)更直接,綜合跟 STA 跟 DFT 也都有新的點(diǎn)跟方法學(xué)的更新,但大都被 EDA 工具嚴(yán)實(shí)地包了起來,就拿綜合來說,相對(duì)于傳統(tǒng)綜合而言最大的更新莫過于physical aware synthesis,但對(duì)于大部分綜合工程師而言,這一點(diǎn)似乎只是一件水到渠成的事兒,你用或不用,flow 就在那里,不吼不叫。驢今天就自己淺顯的認(rèn)知,就這一點(diǎn)做一個(gè)簡(jiǎn)單的論訴。
為什么要做physical aware synthesis?
最根本的目的就是減少前后端的迭代次數(shù),前后端迭代次數(shù)多的根本原因是 correlation 差,而 correlation 需要從timing 和 congestion 兩個(gè)方面來看:
Timing
綜合優(yōu)化的對(duì)象是 timing path,而 timing path delay = net delay + cell delay,90nm之前由cell delay 主導(dǎo),而進(jìn)入65nm net delay所占比例日漸增加,進(jìn)入40之后幾乎跟cell delay平分秋色,所以從40 開始physical aware synthesis 被硅農(nóng)熟知,因?yàn)閜hysical aware synthesis在優(yōu)化過程中可以看到更精確的net delay。
為什么logical synthesis 不能精確計(jì)算net delay?
這就要回看一下傳統(tǒng)綜合是如何估算 net delay 的。傳統(tǒng)綜合俗稱logic synthesis,它根據(jù)WLM 來估算net delay。WLM (wire load model) 由foundry 提供,WLM通常包括面積系數(shù)、電容系數(shù)和單位長(zhǎng)度的電阻系數(shù),以及一個(gè)用于估計(jì)net 長(zhǎng)度的表格,表的index是 fanout,直白地說就是將net 的長(zhǎng)度模擬成fanout 的函數(shù)。
看下圖:按照WLM 來計(jì)算,blue 到red 的所有net 長(zhǎng)度都一樣,net delay也一樣,而實(shí)際上 net 行走的姿勢(shì)五花八門,根本就不可能一樣,缺點(diǎn)顯而易見。另一個(gè)缺陷是WLM 的單位電容電阻是一個(gè)常值,無法模擬不同layer RC 值的差異,而工藝進(jìn)入16nm 之后,必須要考慮 layer aware 的 net delay,進(jìn)入7nm 之后除了layer 還要考慮VIA對(duì)net delay的影響,為什么要考慮VIA? 因?yàn)閂IA delay占的比重已不容忽視。
在40甚至28,依然有人在用傳統(tǒng)的方式來做綜合,做法簡(jiǎn)單粗暴加時(shí)鐘周期30%甚至更多的過約,這樣做是可以cover net delay,但是實(shí)在是過猶不及。據(jù)統(tǒng)計(jì)在一顆芯片里80%以上的線都是短線,為了cover那不到20%的線,付出的代價(jià)就是更大的面積及更多的功耗,當(dāng)然如果你不在乎,那就無所謂了,畢竟任性是你們土豪的特性之一!
Physical aware synthesis 如何更精確的計(jì)算net delay?
要精確計(jì)算net delay必須要知道net的行走姿勢(shì),而要知道net 的行走姿勢(shì)必需要知道:它來自哪里?要去向何方?這就需要知道cell 的位置,cell 位置確定了之后,綜合工具會(huì)做global 繞線,根據(jù)global 繞線的結(jié)果來估算net delay。cell 位置由placement 確定,所以如今綜合工具都集成了 placement 引擎,這也是做 physical aware synthesis 的關(guān)鍵所在。目前大概有兩種做place的方式:
做完優(yōu)化跟mapping之后,再做place,操作對(duì)象是std cell。
在elaborate 之后優(yōu)化之初就做place, 即所謂的 early physical, 早期階段針對(duì)module 做palce,mapping之后再以std cell為對(duì)象做place。
下圖是谷歌上隨便找的一張圖,只為顯示什么是module place, 從Layout 上看每一個(gè)顏色對(duì)應(yīng)一個(gè) module, 對(duì)應(yīng)于RTL中的 hierarchical, 所以 module place 的QA 對(duì) PPA 會(huì)有很大影響。綜合工具基本都按 translation + optimization + mapping 三大步來走, 所有結(jié)構(gòu)的選擇跟大部分優(yōu)化的動(dòng)作都在 optimization 這一步完成,如果可以在 optimization 時(shí)就知道 module 的位置信息,優(yōu)化會(huì)更有的放矢會(huì)更能『精準(zhǔn)打擊』,所以 Early physical 十分必要?,F(xiàn)在看到的趨勢(shì)是把更多的物理信息拿到前端來,越早考慮物理信息得到的結(jié)果會(huì)越好。
結(jié)論:physial aware synthesis根據(jù)真實(shí)的物理信息,用跟 P&R 一致的 place 引擎跟 global route 引擎,可以精確估算 net delay,并且是layer 跟VIA aware的。通常physical aware synthesis 只需過約時(shí)鐘周期5%~10%即可,用于conver legalization跟detail route 的影響。
Congestion
同樣由于工藝進(jìn)步,集成度提高,單位面積上要走的線驟增,所以 congestion 成了一個(gè)從RTL 設(shè)計(jì)就要開始關(guān)注的問題,否則到了繞線的時(shí)候繞不通,前面所做的一切都成了無用功。很顯然,logical 綜合是無法考慮 congestion 的,要在綜合階段做congestion 優(yōu)化必須要 physical aware synthesis.
其實(shí)不論P(yáng)PA還是congestion主導(dǎo)決定權(quán)都在進(jìn)實(shí)現(xiàn)之前,架構(gòu)算法設(shè)計(jì),才是真正決定一切的『權(quán)貴』,所以才說實(shí)現(xiàn)是個(gè)沒有靈魂的工種,只要按著 設(shè)計(jì)/EDA/foundry 定的規(guī)則往下走就可以,切忌的就是『發(fā)揮』。
于congestion 綜合工具能做的基本只有兩件事兒:選結(jié)構(gòu)跟推cell。至于選結(jié)構(gòu),一個(gè)用爛的例子就是把一個(gè)大MUX 拆成多級(jí)MUX 用于解congestion。推cell 這一點(diǎn)完全依賴于EDA 工具,如果你不知道如何做,那就找AE要變量或 option 讓工具在綜合做place 時(shí)將 congestion 嚴(yán)重區(qū)域的cell 推散。除此之外,還有一點(diǎn)可以人為干預(yù),禁用或讓工具少用size 小的復(fù)雜cell 比如x1的 AOI/OAI。
要特別說明一點(diǎn),在16之后,layer 的影響特別大,所以綜合用的 DEF 一定要有special net 部分,也就是你的power plan,讓工具在綜合時(shí)清楚地知道哪些layer 的繞線資源已經(jīng)被占用。
關(guān)于如何進(jìn)行physical aware synthesis的分析問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
本文標(biāo)題:如何進(jìn)行physicalawaresynthesis的分析
當(dāng)前地址:http://www.dlmjj.cn/article/pejhgo.html