輸入,其包括但不限于:(a)已布置的網(wǎng)表,其提供了針對單元集合(例如緩沖器、順序電路元件等)的布置信息;(b)技術(shù)的描述(也即,金屬層的數(shù)目和層的特性),(c)管腳/端子去往網(wǎng)絡(luò)的指派,(d)規(guī)定了引線寬度和間距的非默認(rèn)布線規(guī)則的集合,(e)使用非默認(rèn)規(guī)則的網(wǎng)絡(luò)的集合,以及關(guān)于針對這些網(wǎng)絡(luò)中每一個(gè)網(wǎng)絡(luò)的非默認(rèn)規(guī)則的信息,以及(f)必須由布線方案所滿足的設(shè)計(jì)規(guī)則的集合。注意,布線系統(tǒng)不應(yīng)生成電連接屬于不同網(wǎng)絡(luò)的管腳的布線方案。此外,布線系統(tǒng)應(yīng)該生成僅使用可應(yīng)用布線資源而對引線布線的布線方案,并且布線方案必須不違反DRC (注意,DRC通常向提供作為對布線問題的輸入)。例如,DRC可以規(guī)定最小引線寬度,兩個(gè)相鄰引線之間最小距離,不應(yīng)使用的布線形狀等等。
[0026]布線系統(tǒng)的輸出包括但不限于,電連接了屬于每個(gè)網(wǎng)絡(luò)(例如時(shí)鐘樹的一部分)的所有管腳/端子的網(wǎng)表,以及可以包括引線長度、通孔計(jì)數(shù)、和未解決的設(shè)計(jì)規(guī)則檢查(DRC)的布線摘要。
[0027]因?yàn)闀r(shí)鐘樹在電路設(shè)計(jì)中所扮演的重要角色,以及因?yàn)闀r(shí)鐘樹需要滿足特定需求(也即可以是不存在或者對于電路設(shè)計(jì)的其他部分可以是不這么重要的需求),因此用于對時(shí)鐘樹布線的布線規(guī)則通常與用于對電路設(shè)計(jì)中其他網(wǎng)表布線的那些規(guī)則不同。用于對時(shí)鐘樹布線的這些特殊布線規(guī)則有時(shí)稱作非默認(rèn)布線規(guī)則或非默認(rèn)規(guī)則(NDR),以將這些布線規(guī)則與默認(rèn)用于對電路設(shè)計(jì)中網(wǎng)表布線的“默認(rèn)”布線規(guī)則區(qū)分開。
[0028]在傳統(tǒng)方案中,用戶(例如電路設(shè)計(jì)者)需要提供用于布線時(shí)鐘樹的NDR的集合。然而,這些方案易于生成用戶錯(cuò)誤,并且隨著半導(dǎo)體集成密度繼續(xù)增大和電路設(shè)計(jì)變得越來越復(fù)雜而變得不實(shí)際。此外,如果并非不可能的話,則對于用戶而言難以在構(gòu)建時(shí)鐘樹之前規(guī)定合適的NDR。因此,在傳統(tǒng)方案中,時(shí)鐘樹必須多次布線以使得用戶可以迭代地精細(xì)調(diào)節(jié)NDR。
[0029]用于自動(dòng)地生成用于布線時(shí)鐘樹的NDR的方法
[0030]本公開中所述的一些實(shí)施例自動(dòng)創(chuàng)建用于布線時(shí)鐘樹的NDR?;趯﹄娐吩O(shè)計(jì)的分析而創(chuàng)建NDR,并且有助于(1)防止在時(shí)鐘網(wǎng)絡(luò)上的串?dāng)_(這對于盡可能保持時(shí)鐘信號干凈以確保電路設(shè)計(jì)的適當(dāng)操作是重要的),(2)防止在時(shí)鐘網(wǎng)絡(luò)上的電迀移(EM)(時(shí)鐘信號可以由可以增大EM發(fā)生的大型驅(qū)動(dòng)器所驅(qū)動(dòng))(3)減小時(shí)鐘延遲,以及(4)改進(jìn)時(shí)鐘網(wǎng)絡(luò)的可布線性。
[0031]圖3示出了根據(jù)在此所述的一些實(shí)施例的用于生成用于在時(shí)鐘樹中布線網(wǎng)絡(luò)的非默認(rèn)布線規(guī)則的集合的方法。該方法可以包含,確定針對網(wǎng)絡(luò)的一個(gè)或多個(gè)度量,以及隨后基于度量確定NDR的集合。具體的,方法可以包含確定針對網(wǎng)絡(luò)的擁擠度量(操作302),針對網(wǎng)絡(luò)的延遲度量(操作304),針對網(wǎng)絡(luò)的串?dāng)_度量(操作306),針對網(wǎng)絡(luò)的電迀移度量(操作308),和/或時(shí)鐘樹層級(操作310)。
[0032]擁擠度量可以對應(yīng)于網(wǎng)絡(luò)附近布線擁擠的量。在一些實(shí)施例中,擁擠度量可以如下確定。電路設(shè)計(jì)可以劃分為稱為g_單元的矩形或方形的陣列。每個(gè)g單元與指示了可以通過g_單元布線的引線數(shù)目的容量相關(guān)聯(lián)。接著,基于電路組塊的初始布置,方法可以確定需要從一個(gè)g_單元布線至另一個(gè)的引線的數(shù)目。方法可以隨后確定對于這些引線的近似布線(也即在g_單元層級處),并且記錄經(jīng)過每個(gè)g_單元的引線數(shù)目。方法可以隨后基于g單元的容量以及預(yù)期將穿過g單元布線的引線數(shù)目而確定對于g單元的擁擠度量。對于網(wǎng)絡(luò)的擁擠度量可以是部分或完全在網(wǎng)絡(luò)的邊界框內(nèi)的g單元的擁擠度量的平均值。例如,如果存在部分或者完全在網(wǎng)絡(luò)的邊界框內(nèi)(網(wǎng)絡(luò)的邊界可以是包圍了所有網(wǎng)絡(luò)管腳的矩形框)的N個(gè)g單元,則與網(wǎng)絡(luò)相關(guān)聯(lián)的擁擠度量可以是這N個(gè)g單元的擁擠度量的平均值。在其他實(shí)施例中,可以使用這N個(gè)g單元之中的最大擁擠度量(或者基于N個(gè)g單元的擁擠度量的任何其他統(tǒng)計(jì)測量)。
[0033]延遲度量可以對應(yīng)于包括網(wǎng)絡(luò)的最長延遲時(shí)鐘路徑的時(shí)鐘延遲。在一些實(shí)施例中,延遲度量可以是標(biāo)記,也即為“0”或“1”的數(shù)值?!?”數(shù)值可以指示了網(wǎng)絡(luò)并非是最長(或幾乎最長)時(shí)鐘路徑的一部分。“1”數(shù)值可以指示了網(wǎng)絡(luò)是最長(或幾乎最長)時(shí)鐘路徑的一部分。
[0034]例如,考慮圖1中的網(wǎng)絡(luò),其將時(shí)鐘管腳102與緩沖器104、106和108的輸入端電連接。該網(wǎng)絡(luò)是多時(shí)鐘路徑的一部分。例如,該網(wǎng)絡(luò)是開始于時(shí)鐘管腳102并且結(jié)束于順序電路元件110的時(shí)鐘輸入端處的時(shí)鐘路徑的一部分,并且也是開始于時(shí)鐘管腳102并且結(jié)束于順序電路元件116的時(shí)鐘輸入端處的時(shí)鐘路徑的一部分。在包括該網(wǎng)絡(luò)的所有時(shí)鐘路徑之外,假設(shè)開始于時(shí)鐘管腳102并且結(jié)束于順序電路元件116的時(shí)鐘輸入端處的時(shí)鐘路徑具有最大延遲。接著,將時(shí)鐘管腳102與緩沖器104、106和108的輸入端電連接的網(wǎng)絡(luò)的延遲度量可以設(shè)置為“1”。另一方面,假設(shè)將緩沖器104的輸出端連接至順序電路元件110的時(shí)鐘輸入端的網(wǎng)絡(luò)并非是最長(或幾乎最長)時(shí)鐘路徑的一部分。隨后,將緩沖器104的輸出端電連接至順序電路元件110的時(shí)鐘輸入端的網(wǎng)絡(luò)的延遲度量可以設(shè)置為“0”。
[0035]串?dāng)_度量可以對應(yīng)于網(wǎng)絡(luò)從其他網(wǎng)絡(luò)接收到串?dāng)_的量。在一些實(shí)施例中,系統(tǒng)可以確定由于串?dāng)_而引入時(shí)鐘信號的抖動(dòng)的量,并且使用抖動(dòng)的量作為串?dāng)_度量。抖動(dòng)的量(以及因此串?dāng)_度量)可以表示作為絕對抖動(dòng)(也即以時(shí)間為單位)或者作為一個(gè)時(shí)鐘周期的一小部分。額外地,抖動(dòng)量可以量化作為峰到峰抖動(dòng)或均方根抖動(dòng)。
[0036]電迀移度量可以對應(yīng)于預(yù)期將發(fā)生在網(wǎng)絡(luò)中的電迀移的量。在一些實(shí)施例中,由于電迀移(例如使用布萊克方程計(jì)算)的平均無故障時(shí)間(MTTF)可以用作電迀移度量。如果MTTF數(shù)值小于給定閾值,則網(wǎng)絡(luò)可以視作違反了電迀移約束。在一些實(shí)施例中,電迀移度量可以是標(biāo)記,也即其可以具有“0”或“1”數(shù)值。具體的,可以計(jì)算MTTF并且與閾值(例如可接受的MTTF數(shù)值)作比較。如果MTTF數(shù)值大于閾值,則電迀移度量標(biāo)記可以設(shè)置為“0”,這指示了網(wǎng)絡(luò)并未違反電迀移約束。另一方面,如果MTTF數(shù)值小于閾值,則電迀移度量標(biāo)記可以設(shè)置為“ 1 ”,這指示了網(wǎng)絡(luò)違反了電迀移約束。
[0037]方法可以將時(shí)鐘樹劃分為兩個(gè)或更多層級(例如通過執(zhí)行通過從時(shí)鐘樹鐘根開始的樹遍歷),并且網(wǎng)絡(luò)可以取決于網(wǎng)絡(luò)處于時(shí)鐘樹中何處而與時(shí)鐘樹層級相關(guān)聯(lián)。本公開中所述一些實(shí)施例將時(shí)鐘樹劃分為多個(gè)層級,例如時(shí)鐘樹根層級、時(shí)鐘樹干層級和時(shí)鐘樹葉層級。例如,在圖1中,時(shí)鐘樹可以劃分為以下層級。樹根層級,包括了將時(shí)鐘管腳102與緩沖器104、106和108的輸入端電連接的網(wǎng)絡(luò)。樹干層級,包括了將緩沖器108的輸出端與順序電路元件112的時(shí)鐘輸入端以及緩沖器107的輸入端電連接的網(wǎng)絡(luò)。樹葉層級,包括以下網(wǎng)絡(luò):(a)將緩沖器104的輸出端與順序電路元件110的時(shí)鐘輸入端電連接的網(wǎng)絡(luò),(b)將緩沖器106的輸出端與順序電路元件118的時(shí)鐘輸入端電連接的網(wǎng)絡(luò),以及(c)將緩沖器107的輸出端與順序電路元件114和116的時(shí)鐘輸入端電連接的網(wǎng)絡(luò)。
[0038]已經(jīng)僅為了示意目的展示了以上度量的示例并且并非意在將實(shí)施例限定于所公開的形式。擁擠、延遲、串?dāng)_、電迀移和時(shí)鐘樹層級的許多不同定義對于本領(lǐng)域技術(shù)人員而言將是明顯的,并且在此所述實(shí)施例的范圍意在覆蓋所有這些定義。
[0039]一旦已經(jīng)確定了一個(gè)或多個(gè)度量,可以基于擁擠度量、延遲度量、串?dāng)_度量、電迀移度量、和/或時(shí)鐘樹層級而生成用于網(wǎng)絡(luò)的非默認(rèn)布線規(guī)則的集合(操作312)。
[0040]具體的,為了防止串?dāng)_和/或電迀移違反,實(shí)施例可以使用更寬的寬度和/或更寬的間距以用于布線網(wǎng)絡(luò)。同樣地為了減小時(shí)鐘路徑的時(shí)鐘延遲,實(shí)施例可以使用更寬的寬度和/或更寬的間距以用于布線網(wǎng)絡(luò)。然而,使用更寬的寬度和/或更寬的間距消耗了更大的布線資源。因此,在高擁擠區(qū)域中,可以無法使用更寬的引線寬度或者更寬的間距。
[0041]在一些實(shí)施例中,方法可以計(jì)算針對網(wǎng)絡(luò)的不同度量,并且隨后基于所計(jì)算的度量而選擇合適的引線寬度和引線間距。例如,響應(yīng)于確定了指示網(wǎng)絡(luò)并非在高擁擠區(qū)域中的擁擠度量,方法可以生成布線規(guī)則,其使用了比默認(rèn)規(guī)則引線寬度更寬的引線寬度、比默認(rèn)規(guī)則間距更寬的間距或