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

基于Linux 的兩種分層存儲實(shí)現(xiàn)方案

RP Fiber Power中的多級放大器建模方案解析

在MATLAB/simulink中建模時(shí)的兩種不同實(shí)現(xiàn)方式
MATLAB/simulink中兩種實(shí)現(xiàn)建模方式的優(yōu)勢
使用PyMC進(jìn)行時(shí)間序列分層建模

低功耗系統(tǒng)在降低功耗的同時(shí)保持精度所涉及的時(shí)序因素和解決方案

評論