自動時鐘樹布線規(guī)則生成的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及在電子電路設(shè)計(jì)期間的時鐘樹綜合。更具體地,本公開涉及自動時鐘樹布線規(guī)則生成。
【背景技術(shù)】
[0002]半導(dǎo)體技術(shù)中的進(jìn)展目前使其能夠在單個半導(dǎo)體芯片上集成數(shù)億個晶體管。半導(dǎo)體集成密度的這種急劇增大已經(jīng)對設(shè)計(jì)電路構(gòu)成了相當(dāng)大的挑戰(zhàn)。
[0003]時鐘樹綜合(CTS)和布線是電子設(shè)計(jì)自動化(EDA)中兩個重要操作。CTS涉及用于將時鐘信號分布至電路設(shè)計(jì)中順序電路元件的集合的創(chuàng)建時鐘分布網(wǎng)絡(luò)的過程。對電路設(shè)計(jì)布線(包括在電路設(shè)計(jì)中布線一個或多個時鐘樹)涉及確定對金屬引線的布線,金屬引線電連接電路元件以形成執(zhí)行了所需功能的布線電路。由布線器所生成的布線時鐘樹的質(zhì)量可以對EDA設(shè)計(jì)流程中下游階段造成重大影響。
【發(fā)明內(nèi)容】
[0004]一些實(shí)施例基于一個或多個度量自動地生成(也即無需用戶手動生成規(guī)則)用于在時鐘樹中布線網(wǎng)絡(luò)的非默認(rèn)布線規(guī)則的集合。一些實(shí)施例可以確定一個或多個以下度量:(1)對于網(wǎng)絡(luò)的擁擠度量,其中擁擠度量對應(yīng)于網(wǎng)絡(luò)附近布線擁擠的量,(2)對于網(wǎng)絡(luò)的延遲度量,其中延遲度量對應(yīng)于包括網(wǎng)絡(luò)的最長延遲時鐘路徑的時鐘延遲,(3)對于網(wǎng)絡(luò)的串?dāng)_度量,其中串?dāng)_度量對應(yīng)于網(wǎng)絡(luò)從其他網(wǎng)絡(luò)接收的串?dāng)_的量,(4)對于網(wǎng)絡(luò)的電迀移度量,其中電迀移度量對應(yīng)于預(yù)期發(fā)生在網(wǎng)絡(luò)中電迀移的量,以及(5)對于網(wǎng)絡(luò)的時鐘樹層級,其中時鐘樹的鐘根(root)對應(yīng)于最高時鐘樹層級。
[0005]接著,實(shí)施例可以基于一個或多個度量而生成用于布線網(wǎng)絡(luò)的非默認(rèn)布線規(guī)則的集合。布線規(guī)則可以規(guī)定引線應(yīng)該多寬以及相鄰引線應(yīng)該布置間隔多遠(yuǎn)。非默認(rèn)布線規(guī)則可以規(guī)定不同于默認(rèn)寬度的引線寬度和/或規(guī)定不同于默認(rèn)間距的間距(也即兩個引線之間的距離)。具體的,響應(yīng)于確定指示了網(wǎng)絡(luò)在高擁擠區(qū)域中的擁擠度量,一些實(shí)施例可以生成使用默認(rèn)規(guī)則引線寬度、默認(rèn)規(guī)則間距或兩者的布線規(guī)則。另一方面,響應(yīng)于確定指示了網(wǎng)絡(luò)并未在高擁擠區(qū)域中的擁擠度量,一些實(shí)施例可以生成一個或多個以下布線規(guī)則:
(1)使用比默認(rèn)規(guī)則引線寬度更寬的引線寬度、比默認(rèn)規(guī)則間距更寬的間距或兩者的布線規(guī)則,(2)使用防止網(wǎng)絡(luò)違反時鐘延遲規(guī)則的引線寬度和/或間距的布線規(guī)則,(3)使用防止網(wǎng)絡(luò)違反串?dāng)_規(guī)則的引線寬度和/或間距的布線規(guī)則,⑷使用防止網(wǎng)絡(luò)違反電迀移規(guī)則的引線寬度和/或間距的布線規(guī)則,和/或(5)使用基于時鐘樹層級的寬度值和間距值的布線規(guī)則,其中在更高時鐘樹層級下使用更大的寬度和間距值。
【附圖說明】
[0006]圖1示出了根據(jù)在此所述一些實(shí)施例的同步電路裝置。
[0007]圖2示出了根據(jù)本發(fā)明的一個實(shí)施例的展現(xiàn)一般布線問題的示例性電路設(shè)計(jì)。
[0008]圖3示出了根據(jù)在此描述的一些實(shí)施例的用于生成非默認(rèn)布線規(guī)則集合以用于在時鐘樹中布線網(wǎng)絡(luò)的方法。
[0009]圖4示出了根據(jù)在此所述一些實(shí)施例的計(jì)算機(jī)系統(tǒng)。
【具體實(shí)施方式】
[0010]展示一些說明書以使得任何本領(lǐng)域技術(shù)人員制造和使用本發(fā)明,并且提供在特定應(yīng)用及其需求的上下文中。對所公開實(shí)施例的各種修改對于本領(lǐng)域技術(shù)人員將是容易明顯的,并且在此限定的普遍原理可以適用于其他實(shí)施例和應(yīng)用而并未脫離本發(fā)明的精神和范圍。因此,本發(fā)明并非限于所示實(shí)施例,而是應(yīng)該符合與在此所公開原理和特征一致的最寬范圍。在本公開中,當(dāng)采用實(shí)體列表使用術(shù)語“和/或”時,其涉及實(shí)體列表的所有可能組合。例如,術(shù)語“X、Y和/或Z”覆蓋了以下情形:(1)僅X;(2)僅Y;(3)僅Z;(4)X和Y;
(5)X和Z;(6)Y和Z;以及(7)X、Y*Z。此外,在本公開中,術(shù)語“基于”意味著“完全或部分基于”。
[0011]電子設(shè)計(jì)自動化mDA)流程的概述
[0012]EDA流程可以用于創(chuàng)建電路設(shè)計(jì)。一旦完成了電路設(shè)計(jì),其可以經(jīng)歷制造、封裝和組裝以產(chǎn)生集成電路芯片。EDA流程可以包括多個步驟,并且每個步驟可以涉及使用一個或多個EDA軟件工具。以下描述一些EDA步驟和軟件工具。這些EDA步驟和軟件工具的示例僅是示意性目的,并且并非意在將實(shí)施例限定為所公開形式。
[0013]一些EDA軟件工具使得電路設(shè)計(jì)者能描述他們希望實(shí)施的功能。這些工具也使得電路設(shè)計(jì)者能執(zhí)行假設(shè)分析計(jì)劃以精煉功能、檢查成本等。在邏輯設(shè)計(jì)和功能驗(yàn)證期間,可以撰寫例如SystemVerilog、用于系統(tǒng)中模塊的代碼的HDL(硬件描述語言),并且可以對于功能檢查設(shè)計(jì),例如可以檢查設(shè)計(jì)以確保其生成正確的輸出。
[0014]在測試的設(shè)計(jì)和綜合期間,HDL代碼可以使用一個或多個EDA軟件工具轉(zhuǎn)換為網(wǎng)表。此外,可以針對目標(biāo)技術(shù)優(yōu)化網(wǎng)表,并且可以設(shè)計(jì)和實(shí)施測試以檢測所完成的芯片。在網(wǎng)表驗(yàn)證期間,可以針對與時序約束的一致性和與HDL代碼的一致性檢查網(wǎng)表。
[0015]在設(shè)計(jì)計(jì)劃期間,可以構(gòu)造針對芯片的整體布局并針對時序和頂層布線進(jìn)行分析。在物理實(shí)施期間,電路元件可以定位在版圖(布局)中并且可以電耦合(布線)。
[0016]在分析和提取期間,可以在晶體管層級驗(yàn)證電路的功能并且可以提取寄生參數(shù)。在物理驗(yàn)證期間,可以檢查設(shè)計(jì)以確保對于制造、電學(xué)問題、光刻問題和電路裝置的正確性。
[0017]在分辨率增強(qiáng)期間,可以對版圖執(zhí)行幾何操縱以改進(jìn)設(shè)計(jì)的可制造性。在掩模數(shù)據(jù)準(zhǔn)備期間,設(shè)計(jì)可以“流片”(taped-out)以生成在制造期間使用的掩模。
[0018]時鐘樹
[0019]同步電路設(shè)計(jì)可以視為經(jīng)由組合邏輯云而電連接的順序電路元件的集合。例如,圖1示出了根據(jù)在此所述一些實(shí)施例的同步電路裝置。電路裝置100包括緩沖器104、106、107和108,順序電路元件110、112、114、116和118,以及組合邏輯云120、122和124。時鐘信號經(jīng)由包括緩沖器104、106、107和108的時鐘樹而從時鐘管腳102分布至順序電路元件110、112、114、116和118。順序電路元件通常是基于時鐘信號執(zhí)行操作的任何元件。例如,觸發(fā)器是順序電路元件。組合邏輯云包括一個或多個組合邏輯門(例如與(AND)門、或(OR)門、非(NOT)門、異或(X0R)門、多路復(fù)用器、多路分解器、緩沖器、中繼器等),但是并未包括任何順序電路元件。
[0020]使用一個或多個時鐘信號對在順序電路元件之間的數(shù)據(jù)傳輸進(jìn)行同步。例如,順序電路元件110可以發(fā)起穿過組合邏輯云120 (可以將信號與其他信號邏輯組合)、并且可以被順序電路兀件118捕獲的彳目號。發(fā)起和捕獲可以基于提供至順序電路兀件110和118的時鐘信號而同步。
[0021]時鐘樹包括將時鐘信號分布至電路設(shè)計(jì)中一個或多個順序電路元件的電路裝置。例如,圖1中所示時鐘樹包括緩沖器104、106、107和108,并且將時鐘管腳102電連接至順序電路元件110、112、114、116和118的時鐘輸入管腳。時鐘域可以涉及使用給定時鐘信號鐘控的一部分電路設(shè)計(jì)。例如,圖1中所示電路裝置100是對應(yīng)于從時鐘管腳102分布的時鐘信號的時鐘域的一部分。電路設(shè)計(jì)可以包括多個時鐘域,并且每個時鐘域可以包括多個時鐘樹。
[0022]布線
[0023]一旦已經(jīng)創(chuàng)建時鐘樹(例如已經(jīng)確定了電連接和緩沖器位置),則必須布線時鐘樹。圖2示出了展示了根據(jù)本發(fā)明實(shí)施例的一般布線問題的示例性電路設(shè)計(jì)。電路設(shè)計(jì)200包括組塊的集合(例如組塊202、204、206、208、210、212、214和216),其可以代表在設(shè)計(jì)分級結(jié)構(gòu)中任何層級處的電路對象。例如,組塊可以是單元、宏、緩沖器,或者在分級結(jié)構(gòu)的任何層級處的任何其他電路對象。
[0024]電路元件(例如緩沖器、順序電路元件等)可以具有一個或多個管腳,并且每個管腳可以被指派至網(wǎng)絡(luò)。對于布線方法或系統(tǒng)的任務(wù)是在電路設(shè)計(jì)中對引線布線,使得被指派至相同網(wǎng)絡(luò)的管腳相互電連接。例如,網(wǎng)絡(luò)220電連接了組塊202、204、206和210中的管腳,以及網(wǎng)絡(luò)218電連接了組塊208、210、212、214和216中的管腳。
[0025]布線方法或系統(tǒng)可以采取多個