多級(jí)分層分區(qū)和實(shí)現(xiàn)涉及包含內(nèi)部物理子分區(qū)的分區(qū)。換句話說(shuō),在這種方法中,對(duì)分區(qū)本身進(jìn)行分層分割。考慮SoC分區(qū)方案的示例,如圖1所示。級(jí)別0對(duì)應(yīng)于整個(gè)芯片的單個(gè)平面實(shí)現(xiàn),其中唯一被建模的物理接口是與外部世界有關(guān)的那個(gè)(以藍(lán)色顯示)。換句話說(shuō),在芯片內(nèi)部,只有邏輯邊界,沒有物理邊界。
圖1:SoC中典型的多級(jí)分層分區(qū)方案
跨越核心,APP_SUB_SYSTEM等的內(nèi)部邏輯交互(以黑色顯示)因此被覆蓋在平面設(shè)計(jì)本身內(nèi)。這種類型的方案本身具有最小的接口預(yù)算復(fù)雜性(在下一節(jié)中討論),涉及分區(qū)間交互,因?yàn)橹挥幸粋€(gè)分區(qū)。但是,這種方案不適用于大型設(shè)計(jì),主要是由于EDA工具運(yùn)行時(shí)間,內(nèi)存和機(jī)器資源要求的限制。
為了簡(jiǎn)化這種設(shè)計(jì)方案,設(shè)計(jì)人員可以選擇使用單級(jí)分層分區(qū)如第1級(jí)所示。在這種情況下,設(shè)計(jì)人員最終會(huì)得到4個(gè)物理分區(qū)或塊,如表1所示。在這種方法中,工程資源方面的設(shè)計(jì)限制被放寬,但是分區(qū)間路徑變得更加復(fù)雜,就預(yù)算而言,需要特別小心。將0級(jí)與1級(jí)進(jìn)行比較,我們觀察到在0級(jí)時(shí)只有外部接口路徑導(dǎo)致了主要的不確定性,在1級(jí)中,幾乎所有的分區(qū)間路徑都為我們提供了I/O接口的類似不確定性和復(fù)雜性。然而,級(jí)別1和級(jí)別0(外部接口)的接口路徑的性質(zhì)或多或少相似,因此可以使用相同的方法和約束來(lái)對(duì)它們進(jìn)行建模。級(jí)別0和級(jí)別1接口路徑之間存在非常重要的差異。 0級(jí)接口路徑由協(xié)議控制,其中一些協(xié)議具有為SoC給出的明確預(yù)算。 SoC只能遵守這些預(yù)算。另一方面,對(duì)于塊間路徑,預(yù)算編制位于設(shè)計(jì)者手中。沒有標(biāo)準(zhǔn)協(xié)議來(lái)管理交互,預(yù)算分配通常是迭代的。
轉(zhuǎn)向第2級(jí),我們進(jìn)一步將第1級(jí)的分區(qū)劃分為更小的子塊。有了這個(gè),我們最終留下了7個(gè)獨(dú)特的物理分區(qū)。這大大有助于減少工具運(yùn)行時(shí)間和資源限制,因?yàn)樵O(shè)計(jì)已經(jīng)分解成更小的部分;但是類似于1級(jí),分區(qū)間路徑&不確定性也在增加。在級(jí)別1的情況下,我們能夠模擬類似于級(jí)別0的外部接口的分區(qū)接口;第2級(jí)帶有更復(fù)雜的接口時(shí)序和實(shí)現(xiàn),特別是如果涉及的路徑跨越多個(gè)分區(qū)。此外,優(yōu)化的好處也顯著降低,因?yàn)榭缥锢磉吔绲膬?yōu)化不會(huì)非常有效。
因此,在改進(jìn)時(shí)序和實(shí)現(xiàn)關(guān)閉方面,多級(jí)分區(qū)通常可能是賭博。這種策略的回報(bào)取決于接口建模技術(shù)的質(zhì)量以及物理分區(qū)本身所涉及的邏輯的成熟度曲線。在下一節(jié)中,我們將討論有關(guān)多級(jí)分區(qū)方案的一些獨(dú)特挑戰(zhàn)及其可能的解決方案(如果有的話)。
表I:圖1所示設(shè)計(jì)中各種分區(qū)的層次結(jié)構(gòu)級(jí)別。
TOP(1)
分區(qū)級(jí)別 | LEVEL 0(實(shí)例計(jì)數(shù)) | LEVEL 1(實(shí)例計(jì)數(shù)) | LEVEL 2(實(shí)例計(jì)數(shù)) |
分層 塊 |
TOP_SOG(1) | TOP_SOG(1) | |
DUAL_CORE_TOP(2) | DUAL_CORE_TOP (2)+核心(4) | ||
GENERIC I/O CONTROLLER(2) | GENERIC I/O控制器(2)+IO_FIFO(2) | ||
APP_SUB_SYSTEM(1) | APP_SUB_SYSTEM(1)+APP_CORE(1) | ||
總分區(qū)計(jì)數(shù) | 1個(gè)唯一的 | 2唯一+ 2復(fù)制 | 3個(gè)唯一+4個(gè)重復(fù) |
多級(jí)分層時(shí)序收斂和實(shí)施中的挑戰(zhàn)
分層時(shí)序收斂固有地存在其缺點(diǎn),主要是由物理邊界上的界面不確定性和波紋效應(yīng)驅(qū)動(dòng)。除了計(jì)時(shí),物理限制進(jìn)一步造成了實(shí)施周期的其他方面的瓶頸,如平面圖關(guān)閉,引腳布局,泄漏減少等。負(fù)責(zé)這些的主要因素可分為以下幾類:
a)物理不確定性:
物理不確定性反映了由物理隔離引起的關(guān)閉不確定性在實(shí)現(xiàn)期間的分層分區(qū)。物理不確定性通常由于三個(gè)因素而產(chǎn)生:
i。跨接口的不可預(yù)測(cè)的數(shù)據(jù)路徑分布:
跨分區(qū)邊界的數(shù)據(jù)路徑分布在很大程度上取決于分區(qū)的物理成熟度和邏輯成熟度。由于這種不可預(yù)測(cè)性而出現(xiàn)的最常見挑戰(zhàn)之一是跨接口邊界的輸入/輸出延遲的復(fù)雜和迭代預(yù)算。除此之外,基于附加階段的放置,CTS和路由跳躍的不確定性進(jìn)一步使這個(gè)簡(jiǎn)單的任務(wù)更加迭代和依賴于實(shí)現(xiàn)。讓我們考慮多級(jí)分區(qū)APP_SUB_SYSTEM的例子,如圖1所示。我們可以清楚地看到,在TOP_SOG界面,有兩類交互:APP_SUB_SYSTEM與TOP_SOG& APP_CORE與TOP_SOG可以建模如下:
APP_SUB_SYSTEM - TOP_SOG預(yù)算公式:
的 的的
Logic_Distribution_Inside_APP_SUB_SYSTEM
+ Stage_Margin_APP_SUB_SYSTEM
+ Stage_Margin_TOP_SOG
APP_CORE - TOP_SOG預(yù)算公式:
Logic_Distribution_Inside_APP_CORE
+ Stage_Margin_APP_CORE
+ Stage_Margin_APP_SUB_SYSTEM
+ Logic_Distribution_Inside_APP_SUB_SYSTEM
+ Stage_Margin_TOP_SOG
上面的等式只是建議在為子預(yù)算建模時(shí)在多級(jí)分區(qū)設(shè)計(jì)中,必須考慮所有中間分區(qū)的階段余量和邏輯分布(即路徑開始和結(jié)束分區(qū)除外)。如果預(yù)算是從最高層開始的,那么這個(gè)預(yù)算也必須合理地分成相似的部分,以便正確實(shí)施和時(shí)間關(guān)閉。例如,讓我們假設(shè)頂部給出了一個(gè)10ns的裕度(時(shí)鐘周期的50%)到APP_CORE的IN2REG路徑,時(shí)鐘為20ns?,F(xiàn)在,假設(shè)80%的邏輯位于APP_CORE內(nèi),而剩余的20%位于APP_SUB_SYSTEM內(nèi)作為直通路徑,這意味著在任何階段APP_SUB_SYSTEM內(nèi)的預(yù)算不應(yīng)超過(guò)2ns,對(duì)于APP_CORE,它應(yīng)限制在8ns。除此之外,還必須在此限制內(nèi)對(duì)單個(gè)塊階段余量進(jìn)行建模。
因此,設(shè)計(jì)人員必須將此路徑建模為:
APP_CORE的I/P最大延遲= 20 - (0.8 * 10)= 12ns
I/P_port_budget + APP_CORE_stage_margin= 12ns
對(duì)于APP_SUB_SYSTEM的I/P到O/P最大延遲= 0.2 * 10 = 2ns
I/P_to_O/P_port_budget + APP_SUB_SYSTEM_margin= 2ns
雖然上述計(jì)算看起來(lái)相當(dāng)簡(jiǎn)單,但問題在設(shè)計(jì)成熟,邏輯分布以及階段邊距發(fā)生變化時(shí)開始。因此,在多分區(qū)方案中,每個(gè)后續(xù)分區(qū)的數(shù)量變量將增加至少2,這通常會(huì)迫使設(shè)計(jì)人員進(jìn)行多次迭代以使這些預(yù)算成熟,以實(shí)現(xiàn)正確的收斂時(shí)序收斂。
II。分區(qū)邊界內(nèi)外的不常見路徑:
除邏輯分布外,不常見的時(shí)鐘路徑是另一個(gè)噩夢(mèng),在分層關(guān)閉的情況下困擾設(shè)計(jì)者。雖然不常見的路徑不確定性的建模是與預(yù)算分布類似的類型的挑戰(zhàn),但是更加有害的方面來(lái)自與不常見路徑相關(guān)聯(lián)的不匹配的形式。不常見路徑的一些常見后果是:
CPPR或CPPR降級(jí)的變化。
輸入延遲的變化以及I/O建模
接口保持違規(guī)的大幅增加
由于時(shí)間窗口的變化引起的噪聲變化
解決此類不匹配的唯一方法是減少跨越分區(qū)的不常見路徑,并嘗試對(duì)其進(jìn)行建模,同時(shí)考慮與之相關(guān)的所有類型的不確定性。但是,隨著分區(qū)級(jí)別的增加,不常見路徑的建模和減少都會(huì)成為設(shè)計(jì)人員面臨的主要挑戰(zhàn)。在大多數(shù)情況下,由于非常見路徑的余量通常有點(diǎn)悲觀,因此當(dāng)我們達(dá)到最低級(jí)別的分區(qū)時(shí),通過(guò)每個(gè)分區(qū)級(jí)別關(guān)聯(lián)的次要悲觀傾向于累積到主要塊中。
圖2顯示了一個(gè)典型示例,其中可以輕松地看到跨分區(qū)層次結(jié)構(gòu)的不常見路徑的變化。對(duì)于頂級(jí)分區(qū)TOP_SOG,非常見路徑在Z之后立即開始,其中進(jìn)一步進(jìn)入APP_SUB_SYSTEM的層次結(jié)構(gòu),APP_CORE分別為Y和X.這意味著與TOP_SOG相比,在APP_CORE上應(yīng)用時(shí)鐘降額的影響要小得多,因此導(dǎo)致時(shí)序不匹配,這可能導(dǎo)致跨接口的保持違規(guī)大幅增加,并且由于APP_CORE與APP_SUB_SYSTEM不匹配而產(chǎn)生噪聲變化。本身與TOP_SOG不匹配。
圖2:多級(jí)分層設(shè)計(jì)中不常見和常見路徑的影響。
iii。常見路徑不匹配:
之前我們討論了多級(jí)分區(qū)設(shè)計(jì)中不常見路徑的不利影響,但是與外部接口相關(guān)的公共路徑也同樣關(guān)注,特別是在噪音分析的情況下。公共路徑延遲的簡(jiǎn)單改變可以在正常分析中傳遞小的CPPR調(diào)整,然而,這種延遲的改變可能在早先沒有貢獻(xiàn)的時(shí)序窗口中產(chǎn)生重疊;因此,降低噪聲分布并在甚至REG2REG內(nèi)部路徑中產(chǎn)生違規(guī),這些路徑早先遇到噪聲。引入更多級(jí)別的分區(qū)進(jìn)一步增加了這種不匹配的可能性,因此即使在噪聲之后也會(huì)對(duì)塊級(jí)設(shè)計(jì)閉合的質(zhì)量產(chǎn)生懷疑。
考慮REG_REG路徑跨越REG E和REG F在APP_CORE中如圖所示圖2.這是APP_CORE的完全內(nèi)部路徑,但是由于公共路徑本身(直到X)的變化,從TOP_SOG和APP_SUB_SYSTEM級(jí)別看時(shí)鐘邊緣到達(dá)時(shí)延遲的變化會(huì)產(chǎn)生完全不同的時(shí)序窗口重疊,如圖所示雖然這些路徑可以通過(guò)過(guò)度優(yōu)化來(lái)修復(fù),以模擬這種不匹配,但仍然在設(shè)計(jì)執(zhí)行期間,人們永遠(yuǎn)無(wú)法確定公共路徑是否保持不變。
圖3:共用路徑對(duì)多級(jí)分層設(shè)計(jì)中SI(噪聲)時(shí)序窗口的影響。
b)物理限制:
在多級(jí)分區(qū)中作為物理分區(qū)的數(shù)量增加,因?yàn)槲锢硐拗茖?dǎo)致放置問題。物理限制通常反映在有限的端口/引腳/宏放置或建模中。以下是在處理物理挑戰(zhàn)時(shí)應(yīng)考慮的一些關(guān)鍵點(diǎn):
i。塊和子塊的所有相同端口應(yīng)放置在附近,它們之間的布局邏輯最小。這些端口通常用于為TOP和子塊提供連接,因此應(yīng)使用最小緩沖區(qū)并且應(yīng)非常小心地處理放置。循環(huán)路徑中涉及的端口,宏和邏輯的放置,即in2reg,然后是reg2out,反之亦然,應(yīng)該通過(guò)考慮時(shí)間以及DRV和DRC的合理余量來(lái)驅(qū)動(dòng),因?yàn)檫@些很可能是瓶頸。后期設(shè)計(jì)階段。
iii。子塊可能存在一些時(shí)序模型問題。例如,當(dāng)使用典型的物理實(shí)現(xiàn)EDA工具(如Cadence EDI)時(shí),我們通常會(huì)為子塊指定接口邏輯模型(ILM)。使用ILM時(shí),有一些端口(復(fù)位,掃描啟用等),由于其大小限制,其相關(guān)邏輯未被轉(zhuǎn)儲(chǔ)到ILM內(nèi)部(復(fù)位轉(zhuǎn)到所有觸發(fā)器,因此如果在ILM中保留復(fù)位邏輯,則ILM壓縮將為低)。這導(dǎo)致在相同端口之間留下未優(yōu)化的邏輯,因?yàn)樗贓DI端不可見,如圖4所示。為解決此類情況,可以使用以下一些替代方案:
在較高層次分區(qū)內(nèi)的此類端口之間設(shè)置最大延遲,其預(yù)算取決于它們的定時(shí)時(shí)鐘。在多個(gè)時(shí)鐘的情況下,我們需要給它們最壞的情況預(yù)算,以便信號(hào)可以從塊端口到達(dá)子塊。
如果有少數(shù)端口正在通話并且它們之間具有未優(yōu)化的邏輯,我們可以手動(dòng)更改該邏輯,以便它們花費(fèi)最少的時(shí)間并將它們?cè)O(shè)置為在實(shí)現(xiàn)端不接觸。然而,這種方法并不是一個(gè)明確的長(zhǎng)期解決方案,因?yàn)樵诿看蝺?yōu)化之后生成手動(dòng)定時(shí)ECO可能會(huì)變得很麻煩。
圖4:基于ILM建模的未優(yōu)化復(fù)位路徑。
c)亞優(yōu)化優(yōu)化&復(fù)制問題:
次優(yōu)優(yōu)化是分層設(shè)計(jì)的主要實(shí)現(xiàn)相關(guān)限制。隨著硬分區(qū)數(shù)量的增加,對(duì)邊界和接口邏輯的優(yōu)化也會(huì)增加。當(dāng)大量使用這種分區(qū)的復(fù)制塊時(shí),這成為一個(gè)更令人擔(dān)憂的問題??紤]圖1中的 dual_core_top 模塊。與內(nèi)部邏輯定時(shí)相比,兩個(gè)復(fù)制內(nèi)核中的接口邏輯仍然沒有那么優(yōu)化。
因此,如果用戶要離開示波器25mW泄漏減少,對(duì)于單個(gè)核心似乎是一個(gè)小問題,但是將其乘以復(fù)制品的數(shù)量,在圖1的設(shè)計(jì)中,用戶現(xiàn)在錯(cuò)過(guò)了相當(dāng)于4 * 25 = 100mW的泄漏減少平面設(shè)計(jì)。此外,對(duì)于復(fù)制的分區(qū),設(shè)計(jì)人員主要有兩個(gè)選項(xiàng),要么針對(duì)最壞情況優(yōu)化塊,要么針對(duì)常見場(chǎng)景對(duì)其進(jìn)行優(yōu)化。對(duì)于前者,設(shè)計(jì)師很可能最終不會(huì)優(yōu)化設(shè)計(jì),而對(duì)于后者,設(shè)計(jì)師可能最終會(huì)遇到可能無(wú)法輕易解決的問題。
例如,假設(shè)a公共存儲(chǔ)器數(shù)據(jù)總線到達(dá)四核頂部分區(qū)的4個(gè)核心,如圖5所示?,F(xiàn)在由于物理位置,核心4的時(shí)鐘延遲和總線數(shù)據(jù)偏差可能比core1高200-250ps?,F(xiàn)在對(duì)于略微滿足的路徑,這可能會(huì)導(dǎo)致最佳角落中最近的core1的額外保持違規(guī),而core4中的設(shè)置違規(guī)在最壞的角落中最遠(yuǎn),而在core2和core3處不會(huì)出現(xiàn)此類違規(guī)。因此,如果設(shè)計(jì)者選擇修復(fù)這些違規(guī),盡管沒有核心具有相同的設(shè)置以及關(guān)鍵路徑,但是由于復(fù)制和物理放置,這種情況仍然可能存在。
圖5:復(fù)制在四核類似塊內(nèi)的多級(jí)分層分區(qū)中的影響。
-
PCB打樣
+關(guān)注
關(guān)注
17文章
2968瀏覽量
21626 -
華強(qiáng)PCB
+關(guān)注
關(guān)注
8文章
1831瀏覽量
27701 -
華強(qiáng)pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
42946
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論